defsystem+ecl question

Gunter Königsmann gunter at peterpall.de
Sun Oct 28 09:21:16 UTC 2018


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.



More information about the ecl-devel mailing list