diff --git a/asdf.asd b/asdf.asd index 5baa6d7747977505a20a4279f7ca3be312a134f2..31a2225c6e2ffc0a88597e1b741caf67cb03730c 100644 --- a/asdf.asd +++ b/asdf.asd @@ -74,7 +74,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.30.7" ;; to be automatically updated by make bump-version + :version "2.30.8" ;; to be automatically updated by make bump-version :depends-on () #+asdf3 :encoding #+asdf3 :utf-8 ;; For most purposes, asdf itself specially counts as a builtin system. diff --git a/bundle.lisp b/bundle.lisp index b1536a250a33c7dd597a2ab2464347fa3fc1229c..d811530b25242514b77519ac40f7d0a96743e2dc 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -9,7 +9,7 @@ (:export #:bundle-op #:bundle-op-build-args #:bundle-type #:bundle-system #:bundle-pathname-type #:fasl-op #:load-fasl-op #:lib-op #:dll-op #:binary-op - #:monolithic-op #:monolithic-bundle-op #:direct-dependency-files + #:monolithic-op #:monolithic-bundle-op #:bundlable-file-p #:direct-dependency-files #:monolithic-binary-op #:monolithic-fasl-op #:monolithic-lib-op #:monolithic-dll-op #:program-op #:compiled-file #:precompiled-system #:prebuilt-system @@ -168,10 +168,10 @@ (defun bundlable-file-p (pathname) (let ((type (pathname-type pathname))) (declare (ignorable type)) - (or #+ecl (or (equal type (compile-file-type :type :object)) - (equal type (compile-file-type :type :static-library))) - #+mkcl (equal type (compile-file-type :fasl-p nil)) - #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equal type (compile-file-type))))) + (or #+ecl (or (equalp type (compile-file-type :type :object)) + (equalp type (compile-file-type :type :static-library))) + #+mkcl (equalp type (compile-file-type :fasl-p nil)) + #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equalp type (compile-file-type))))) (defgeneric* (trivial-system-p) (component)) @@ -398,8 +398,8 @@ #-(or ecl mkcl) (defmethod perform ((o fasl-op) (c system)) (let* ((input-files (input-files o c)) - (fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test-not #'string=)) - (non-fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test #'string=)) + (fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test-not #'equalp)) + (non-fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test #'equalp)) (output-files (output-files o c)) (output-file (first output-files))) (unless input-files (format t "WTF no input-files for ~S on ~S !???" o c)) @@ -419,6 +419,9 @@ (declare (ignorable o)) (bundle-output-files (find-operation o 'fasl-op) s)) + (defmethod perform ((o load-op) (s precompiled-system)) + (perform-lisp-load-fasl o s)) + (defmethod component-depends-on ((o load-fasl-op) (s precompiled-system)) (declare (ignorable o)) `((load-op ,s) ,@(call-next-method)))) diff --git a/find-system.lisp b/find-system.lisp index b7bdb35cc72ee5e3eae81411ce9bdeedf8f2d174..c224a3a7413ce9634350e9b27ac2f8f02663aa67 100644 --- a/find-system.lisp +++ b/find-system.lisp @@ -234,13 +234,16 @@ Going forward, we recommend new users should be using the source-registry. (defvar *preloaded-systems* (make-hash-table :test 'equal)) + (defun make-preloaded-system (name keys) + (apply 'make-instance (getf keys :class 'system) + :name name :source-file (getf keys :source-file) + (remove-plist-keys '(:class :name :source-file) keys))) + (defun sysdef-preloaded-system-search (requested) (let ((name (coerce-name requested))) (multiple-value-bind (keys foundp) (gethash name *preloaded-systems*) (when foundp - (apply 'make-instance (getf keys :class 'system) - :name name :source-file (getf keys :source-file) - (remove-plist-keys '(:class :name :source-file) keys)))))) + (make-preloaded-system name keys))))) (defun register-preloaded-system (system-name &rest keys) (setf (gethash (coerce-name system-name) *preloaded-systems*) keys)) diff --git a/header.lisp b/header.lisp index 1bf28297c1a1c93a976a0ed988115eaf375950db..fdc3004c62719d25fbcbba0c4707a1239abb8f6e 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- -;;; This is ASDF 2.30.7: Another System Definition Facility. +;;; This is ASDF 2.30.8: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. diff --git a/lisp-action.lisp b/lisp-action.lisp index 77c449ae2d567a1d2a885401ad36818a7c74c44a..453451ba4081d1e7d441851ae758fb70718ba9b2 100644 --- a/lisp-action.lisp +++ b/lisp-action.lisp @@ -106,7 +106,7 @@ "~/asdf-action::format-action/" (list (cons o c)))))) (defun report-file-p (f) - (equal (pathname-type f) "build-report")) + (equalp (pathname-type f) "build-report")) (defun perform-lisp-warnings-check (o c) (let* ((expected-warnings-files (remove-if-not #'warnings-file-p (input-files o c))) (actual-warnings-files (loop :for w :in expected-warnings-files diff --git a/upgrade.lisp b/upgrade.lisp index 35448b2f2a40970f3c5bf5e37b7a767e4e487e35..723d04e285c347870bf5b45bb23bfb2915a9b577 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -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.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 - (asdf-version "2.30.7") + (asdf-version "2.30.8") (existing-version (asdf-version))) (setf *asdf-version* asdf-version) (when (and existing-version (not (equal asdf-version existing-version))) diff --git a/version.lisp-expr b/version.lisp-expr index c742e6b4b2ba16592b450bd9fcd38e597c79a9be..2511bdf391ab34119ad0dd4a89571a56ec4cdd25 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1 +1 @@ -"2.30.7" +"2.30.8"