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 @@
: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))))
......
;; -*- 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>.
......
......@@ -81,7 +81,11 @@
(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)))))))
......@@ -114,6 +119,8 @@
(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
......
......@@ -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)))
......
......@@ -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))
......
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