Commit ab2e6a12 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

3.0.1.7: tweaks for XCVB: better support CFASL on SBCL, default-encoding.

parent 3b3610a3
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -74,7 +74,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 "3.0.1.6" ;; to be automatically updated by make bump-version
  :version "3.0.1.7" ;; to be automatically updated by make bump-version
  :depends-on ()
  :depends-on ()
  #+asdf3 :encoding #+asdf3 :utf-8
  #+asdf3 :encoding #+asdf3 :utf-8
  ;; For most purposes, asdf itself specially counts as a builtin system.
  ;; For most purposes, asdf itself specially counts as a builtin system.
+1 −1
Original line number Original line Diff line number Diff line
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 3.0.1.6: Another System Definition Facility.
;;; This is ASDF 3.0.1.7: 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>.
+16 −2
Original line number Original line Diff line number Diff line
@@ -570,7 +570,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
                                      #+clisp lib-file #+(or ecl mkcl) object-file
                                      #+clisp lib-file #+(or ecl mkcl) object-file #+sbcl emit-cfasl
                                      &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
@@ -611,12 +611,23 @@ it will filter them appropriately."
             (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))
           #+sbcl
           (cfasl-file (etypecase emit-cfasl
                         (null nil)
                         ((eql t) (make-pathname :type "cfasl" :defaults output-file))
                         (string (parse-namestring emit-cfasl))
                         (pathname emit-cfasl)))
           #+sbcl
           (tmp-cfasl (when cfasl-file (make-pathname :type "cfasl" :defaults tmp-file)))
           #+clisp
           #+clisp
           (tmp-lib (make-pathname :type "lib" :defaults tmp-file)))
           (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)
            (with-muffled-compiler-conditions ()
            (with-muffled-compiler-conditions ()
              (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
                         #+sbcl (if emit-cfasl (list* :emit-cfasl tmp-cfasl keywords) keywords)
                         #-sbcl keywords)
                  #+ecl (apply 'compile-file input-file :output-file
                  #+ecl (apply 'compile-file input-file :output-file
                               (if object-file
                               (if object-file
                                   (list* object-file :system-p t keywords)
                                   (list* object-file :system-p t keywords)
@@ -641,11 +652,14 @@ it will filter them appropriately."
           (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))
             #+clisp (when lib-file (rename-file-overwriting-target tmp-lib lib-file))
             #+sbcl (when cfasl-file (rename-file-overwriting-target tmp-cfasl cfasl-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))
           #+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)
           #+clisp (delete-file-if-exists tmp-lib)
           #+sbcl (delete-file-if-exists tmp-cfasl)
           (setf output-truename nil)))
           (setf output-truename nil)))
        (values output-truename warnings-p failure-p))))
        (values output-truename warnings-p failure-p))))


+1 −1
Original line number Original line Diff line number Diff line
@@ -94,7 +94,7 @@ hopefully, if done consistently, that won't affect program behavior too much.")
and implementation-defined external-format's")
and implementation-defined external-format's")


  (defun encoding-external-format (encoding)
  (defun encoding-external-format (encoding)
    (funcall *encoding-external-format-hook* encoding)))
    (funcall *encoding-external-format-hook* (or encoding *default-encoding*))))




;;; Safe syntax
;;; Safe syntax
+1 −1
Original line number Original line Diff line number Diff line
@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
         ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
         ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
         ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
         ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
         ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
         ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
         (asdf-version "3.0.1.6")
         (asdf-version "3.0.1.7")
         (existing-version (asdf-version)))
         (existing-version (asdf-version)))
    (setf *asdf-version* asdf-version)
    (setf *asdf-version* asdf-version)
    (when (and existing-version (not (equal asdf-version existing-version)))
    (when (and existing-version (not (equal asdf-version existing-version)))
Loading