Commit db1cebf7 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.146: restore W-C-U around perform-plan for backward compatibility.

Also, move entry-point into system and remove class bundle-system.
I was tempted to have test-op call it, but then it's a problem
when the base system has a non-test entry-point, so we probably need
a separate test-entry-point slot.

Update the default *asdf-debug-utility* to do more of the right thing.

Update changelog.

Tweak package to avoid triggering a bug in ABCL trunk.
parent c2c17558
......@@ -14,6 +14,7 @@ that you can't portably construct a complete program without using them."
:around-compile call-without-redefinition-warnings
:components
((:static-file "version.lisp-expr")
(:static-file "contrib/debug.lisp")
(:file "package")
(:file "common-lisp" :depends-on ("package"))
(:file "utility" :depends-on ("common-lisp"))
......
......@@ -59,7 +59,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.26.145" ;; to be automatically updated by make bump-version
:version "2.26.146" ;; to be automatically updated by make bump-version
:depends-on ()
:components
((:module "build"
......
......@@ -17,8 +17,7 @@
#:user-system-p #:user-system #:trivial-system-p
#+ecl #:make-build
#:register-pre-built-system
#:build-args #:name-suffix #:prologue-code #:epilogue-code #:static-library
#:component-entry-point #:entry-point))
#:build-args #:name-suffix #:prologue-code #:epilogue-code #:static-library))
(in-package :asdf/bundle)
(defclass bundle-op (operation)
......@@ -77,16 +76,6 @@
;; All: create an executable file from the system and its dependencies
((bundle-type :initform :program)))
(defgeneric* component-entry-point (component))
(defmethod component-entry-point ((c component))
(declare (ignorable c))
nil)
(defclass bundle-system (system)
((entry-point
:initform nil :initarg :entry-point :accessor component-entry-point)))
(defun* bundle-pathname-type (bundle-type)
(etypecase bundle-type
((eql :no-output-file) nil) ;; should we error out instead?
......
This diff is collapsed.
......@@ -10,10 +10,6 @@
:asdf/backward-internals :asdf/defsystem :asdf/backward-interface))
(in-package :asdf/footer)
;;;; Configure
(setf asdf/utility:*asdf-debug-utility*
'(asdf/system:system-relative-pathname :asdf "contrib/debug.lisp"))
;;;; Hook ASDF into the implementation's REQUIRE and other entry points.
#+(or abcl clisp clozure cmu ecl mkcl sbcl)
......
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.26.145: Another System Definition Facility.
;;; This is ASDF 2.26.146: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
......@@ -345,7 +345,7 @@ or when loading the package is optional."
import-from export intern
recycle mix reexport
unintern)
(declare (ignorable documentation))
#+(or gcl2.6 genera) (declare (ignore documentation))
(macrolet ((when-fishy (&body body) `(when-package-fishiness ,@body))
(fishy (&rest info) `(note-package-fishiness ,@info)))
(let* ((package-name (string name))
......@@ -514,7 +514,8 @@ or when loading the package is optional."
t)))))
(when (and accessible (eq ustat :external))
(ensure-exported name sym u)))))))
#-(or gcl genera) (setf (documentation package t) documentation) #+gcl documentation
#-(or gcl2.6 genera)
(when documentation (setf (documentation package t) documentation))
(loop :for p :in (set-difference (package-use-list package) (append mix use))
:do (fishy :use (package-names p)) (unuse-package p package))
(loop :for p :in discarded
......@@ -630,7 +631,6 @@ or when loading the package is optional."
(setf excl::*autoload-package-name-alist*
(remove "asdf" excl::*autoload-package-name-alist*
:test 'equalp :key 'car))
#+gcl
;; Debian's GCL 2.7 has bugs with compiling multiple-value stuff,
;; but can run ASDF 2.011. GCL 2.6 has even more issues.
......
......@@ -377,12 +377,16 @@ processed in order by OPERATE."))
(traverse-action plan o c t)
(plan-actions plan)))
(defmethod perform-plan ((steps list) &key)
(defmethod perform-plan :around (plan &key)
(declare (ignorable plan))
(let ((*package* *package*)
(*readtable* *readtable*))
(loop* :for (op . component) :in steps :do
(perform-with-restarts op component))))
(with-compilation-unit () ;; backward-compatibility.
(call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build.
(defmethod perform-plan ((steps list) &key)
(loop* :for (op . component) :in steps :do
(perform-with-restarts op component)))
(defmethod plan-operates-on-p ((plan list) (component-path list))
(find component-path (mapcar 'cdr plan)
......
......@@ -12,6 +12,7 @@
#:system-author #:system-maintainer #:system-licence #:system-license
#:system-defsystem-depends-on
#:component-build-pathname #:build-pathname
#:component-entry-point #:entry-point
#:find-system #:builtin-system-p)) ;; forward-reference, defined in find-system
(in-package :asdf/system)
......@@ -21,6 +22,12 @@
(defgeneric* builtin-system-p (system))
(defgeneric* component-build-pathname (component))
(defgeneric* component-entry-point (component))
(defmethod component-entry-point ((c component))
(declare (ignorable c))
nil)
;;;; The system class
(defclass proto-system () ; slots to keep when resetting a system
......@@ -39,6 +46,8 @@
:accessor system-license :initarg :license)
(build-pathname
:initform nil :initarg :build-pathname :accessor component-build-pathname)
(entry-point
:initform nil :initarg :entry-point :accessor component-entry-point)
(source-file :initform nil :initarg :source-file :accessor system-source-file)
(defsystem-depends-on :reader system-defsystem-depends-on :initarg :defsystem-depends-on)))
......
;; Example executable program
(defsystem :hello-world-example
:class :bundle-system
:build-operation program-op
:entry-point "hello:entry-point"
:depends-on (:asdf-driver)
......
......@@ -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.145")
(asdf-version "2.26.146")
(existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version))
......
......@@ -79,7 +79,9 @@
;;; Magic debugging help. See contrib/debug.lisp
(defvar *asdf-debug-utility*
'(ignore-errors (merge-pathnames "cl/asdf/contrib/debug.lisp" (user-homedir-pathname)))
'(or (ignore-errors
(symbol-call :asdf :system-relative-pathname :asdf-driver "contrib/debug.lisp"))
(merge-pathnames "cl/asdf/contrib/debug.lisp" (user-homedir-pathname)))
"form that evaluates to the pathname to your favorite debugging utilities")
(defmacro asdf-debug (&rest keys)
......
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