diff --git a/src/CHANGELOG b/src/CHANGELOG index 64ed4db68..9022dc89f 100755 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -98,6 +98,11 @@ ECL 10.5.1: - (EXPT 2 -2.0d0) is now computed in double precision. + - When building programs with ASDF:MAKE-BUILD, "prebuilt-asdf" may be listed + in the dependencies, as the last one, so that ASDF is linked in. It is + required by some packages that do not distinguish between compilation and + distribution. + ;;; Local Variables: *** ;;; mode:text *** ;;; fill-column:79 *** diff --git a/src/bare.lsp.in b/src/bare.lsp.in index 8090f9acd..4d9bca0ca 100644 --- a/src/bare.lsp.in +++ b/src/bare.lsp.in @@ -140,14 +140,14 @@ (make-package "ASDF") -(defun build-fake-asdf (name) +(defun build-fake-asdf (name &optional (filename (string name))) (let ((path (make-pathname :name name :type "asd"))) (with-open-file (*standard-output* path :direction :output :if-exists :supersede :if-does-not-exist :create) - (print `(defsystem ,name :class asdf::prebuilt-system - :lib ,(format nil "SYS:~A" (string name)) - :components ((:compiled-file ,(string name)))))) + (print `(defsystem ,name :class asdf::prebuilt-system + :lib ,(format nil "SYS:~A" filename) + :components ((:compiled-file ,filename))))) path)) (defun build-module (name sources &key additional-files diff --git a/src/compile.lsp.in b/src/compile.lsp.in index 9d30b5861..b0cb92f01 100755 --- a/src/compile.lsp.in +++ b/src/compile.lsp.in @@ -174,6 +174,8 @@ :dir "build:ext;" :prefix "EXT" :builtin #+:BUILTIN-ASDF t #-:BUILTIN-ASDF nil) +(push (build-fake-asdf "prebuilt-asdf" "asdf") + *module-files*) ;;; ;;; * PROFILE