Dear all,
I am currently trying to make maxima, a computer algebra system written in lisp, support out-of-tree builds:
- The contents of the source tarball is kept in a directory and left completely unmodified and - all files generated during the build are kept in a potentially different directory.
Since 2 of the lisp files containing (defparameter) commands are generated by the build scripts
- the build process is started in the directory the output will end up in - an (mk:add-registry-location "$(top_srcdir)/src/") informs defsystem where to find the source tree and - in maxima.system all files that are in the build tree instead are marked as private-file:
(:module final :source-pathname "" ;; These are not compiled, for whatever reason #-ecl :load-only #-ecl t :components ((:file "autol") (:file "max_ext") :private-file "share-subdirs") (:file "init-cl")))))
This seems to work fine in sbcl, clisp, ecl, openmcl, gcl and cmucl. And with ECL maxima seems to build fine, as well. But when I start a maxima that was compiled with ECL it generates a runtime error that the variables share-subdirs defines are not bound.
I am no defsystem expert, neither a lisp expert so I expect to have done something obviously wrong. But as it works in all other lisps I've tried I hope ecl-devel is the right place to ask at.
Thanks a lot,
and kind regards,
Gunter.