Commit 52187bfe authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.44: work around ECL bug in update-instance-for-redefined-class.

Found this bug during ASDF upgrade tests.
Add ecl_bytecodes to the upgrade test regimes.
Rename it from ecl-bytecodes to work with stupid Bourne shell.
Add xcl to test regime.
parent 3b427f79
......@@ -7,10 +7,9 @@ sourceDirectory := $(shell pwd)
ifdef ASDF_TEST_LISPS
lisps ?= ${ASDF_TEST_LISPS}
else
lisps ?= ccl clisp sbcl ecl ecl-bytecodes cmucl abcl scl allegro lispworks allegromodern
lisps ?= ccl clisp sbcl ecl ecl_bytecodes cmucl abcl scl allegro lispworks allegromodern xcl
endif
## MINOR FAIL: xcl (logical pathname issue in asdf-pathname-test.script)
## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile.
## NOT SUPPORTED BY OUR TESTS: cormancl genera lispworks-personal-edition mkcl rmcl. Manually tested once in a while.
......@@ -91,6 +90,7 @@ test-upgrade:
use_clisp () { li="${CLISP} -norc -ansi --quiet --quiet" ; ev="-x" ; } ; \
use_sbcl () { li="${SBCL} --noinform --no-userinit" ; ev="--eval" ; } ; \
use_ecl () { li="${ECL} -norc" ; ev="-eval" ; } ; \
use_ecl_bytecodes () { li="${ECL} -norc -eval (ext::install-bytecodes-compiler)" ; ev="-eval" ; } ; \
use_mkcl () { li="${MKCL} -norc" ; ev="-eval" ; } ; \
use_cmucl () { li="${CMUCL} -noinit" ; ev="-eval" ; } ; \
use_abcl () { li="${ABCL} --noinit --nosystem --noinform" ; ev="--eval" ; } ; \
......@@ -115,12 +115,12 @@ test-upgrade:
: Skip, because ccl broke old asdf ;; \
cmucl:1.*|cmucl:2.00*|cmucl:2.01[0-4]:*) \
: Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade ;; \
ecl:1.*|ecl:2.0[01]*|ecl:2.20:*) \
ecl*:1.*|ecl*:2.0[01]*|ecl*:2.20:*) \
: Skip, because of various ASDF issues ;; \
mkcl:1.*|mkcl:2.0[01]*|mkcl:2.2[0-3]:*) \
: Skip, because MKCL is only supported starting with 2.24 ;; \
xcl:1.*|xcl:2.00*|xcl:2.01[0-4]:*) \
: Skip, because it is slow and XCL comes with 2.014.2 ;; \
: XCL support starts with ASDF 2.014.2 ;; \
*) (set -x ; \
case $$x in \
load-system) l="$$lo (asdf-test::load-asdf-system)" ;; \
......@@ -157,7 +157,6 @@ test-all-upgrade:
${MAKE} test-upgrade lisp=$$lisp || exit 1 ; \
done
test-all: test-forward-references doc test-all-lisps
# Note that the debian git at git://git.debian.org/git/pkg-common-lisp/cl-asdf.git is stale,
......
......@@ -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.43" ;; to be automatically updated by bin/bump-revision
:version "2.26.44" ;; to be automatically updated by bin/bump-revision
:depends-on ()
:components
((:file "asdf")))
......
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
;;; This is ASDF 2.26.43: Another System Definition Facility.
;;; This is ASDF 2.26.44: 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.43")
(asdf-version "2.26.44")
(existing-asdf (find-class 'component nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version)))
......@@ -1233,7 +1233,10 @@ Returns two values:
((m module) added deleted plist &key)
(declare (ignorable m added deleted plist))
(when (and (member 'children added) (member 'components deleted))
(setf (slot-value m 'children) (getf plist 'components))
(setf (slot-value m 'children)
;; old ECLs provide an alist instead of a plist(!)
(if (or #+ecl (consp (first plist))) (or #+ecl (cdr (assoc 'components plist)))
(getf plist 'components)))
(compute-children-by-name m))
(when (typep m 'system)
(when (member 'source-file added)
......
......@@ -139,7 +139,7 @@ case "$lisp" in
command="${ECL:-ecl}"
flags="-norc -load sys:cmp"
eval="-eval" ;;
ecl-bytecodes)
ecl_bytecodes)
command="${ECL:-ecl}"
flags="-norc -eval (ext::install-bytecodes-compiler)"
eval="-eval" ;;
......
......@@ -14,6 +14,7 @@
(when (find-package :test-package) (delete-package :test-package))
(asdf:defsystem :test-bundle-1 :components ((:file "file1") (:file "file3")))
(asdf:defsystem :test-bundle-2 :depends-on (:test-bundle-1) :components ((:file "file2")))
#-(and ecl ecl-bytecmp)
(let* ((op (make-instance 'asdf::fasl-op))
(bundle-1 (asdf:output-file op (find-system :test-bundle-1)))
(bundle-2 (asdf:output-file op (find-system :test-bundle-2))))
......
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