Skip to content
Snippets Groups Projects
Commit dfd6b4af authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

1.718: add module provider hook for CMUCL, ECL.

Cleanup a few methods on ECL (moderately tested with cl-launch).
parent 9d0f83b7
No related branches found
No related tags found
No related merge requests found
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
:test 'equalp :key 'car)) :test 'equalp :key 'car))
(let* ((asdf-version (let* ((asdf-version
;; the 1+ helps the version bumping script discriminate ;; 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)) (existing-asdf (find-package :asdf))
(vername '#:*asdf-version*) (vername '#:*asdf-version*)
(versym (and existing-asdf (versym (and existing-asdf
...@@ -1661,9 +1661,10 @@ recursive calls to traverse.") ...@@ -1661,9 +1661,10 @@ recursive calls to traverse.")
(defmethod perform :after ((o compile-op) (c cl-source-file)) (defmethod perform :after ((o compile-op) (c cl-source-file))
;; Note how we use OUTPUT-FILES to find the binary locations ;; Note how we use OUTPUT-FILES to find the binary locations
;; This allows the user to override the names. ;; This allows the user to override the names.
(let* ((input (output-files o c)) (let* ((files (output-files o c))
(output (compile-file-pathname (lispize-pathname (first input)) :type :fasl))) (object (first files))
(c:build-fasl output :lisp-files (remove "fas" input :key #'pathname-type :test #'string=)))) (fasl (second files)))
(c:build-fasl fasl :lisp-files (list object))))
(defmethod perform :after ((operation operation) (c component)) (defmethod perform :after ((operation operation) (c component))
(setf (gethash (type-of operation) (component-operation-times c)) (setf (gethash (type-of operation) (component-operation-times c))
...@@ -1699,8 +1700,7 @@ recursive calls to traverse.") ...@@ -1699,8 +1700,7 @@ recursive calls to traverse.")
(declare (ignorable operation)) (declare (ignorable operation))
(let ((p (lispize-pathname (component-pathname c)))) (let ((p (lispize-pathname (component-pathname c))))
#-:broken-fasl-loader #-:broken-fasl-loader
(list #-ecl (compile-file-pathname p) (list (compile-file-pathname p #+ecl :type #+ecl :object)
#+ecl (compile-file-pathname p :type :object)
#+ecl (compile-file-pathname p :type :fasl)) #+ecl (compile-file-pathname p :type :fasl))
#+:broken-fasl-loader (list p))) #+:broken-fasl-loader (list p)))
...@@ -3281,9 +3281,9 @@ with a different configuration, so the configuration would be re-read then." ...@@ -3281,9 +3281,9 @@ with a different configuration, so the configuration would be re-read then."
(initialize-source-registry))) (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 (progn
(defun module-provide-asdf (name) (defun module-provide-asdf (name)
(handler-bind (handler-bind
...@@ -3298,9 +3298,11 @@ with a different configuration, so the configuration would be re-read then." ...@@ -3298,9 +3298,11 @@ with a different configuration, so the configuration would be re-read then."
(load-system name) (load-system name)
t)))) t))))
(pushnew 'module-provide-asdf (pushnew 'module-provide-asdf
#+sbcl sb-ext:*module-provider-functions* #+abcl sys::*module-provider-functions*
#+clozure ccl::*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. ;;;; Cleanups after hot-upgrade.
......
...@@ -552,7 +552,7 @@ by evaluating the following Lisp form: ...@@ -552,7 +552,7 @@ by evaluating the following Lisp form:
(asdf:load-system :@var{foo}) (asdf:load-system :@var{foo})
@end example @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 ASDF hooks into the @code{CL:REQUIRE} facility
and you can just use: and you can just use:
...@@ -2788,7 +2788,7 @@ if you allow such configuration. ...@@ -2788,7 +2788,7 @@ if you allow such configuration.
@item @item
If your system provides a mechanism to hook into @code{CL:REQUIRE}, 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 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 @item
You may, like SBCL, have ASDF be implicitly used to require systems You may, like SBCL, have ASDF be implicitly used to require systems
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment