Commit bf7fb395 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.141: add support for clisp's .lib files.

They seem to be like .cfasl in SBCL.
parent 7e917a9a
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
:licence "MIT" :licence "MIT"
:description "Another System Definition Facility" :description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems." :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 () :depends-on ()
:components ((:module "build" :components ((:file "asdf")))) :components ((:module "build" :components ((:file "asdf"))))
:in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem)))) :in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
......
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- ;; -*- 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: ;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>. ;;; please mail to <asdf-devel@common-lisp.net>.
......
...@@ -81,7 +81,11 @@ ...@@ -81,7 +81,11 @@
(outputs (output-files o c))) (outputs (output-files o c)))
(multiple-value-bind (output warnings-p failure-p) (multiple-value-bind (output warnings-p failure-p)
(destructuring-bind (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 (call-with-around-compile-hook
c #'(lambda (&rest flags) c #'(lambda (&rest flags)
(with-muffled-compiler-conditions () (with-muffled-compiler-conditions ()
...@@ -89,6 +93,7 @@ ...@@ -89,6 +93,7 @@
:output-file output-file :output-file output-file
:external-format (component-external-format c) :external-format (component-external-format c)
(append (append
#+clisp (list :lib-file lib-file)
#+(or ecl mkcl) (list :object-file object-file) #+(or ecl mkcl) (list :object-file object-file)
#+(or clozure sbcl) (list :warnings-file warnings-file) #+(or clozure sbcl) (list :warnings-file warnings-file)
flags (compile-op-flags o))))))) flags (compile-op-flags o)))))))
...@@ -114,6 +119,8 @@ ...@@ -114,6 +119,8 @@
(f (compile-file-pathname (f (compile-file-pathname
i #+mkcl :fasl-p #+mkcl t #+ecl :type #+ecl :fasl))) i #+mkcl :fasl-p #+mkcl t #+ecl :type #+ecl :fasl)))
`(,f ;; the fasl is the primary output, in first position `(,f ;; the fasl is the primary output, in first position
#+clisp
,@`(,(make-pathname :type "lib" :defaults f))
#+(or clozure sbcl) #+(or clozure sbcl)
,@(let ((s (component-system c))) ,@(let ((s (component-system c)))
(unless (builtin-system-p s) ; includes ASDF itself (unless (builtin-system-p s) ; includes ASDF itself
......
...@@ -430,7 +430,7 @@ possibly in a different process. Otherwise just run the BODY." ...@@ -430,7 +430,7 @@ possibly in a different process. Otherwise just run the BODY."
(defun* (compile-file*) (input-file &rest keys (defun* (compile-file*) (input-file &rest keys
&key compile-check output-file warnings-file &key compile-check output-file warnings-file
#+(or ecl mkcl) object-file #+clisp lib-file #+(or ecl mkcl) object-file
&allow-other-keys) &allow-other-keys)
"This function provides a portable wrapper around COMPILE-FILE. "This function provides a portable wrapper around COMPILE-FILE.
It ensures that the OUTPUT-FILE value is only returned and It ensures that the OUTPUT-FILE value is only returned and
...@@ -455,7 +455,8 @@ it will filter them appropriately." ...@@ -455,7 +455,8 @@ it will filter them appropriately."
'compile-file* output-file object-file) 'compile-file* output-file object-file)
(rotatef output-file object-file)) (rotatef output-file object-file))
(let* ((keywords (remove-plist-keys (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)) #+gcl<2.7 ,@'(:external-format :print :verbose)) keys))
(output-file (output-file
(or output-file (or output-file
...@@ -469,7 +470,9 @@ it will filter them appropriately." ...@@ -469,7 +470,9 @@ it will filter them appropriately."
(object-file (object-file
(or object-file (or object-file
(compile-file-pathname output-file :fasl-p nil))) (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) (multiple-value-bind (output-truename warnings-p failure-p)
(with-saved-deferred-warnings (warnings-file) (with-saved-deferred-warnings (warnings-file)
(or #-(or ecl mkcl) (apply 'compile-file input-file :output-file tmp-file keywords) (or #-(or ecl mkcl) (apply 'compile-file input-file :output-file tmp-file keywords)
...@@ -496,8 +499,10 @@ it will filter them appropriately." ...@@ -496,8 +499,10 @@ it will filter them appropriately."
(apply compile-check input-file :output-file tmp-file keywords)))) (apply compile-check input-file :output-file tmp-file keywords))))
(delete-file-if-exists output-file) (delete-file-if-exists output-file)
(when output-truename (when output-truename
#+clisp (when lib-file (rename-file-overwriting-target tmp-lib lib-file))
(rename-file-overwriting-target output-truename output-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 (t ;; error or failed check
(delete-file-if-exists output-truename) (delete-file-if-exists output-truename)
(setf output-truename nil))) (setf output-truename nil)))
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
;; "2.345.6" would be a development version in the official upstream ;; "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.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 ;; "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-asdf (find-class (find-symbol* :component :asdf nil) nil))
(existing-version *asdf-version*) (existing-version *asdf-version*)
(already-there (equal asdf-version existing-version)) (already-there (equal asdf-version existing-version))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment