2.23.1: merge with asdf-ecl from ECL 2012-07-08,
authorFrancois-Rene Rideau <tunes@google.com>
Tue, 24 Jul 2012 21:26:47 +0000 (17:26 -0400)
committerFrancois-Rene Rideau <tunes@google.com>
Tue, 24 Jul 2012 21:26:47 +0000 (17:26 -0400)
modulo remarks sent on the mailing-list.

asdf-ecl.lisp
asdf.asd
asdf.lisp

index cdf6166..5242a82 100644 (file)
@@ -36,7 +36,9 @@
   ((type :reader bundle-op-type)
    (monolithic :initform nil :reader bundle-op-monolithic-p)
    (name-suffix :initarg :name-suffix :initform nil)
-   (build-args :initarg :args :initform nil :accessor bundle-op-build-args)))
+   (build-args :initarg :args :initform nil :accessor bundle-op-build-args)
+   (lisp-files :initform nil :accessor bundle-op-lisp-files)))
+
 
 (defclass fasl-op (bundle-op)
   ((type :initform :fasl)))
           (if (bundle-op-monolithic-p instance) "-mono" "")))
   (when (typep instance 'monolithic-bundle-op)
     (destructuring-bind (&rest original-initargs
-                         &key prologue-code epilogue-code &allow-other-keys)
+                        &key lisp-files prologue-code epilogue-code
+                        &allow-other-keys)
         (slot-value instance 'original-initargs)
       (setf (slot-value instance 'original-initargs)
-            (remove-keys '(epilogue-code prologue-code) original-initargs)
+            (remove-keys '(lisp-files epilogue-code prologue-code) original-initargs)
+            (bundle-op-lisp-files instance) lisp-files
             (monolithic-op-prologue-code instance) prologue-code
             (monolithic-op-epilogue-code instance) epilogue-code)))
   (setf (bundle-op-build-args instance)
                                :key #'pathname-type :test #'string=))
          (output (output-files o c)))
     (ensure-directories-exist (first output))
-    (apply #'c::builder (bundle-op-type o) (first output) :lisp-files object-files
+    (apply #'c::builder (bundle-op-type o) (first output)
+          :lisp-files (append object-files (bundle-op-lisp-files o))
            (append (bundle-op-build-args o)
                    (when (and (typep o 'monolithic-bundle-op)
                               (monolithic-op-prologue-code o))
 ;;; form. Only useful when the dependencies have also been precompiled.
 ;;;
 
-(defclass compiled-file (component) ())
-(defmethod component-relative-pathname ((component compiled-file))
-  (compile-file-pathname
-   (coerce-pathname
-    (or (slot-value component 'relative-pathname)
-        (component-name component))
-    :type "fas")))
+(defclass compiled-file (component)
+  ((type :initform nil)))
 
 (defmethod output-files (o (c compiled-file))
   (declare (ignore o c))
 
 (defmethod output-files ((o lib-op) (c prebuilt-system))
   (declare (ignore o))
-  (values (list (compile-file-pathname (prebuilt-system-static-library c)
-                                       :type :lib))
-          t ; Advertise that we do not want this path renamed
-          ))
+  (values (list (prebuilt-system-static-library c))
+          t)) ; Advertise that we do not want this path renamed
 
 (defmethod perform ((o lib-op) (c prebuilt-system))
   (car (output-files o c)))
 (push '("fasb" . si::load-binary) ext:*load-hooks*)
 
 (defun register-pre-built-system (name)
-  (register-system (make-instance 'system :name name :source-file nil)))
+  (register-system (make-instance 'system :name (coerce-name name) :source-file nil)))
 
 (setf ext:*module-provider-functions*
       (loop :for f :in ext:*module-provider-functions*
                      (let ((l (multiple-value-list (funcall f name))))
                        (and (first l) (register-pre-built-system name))
                        (values-list l)))))
-#+win32 (push '("asd" . si::load-source) ext:*load-hooks*)
+#+win32
+(unless (assoc "asd" ext:*load-hooks* :test 'equal)
+  (appendf ext:*load-hooks* '(("asd" . si::load-source))))
+
index 1673efe..bddbdf9 100644 (file)
--- a/asdf.asd
+++ b/asdf.asd
@@ -14,7 +14,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.23" ;; to be automatically updated by bin/bump-revision
+  :version "2.23.1" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components
   ((:file "asdf")
index 263bb5e..b063447 100644 (file)
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.23: Another System Definition Facility.
+;;; This is ASDF 2.23.1: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.23")
+         (asdf-version "2.23.1")
          (existing-asdf (find-class 'component nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))