((type :reader bundle-op-type)
(monolithic :initform nil :reader bundle-op-monolithic-p)
(name-suffix :initarg :name-suffix :initform nil)
- (build-args :initarg :args :initform nil :accessor bundle-op-build-args)))
+ (build-args :initarg :args :initform nil :accessor bundle-op-build-args)
+ (lisp-files :initform nil :accessor bundle-op-lisp-files)))
+
(defclass fasl-op (bundle-op)
((type :initform :fasl)))
(if (bundle-op-monolithic-p instance) "-mono" "")))
(when (typep instance 'monolithic-bundle-op)
(destructuring-bind (&rest original-initargs
- &key prologue-code epilogue-code &allow-other-keys)
+ &key lisp-files prologue-code epilogue-code
+ &allow-other-keys)
(slot-value instance 'original-initargs)
(setf (slot-value instance 'original-initargs)
- (remove-keys '(epilogue-code prologue-code) original-initargs)
+ (remove-keys '(lisp-files epilogue-code prologue-code) original-initargs)
+ (bundle-op-lisp-files instance) lisp-files
(monolithic-op-prologue-code instance) prologue-code
(monolithic-op-epilogue-code instance) epilogue-code)))
(setf (bundle-op-build-args instance)
:key #'pathname-type :test #'string=))
(output (output-files o c)))
(ensure-directories-exist (first output))
- (apply #'c::builder (bundle-op-type o) (first output) :lisp-files object-files
+ (apply #'c::builder (bundle-op-type o) (first output)
+ :lisp-files (append object-files (bundle-op-lisp-files o))
(append (bundle-op-build-args o)
(when (and (typep o 'monolithic-bundle-op)
(monolithic-op-prologue-code o))
;;; form. Only useful when the dependencies have also been precompiled.
;;;
-(defclass compiled-file (component) ())
-(defmethod component-relative-pathname ((component compiled-file))
- (compile-file-pathname
- (coerce-pathname
- (or (slot-value component 'relative-pathname)
- (component-name component))
- :type "fas")))
+(defclass compiled-file (component)
+ ((type :initform nil)))
(defmethod output-files (o (c compiled-file))
(declare (ignore o c))
(defmethod output-files ((o lib-op) (c prebuilt-system))
(declare (ignore o))
- (values (list (compile-file-pathname (prebuilt-system-static-library c)
- :type :lib))
- t ; Advertise that we do not want this path renamed
- ))
+ (values (list (prebuilt-system-static-library c))
+ t)) ; Advertise that we do not want this path renamed
(defmethod perform ((o lib-op) (c prebuilt-system))
(car (output-files o c)))
(push '("fasb" . si::load-binary) ext:*load-hooks*)
(defun register-pre-built-system (name)
- (register-system (make-instance 'system :name name :source-file nil)))
+ (register-system (make-instance 'system :name (coerce-name name) :source-file nil)))
(setf ext:*module-provider-functions*
(loop :for f :in ext:*module-provider-functions*
(let ((l (multiple-value-list (funcall f name))))
(and (first l) (register-pre-built-system name))
(values-list l)))))
-#+win32 (push '("asd" . si::load-source) ext:*load-hooks*)
+#+win32
+(unless (assoc "asd" ext:*load-hooks* :test 'equal)
+ (appendf ext:*load-hooks* '(("asd" . si::load-source))))
+
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.23: Another System Definition Facility.
+;;; This is ASDF 2.23.1: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
;; "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.23")
+ (asdf-version "2.23.1")
(existing-asdf (find-class 'component nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version)))