From 4333ab3145c0340d4e46c2b5c6fef937f59fea3a Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Mon, 1 Sep 2014 13:52:01 -0400 Subject: [PATCH] Tell image-op (and program-op) about MKCL providing UIOP separately from ASDF. --- bundle.lisp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/bundle.lisp b/bundle.lisp index 222d0e56..f09d0e94 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -470,6 +470,11 @@ itself.")) ;; operation on a system and its dependencies ;;(unless (or #+ecl (use-ecl-byte-compiler-p)) ;; (setf *load-system-operation* 'load-bundle-op)) + (defun uiop-library-pathname () + #+ecl (or (probe-file* (compile-file-pathname "sys:uiop" :type :lib)) ;; new style + (probe-file* (compile-file-pathname "sys:uiop" :type :object))) ;; old style + #+mkcl (make-pathname :type (bundle-pathname-type :lib) :defaults #p"sys:contrib;uiop")) + (defun asdf-library-pathname () #+ecl (or (probe-file* (compile-file-pathname "sys:asdf" :type :lib)) ;; new style (probe-file* (compile-file-pathname "sys:asdf" :type :object))) ;; old style @@ -491,10 +496,12 @@ itself.")) ;; operation on a system and its dependencies `(,(make-library-system "cmp" (compiler-library-pathname)))) ,@(unless (or (no-uiop c) (has-it-p "uiop") (has-it-p "asdf")) - `(,(cond - ((system-source-directory :uiop) (find-system :uiop)) - ((system-source-directory :asdf) (find-system :asdf)) - (t (make-library-system "asdf" (asdf-library-pathname)))))) + `(cond + ((system-source-directory :uiop) `(,(find-system :uiop))) + ((system-source-directory :asdf) `(,(find-system :asdf))) + (t `(,@(if-let (uiop (uiop-library-pathname)) + `(,(make-library-system "uiop" uiop))) + ,(make-library-system "asdf" (asdf-library-pathname)))))) ,@deps))))) (defmethod perform ((o link-op) (c system)) -- GitLab