diff --git a/asdf.lisp b/asdf.lisp index 1fa7f247a08dab4eb57b3dd3fe29dee2b3e82f7c..6351bbcf1b1c36943f1456ef40775c1a88877cbf 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -70,7 +70,7 @@ :test 'equalp :key 'car)) (let* ((asdf-version ;; the 1+ helps the version bumping script discriminate - (subseq "VERSION:1.717" (1+ (length "VERSION")))) + (subseq "VERSION:1.718" (1+ (length "VERSION")))) (existing-asdf (find-package :asdf)) (vername '#:*asdf-version*) (versym (and existing-asdf @@ -1661,9 +1661,10 @@ recursive calls to traverse.") (defmethod perform :after ((o compile-op) (c cl-source-file)) ;; Note how we use OUTPUT-FILES to find the binary locations ;; This allows the user to override the names. - (let* ((input (output-files o c)) - (output (compile-file-pathname (lispize-pathname (first input)) :type :fasl))) - (c:build-fasl output :lisp-files (remove "fas" input :key #'pathname-type :test #'string=)))) + (let* ((files (output-files o c)) + (object (first files)) + (fasl (second files))) + (c:build-fasl fasl :lisp-files (list object)))) (defmethod perform :after ((operation operation) (c component)) (setf (gethash (type-of operation) (component-operation-times c)) @@ -1699,8 +1700,7 @@ recursive calls to traverse.") (declare (ignorable operation)) (let ((p (lispize-pathname (component-pathname c)))) #-:broken-fasl-loader - (list #-ecl (compile-file-pathname p) - #+ecl (compile-file-pathname p :type :object) + (list (compile-file-pathname p #+ecl :type #+ecl :object) #+ecl (compile-file-pathname p :type :fasl)) #+:broken-fasl-loader (list p))) @@ -3281,9 +3281,9 @@ with a different configuration, so the configuration would be re-read then." (initialize-source-registry))) ;;;; ----------------------------------------------------------------- -;;;; Hook into REQUIRE for SBCL, ClozureCL and ABCL +;;;; Hook into REQUIRE for ABCL, ClozureCL, CMUCL, ECL and SBCL ;;;; -#+(or sbcl clozure abcl) +#+(or abcl clozure cmu ecl sbcl) (progn (defun module-provide-asdf (name) (handler-bind @@ -3298,9 +3298,11 @@ with a different configuration, so the configuration would be re-read then." (load-system name) t)))) (pushnew 'module-provide-asdf - #+sbcl sb-ext:*module-provider-functions* + #+abcl sys::*module-provider-functions* #+clozure ccl::*module-provider-functions* - #+abcl sys::*module-provider-functions*)) + #+cmu ext:*module-provider-functions* + #+ecl si:*module-provider-functions* + #+sbcl sb-ext:*module-provider-functions*)) ;;;; ------------------------------------------------------------------------- ;;;; Cleanups after hot-upgrade. diff --git a/doc/asdf.texinfo b/doc/asdf.texinfo index 1b9aea2e1cbe1a2c7796b75f091cfa903177b263..0aa0b363a6c57e7b07d59d4a727f4b6d1cd8e4aa 100644 --- a/doc/asdf.texinfo +++ b/doc/asdf.texinfo @@ -552,7 +552,7 @@ by evaluating the following Lisp form: (asdf:load-system :@var{foo}) @end example -On some implementations (namely ABCL, Clozure CL and SBCL), +On some implementations (namely ABCL, Clozure CL, CMUCL, ECL and SBCL), ASDF hooks into the @code{CL:REQUIRE} facility and you can just use: @@ -2788,7 +2788,7 @@ if you allow such configuration. @item If your system provides a mechanism to hook into @code{CL:REQUIRE}, then it would be nice to add ASDF to this hook the same way that -SBCL, CCL and ABCL do it. +ABCL, CCL, CMUCL, ECL and SBCL do it. @item You may, like SBCL, have ASDF be implicitly used to require systems