diff --git a/.gitignore b/.gitignore index c397355659c8f6cca46792e91ad4eb2ddf78fd6e..9216362dd69613fe0e8bd6308017267a24386fa2 100644 --- a/.gitignore +++ b/.gitignore @@ -28,9 +28,7 @@ doc/asdf.t2d/ LICENSE tmp/ *.dribble -*.fasl -*.dfsl -*.cfsl +*.fas[bcl] *.fas *.lib *.[oahcisS] diff --git a/Makefile b/Makefile index 37830010aa396cb059ad7298ca919bdaf58ae034..2d7526de32a7b8dd0dbad37d76f0d21b461e76fe 100644 --- a/Makefile +++ b/Makefile @@ -7,10 +7,9 @@ sourceDirectory := $(shell pwd) ifdef ASDF_TEST_LISPS lisps ?= ${ASDF_TEST_LISPS} else -lisps ?= ccl clisp sbcl ecl cmucl abcl scl allegro lispworks +lisps ?= ccl clisp sbcl ecl ecl-bytecodes cmucl abcl scl allegro lispworks endif -## MINOR FAIL: ecl-bytecodes (failure in test-compile-file-failure.script) ## MINOR FAIL: xcl (logical pathname issue in asdf-pathname-test.script) ## OCCASIONALLY TESTED BY NOT ME: allegromodern (not in my free demo version) ## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile. diff --git a/asdf.asd b/asdf.asd index f426c49f4ab86d4eb72fb17be20b450abca7a3fe..c4bc1e46477b9905d86f05e65341ea1016febd2f 100644 --- a/asdf.asd +++ b/asdf.asd @@ -14,7 +14,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.25" ;; to be automatically updated by bin/bump-revision + :version "2.26.26" ;; to be automatically updated by bin/bump-revision :depends-on () :components ((:file "asdf"))) diff --git a/asdf.lisp b/asdf.lisp index 7aa08ea61ae7d2545ec24f42b133c28757760b19..0b94273b8d9ffe49dee3e042258e77edaf2bdb2f 100644 --- a/asdf.lisp +++ b/asdf.lisp @@ -1,5 +1,5 @@ ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*- -;;; This is ASDF 2.26.25: Another System Definition Facility. +;;; This is ASDF 2.26.26: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. @@ -118,7 +118,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.25") + (asdf-version "2.26.26") (existing-asdf (find-class 'component nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -246,36 +246,31 @@ :unintern (#:*asdf-revision* #:around #:asdf-method-combination #:split #:make-collector #:do-dep #:do-one-dep - #:resolve-relative-location-component #:resolve-absolute-location-component - #:traverse-action #:visit-action #:traverse #:loaded-systems ; makes for annoying SLIME completion #:output-files-for-system-and-operation) ; obsolete ASDF-BINARY-LOCATION function :export - (#:defsystem #:oos #:operate #:find-system #:locate-system #:run-shell-command + (#:defsystem #:find-system #:locate-system + #:oos #:operate #:traverse #:perform-plan #:system-definition-pathname #:with-system-definitions #:search-for-system-definition #:find-component #:component-find-path #:compile-system #:load-system #:load-systems #:require-system #:test-system #:clear-system - #:operation #:compile-op #:load-op #:load-source-op #:test-op - #:upward-operation #:downward-operation #:prepare-op #:prepare-source-op - #:parent-component #:child-component - #:feature #:version #:version-satisfies - #:upgrade-asdf + #:operation #:upward-operation #:downward-operation + #:load-op #:prepare-op #:compile-op #:load-fasl-op + #:prepare-source-op #:load-source-op #:test-op + #:feature #:version #:version-satisfies #:upgrade-asdf #:implementation-identifier #:implementation-type #:hostname #:input-files #:output-files #:output-file #:perform #:operation-done-p #:explain #:component-sibling-dependencies - #:component-load-dependencies - - #:component #:source-file - #:c-source-file #:cl-source-file #:java-source-file - #:cl-source-file.cl #:cl-source-file.lsp - #:static-file - #:doc-file - #:html-file - #:text-file + #:component-load-dependencies #:run-shell-command ; deprecated, do not use + #:precompiled-system #:compiled-file + #+ecl #:make-build #+mkcl #:bundle-system + + #:component #:parent-component #:child-component #:system #:module + #:source-file #:c-source-file #:java-source-file + #:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp + #:static-file #:doc-file #:html-file :text-file #:source-file-type - #:module ; components - #:system #:unix-dso #:component-children ; component accessors @@ -373,8 +368,6 @@ #:system-source-registry #:user-source-registry-directory #:system-source-registry-directory - #:load-fasl-op #:precompiled-system #:compiled-file - #+ecl #:make-build #+mkcl #:bundle-system ;; Utilities: please use asdf-utils instead #| @@ -504,8 +497,7 @@ or ASDF:LOAD-SOURCE-OP if your fasl loading is somehow broken.") ((defdef (def* def) `(defmacro ,def* (name formals &rest rest) `(progn - ;;#+(or ecl (and gcl (not gcl-pre2.7))) (fmakunbound ',name) - #-gcl-pre2.7 (fmakunbound ',name) + #+(or ecl (and gcl (not gcl-pre2.7))) (fmakunbound ',name) #-gcl ; gcl 2.7.0 notinline functions lose secondary return values :-( ,(when (and #+ecl (symbolp name)) ; fails for setf functions on ecl `(declaim (notinline ,name))) @@ -1367,12 +1359,6 @@ Returns two values: (children-by-name :reader module-components-by-name ; backwards compatibility :accessor component-children-by-name) - ;; What to do if we can't satisfy a dependency of one of this module's - ;; components. This allows a limited form of conditional processing. - (if-component-dep-fails - :initform :fail - :initarg :if-component-dep-fails - :accessor module-if-component-dep-fails) (default-component-class :initform nil :initarg :default-component-class @@ -2113,7 +2099,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded. o)) (defmethod find-operation ((operation operation) (sub operation)) - (declare (ignore operation)) + (declare (ignorable operation)) sub) (defmethod find-operation ((operation operation) (sub symbol)) @@ -4726,7 +4712,7 @@ with a different configuration, so the configuration would be re-read then." (declare (ignorable o c)) nil) (defmethod input-files (o (c compiled-file)) - (declare (ignore o)) + (declare (ignorable o)) (load (component-pathname c))) (defmethod perform ((o load-op) (c compiled-file)) (declare (ignorable o)) diff --git a/test/test-compile-file-failure.lisp b/test/test-compile-file-failure.lisp index ed9b02eebdde1f89277a292a4b49d50a06960253..5149add01b2adafc2c7de213ff5f769a25dcb184 100644 --- a/test/test-compile-file-failure.lisp +++ b/test/test-compile-file-failure.lisp @@ -1,4 +1,6 @@ (eval-when (:compile-toplevel :load-toplevel :execute) ;; CLISP 2.48 has a bug that makes this test fail. Work around: - #+clisp (when (eq asdf:*compile-file-failure-behaviour* :error) (error 'asdf:compile-error)) + #+(or clisp ecl) (when (and (eq asdf:*compile-file-failure-behaviour* :error) + #+ecl (equal (fasl-type) "fasc")) + (error 'asdf:compile-error :operation "op" :component "comp")) (warn "Warning.")) diff --git a/test/test-weakly-depends-on-present.asd b/test/test-weakly-depends-on-present.asd index e88132fd82e70c36d12e87cc61e7575177e3131d..04c3b55baa413bd05bfb855b4082a73f6c64bcb2 100644 --- a/test/test-weakly-depends-on-present.asd +++ b/test/test-weakly-depends-on-present.asd @@ -1,5 +1,4 @@ (defsystem test-weakly-depends-on-present :weakly-depends-on (file3-only) - :if-component-dep-fails :ignore :components ((:file "file1"))) diff --git a/test/test-weakly-depends-on-unpresent.asd b/test/test-weakly-depends-on-unpresent.asd index ed33034534b6d0965ba6f3c59851b5fbfdf9e8c5..3b5790c24a92652bc5d58b398bc57756cc6921eb 100644 --- a/test/test-weakly-depends-on-unpresent.asd +++ b/test/test-weakly-depends-on-unpresent.asd @@ -1,5 +1,3 @@ (defsystem test-weakly-depends-on-unpresent :weakly-depends-on (does-not-exist) - :if-component-dep-fails :ignore :components ((:file "file1"))) -