Dear Camm, sorry I haven't tried ASDF since you last enhanced GCL with better module support.
I failed to build gcl from git master. On an Ubuntu 14.04 machine, I fail at: (cd o; make all) make[1]: Entering directory `/home/tunes/src/common-lisp/gcl/gcl/o' gcc -c -fsigned-char -pipe -Wall -Wno-unused-but-set-variable -O3 -fomit-frame-pointer -I/home/tunes/src/common-lisp/gcl/gcl/o -I../h -I../gcl-tk typespec.c In file included from ../h/include.h:127:0, from typespec.c:29: ../h/../h/new_decl.h:203:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token DEFUN { ^ make[1]: *** [typespec.o] Error 1 make[1]: Leaving directory `/home/tunes/src/common-lisp/gcl/gcl/o' make: *** [unixport/saved_pre_gcl] Error 2 On an Ubuntu 12.04 machine, I fail in ./configure: add-defs1 amd64-linux using amd64-linux.defs if the 'unknown' directories exist you may provide a second argument to ./add-defs of a local directory where things might be, or edit ./add-defs so that it can find them. Otherwise just continue and the portions with unknown will not be compiled. makedefs:29: *** multiple target patterns. Stop. Otherwise, I suppose ASDF works well enough that you could also include ASDF 3.1.3 in your default modules, though there are still GCL bugs in the ASDF TODO file: *** Another GCL compiler bug: when I changed the definition of getcwd from (let ((*default-pathname-defaults* #p"")) (truename #p"")) to (let ((*default-pathname-defaults* *nil-pathname*)) (truename *nil-pathname*)) to guard against e.g. a logical-pathname context while loading asdf and parsing #p"", calls to getcwd result in a segfault. *** An another bug: gcl refuses dynamic-extent declaration on functions. uiop/stream.lisp: #-gcl (declare (dynamic-extent ,@(when before `(#',beforef)) ,@(when after `(#',afterf)))) *** (typep p 'logical-pathname) should be T if p has a logical-pathname host. *** apropos is case-sensitive and returns a same symbol many times *** compile-file fails to return proper secondary values in case of non-style WARNING. *** (pathname-directory #p"foo/") is incorrectly ("foo") instead of (:RELATIVE "foo") *** Missing: chdir, combine-fasls, and plenty more UIOP functions. *** Do whatever it takes to pass the asdf tests, add the above? *** Have (require "asdf") and (require "ASDF") both work. *** Trying to uiop:slurp-stream-forms from a stream with #+(or) :foo (or read-file-forms from an file with same) results in an error, rather than nil. This is probably a bug in #+ processing. Unhappily, debian creates such a file in /etc/common-lisp/asdf-output-translations.conf.d/01-common-lisp-controller.conf *** Tests that try to catch an error fail (but catching a warning succeeds), which suggests brokenness in handler-bind and/or error. *** `#5(1 ,@`(2 3)))` returns #(1 2 3), rather than #(1 2 3 2 3 2 3 2 3) or even better #(1 2 3 3 3). *** (DIRECTORY #p"*.*") fails to match files with pathname type NIL. *** GCL doesn't properly process files the name of which contains a * *** Low-level compiler bug: ./cl-launch.sh -B redo_test sh gcl exec noupdate noinc file system noinit —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Informal "design patterns" are the crutch of inexpressive programming systems. In a programmable programming system, the only design pattern needed is: use the system to refine and extend the system. _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org https://lists.gnu.org/mailman/listinfo/gcl-devel