2.26.141: add support for clisp's .lib files.
authorFrancois-Rene Rideau <tunes@google.com>
Tue, 22 Jan 2013 03:07:32 +0000 (22:07 -0500)
committerFrancois-Rene Rideau <tunes@google.com>
Tue, 22 Jan 2013 03:07:32 +0000 (22:07 -0500)
They seem to be like .cfasl in SBCL.

asdf.asd
header.lisp
lisp-action.lisp
lisp-build.lisp
upgrade.lisp
version.lisp-expr

index 8d765b4..0b8694d 100644 (file)
--- a/asdf.asd
+++ b/asdf.asd
@@ -15,7 +15,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.140" ;; to be automatically updated by make bump-version
+  :version "2.26.141" ;; to be automatically updated by make bump-version
   :depends-on ()
   :components ((:module "build" :components ((:file "asdf"))))
   :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
index 61d773d..5f41557 100644 (file)
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.140: Another System Definition Facility.
+;;; This is ASDF 2.26.141: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
index 557d8ad..f986ba7 100644 (file)
         (outputs (output-files o c)))
     (multiple-value-bind (output warnings-p failure-p)
         (destructuring-bind
-            (output-file &optional #+(or ecl mkcl) object-file #+(or clozure sbcl) warnings-file) outputs
+            (output-file
+             &optional
+               #+clisp lib-file
+               #+(or ecl mkcl) object-file
+               #+(or clozure sbcl) warnings-file) outputs
           (call-with-around-compile-hook
            c #'(lambda (&rest flags)
                  (with-muffled-compiler-conditions ()
@@ -89,6 +93,7 @@
                           :output-file output-file
                           :external-format (component-external-format c)
                       (append
+                       #+clisp (list :lib-file lib-file)
                        #+(or ecl mkcl) (list :object-file object-file)
                        #+(or clozure sbcl) (list :warnings-file warnings-file)
                        flags (compile-op-flags o)))))))
          (f (compile-file-pathname
              i #+mkcl :fasl-p #+mkcl t #+ecl :type #+ecl :fasl)))
     `(,f ;; the fasl is the primary output, in first position
+      #+clisp
+      ,@`(,(make-pathname :type "lib" :defaults f))
       #+(or clozure sbcl)
       ,@(let ((s (component-system c)))
           (unless (builtin-system-p s) ; includes ASDF itself
index 3899612..2bbc38b 100644 (file)
@@ -430,7 +430,7 @@ possibly in a different process. Otherwise just run the BODY."
 
 (defun* (compile-file*) (input-file &rest keys
                                     &key compile-check output-file warnings-file
-                                    #+(or ecl mkcl) object-file
+                                    #+clisp lib-file #+(or ecl mkcl) object-file
                                     &allow-other-keys)
   "This function provides a portable wrapper around COMPILE-FILE.
 It ensures that the OUTPUT-FILE value is only returned and
@@ -455,7 +455,8 @@ it will filter them appropriately."
                   'compile-file* output-file object-file)
           (rotatef output-file object-file))
   (let* ((keywords (remove-plist-keys
-                    `(:compile-check :warnings-file #+(or ecl mkcl) :object-file :output-file
+                    `(:output-file :compile-check :warnings-file
+                      #+clisp :lib-file #+(or ecl mkcl) :object-file
                       #+gcl<2.7 ,@'(:external-format :print :verbose)) keys))
          (output-file
            (or output-file
@@ -469,7 +470,9 @@ it will filter them appropriately."
          (object-file
            (or object-file
                (compile-file-pathname output-file :fasl-p nil)))
-         (tmp-file (tmpize-pathname output-file)))
+         (tmp-file (tmpize-pathname output-file))
+         #+clisp
+         (tmp-lib (make-pathname :type "lib" :defaults tmp-file)))
     (multiple-value-bind (output-truename warnings-p failure-p)
         (with-saved-deferred-warnings (warnings-file)
           (or #-(or ecl mkcl) (apply 'compile-file input-file :output-file tmp-file keywords)
@@ -496,8 +499,10 @@ it will filter them appropriately."
                     (apply compile-check input-file :output-file tmp-file keywords))))
          (delete-file-if-exists output-file)
          (when output-truename
+           #+clisp (when lib-file (rename-file-overwriting-target tmp-lib lib-file))
            (rename-file-overwriting-target output-truename output-file)
-           (setf output-truename (truename output-file))))
+           (setf output-truename (truename output-file)))
+         #+clisp (delete-file-if-exists tmp-lib))
         (t ;; error or failed check
          (delete-file-if-exists output-truename)
          (setf output-truename nil)))
index 29c6059..55a5eaf 100644 (file)
@@ -35,7 +35,7 @@
          ;; "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.26.140")
+         (asdf-version "2.26.141")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version))
index 77372ea..7123b6d 100644 (file)
@@ -1 +1 @@
-"2.26.140"
+"2.26.141"