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.