Commit 7d519c10 authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files
parents d253f1e0 73b746da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@
  :licence "MIT"
  :description "Another System Definition Facility"
  :long-description "ASDF builds Common Lisp software organized into defined systems."
  :version "3.0.1.9" ;; to be automatically updated by make bump-version
  :version "3.0.1.13" ;; 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.
+11 −10
Original line number Diff line number Diff line
@@ -49,14 +49,16 @@
  ;; we'd have to have the monolithic-op not inherit from the main op,
  ;; but instead inherit from a basic-FOO-op as with basic-fasl-op above.

  (defclass lib-op (bundle-compile-op)
  (defclass no-ld-flags-op (operation) ())

  (defclass lib-op (bundle-compile-op no-ld-flags-op)
    ((bundle-type :initform #+(or ecl mkcl) :lib #-(or ecl mkcl) :no-output-file))
    (:documentation #+(or ecl mkcl) "compile the system and produce linkable (.a) library for it."
     #-(or ecl mkcl) "just compile the system"))

  (defclass dll-op (bundle-op basic-compile-op)
  (defclass dll-op (bundle-compile-op selfward-operation no-ld-flags-op)
    ((bundle-type :initform :dll))
    (:documentation "Link together all the dynamic library used by this system into a single one."))
    (:documentation "compile the system and produce dynamic (.so/.dll) library for it."))

  (defclass binary-op (basic-compile-op selfward-operation)
    ((selfward-operation :initform '(fasl-op lib-op)))
@@ -79,15 +81,14 @@
  (defclass monolithic-fasl-op (monolithic-bundle-compile-op basic-fasl-op) ()
    (:documentation "Create a single fasl for the system and its dependencies."))

  (defclass monolithic-lib-op (monolithic-bundle-compile-op basic-compile-op)
  (defclass monolithic-lib-op (monolithic-bundle-compile-op basic-compile-op  no-ld-flags-op)
    ((bundle-type :initform #+(or ecl mkcl) :lib #-(or ecl mkcl) :no-output-file))
    (:documentation #+(or ecl mkcl) "Create a single linkable library for the system and its dependencies."
     #-(or ecl mkcl) "Compile a system and its dependencies."))

  (defclass monolithic-dll-op (monolithic-bundle-op basic-compile-op sideway-operation selfward-operation)
    ((bundle-type :initform :dll)
     (selfward-operation :initform 'dll-op)
     (sideway-operation :initform 'dll-op)))
  (defclass monolithic-dll-op (monolithic-bundle-compile-op sideway-operation selfward-operation no-ld-flags-op)
    ((bundle-type :initform :dll))
    (:documentation "Create a single dynamic (.so/.dll) library for the system and its dependencies."))

  (defclass program-op #+(or mkcl ecl) (monolithic-bundle-compile-op)
            #-(or mkcl ecl) (monolithic-bundle-op selfward-operation)
@@ -101,7 +102,7 @@
      ((or null string) bundle-type)
      ((eql :fasl) #-(or ecl mkcl) (compile-file-type) #+(or ecl mkcl) "fasb")
      #+ecl
      ((member :binary :dll :lib :static-library :program :object :program)
      ((member :binary :dll :lib :shared-library :static-library :program :object :program)
       (compile-file-type :type bundle-type))
      ((eql :binary) "image")
      ((eql :dll) (cond ((os-unix-p) "so") ((os-windows-p) "dll")))
@@ -173,7 +174,7 @@
          (remove-plist-keys '(:type :monolithic :name-suffix)
                             (operation-original-initargs instance))))

  (defmethod bundle-op-build-args :around ((o lib-op))
  (defmethod bundle-op-build-args :around ((o no-ld-flags-op))
    (declare (ignorable o))
    (let ((args (call-next-method)))
      (remf args :ld-flags)
+6 −0
Original line number Diff line number Diff line
@@ -41,6 +41,12 @@
                          (and (first l) (register-pre-built-system (coerce-name name)))
                          (values-list l))))))))

#+cmu
(with-upgradability ()
  (defun herald-asdf (stream)
    (format stream "    ASDF ~A" (asdf-version)))
  (setf (getf ext:*herald-items* :asdf) `(herald-asdf)))


;;;; Done!
(with-upgradability ()
+3 −3
Original line number Diff line number Diff line
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 3.0.1.9: Another System Definition Facility.
;;; This is ASDF 3.0.1.13: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
@@ -70,8 +70,8 @@
           (existing-major-minor (subseq existing-version 0 second-dot))
           (existing-version-number (and existing-version (read-from-string existing-major-minor)))
           (away (format nil "~A-~A" :asdf existing-version)))
      (when (and existing-version (< existing-version-number
                                     (or #+abcl 2.25 #+cmu 2.018 #-(or abcl cmu) 2.27)))
      (when (and existing-version
                 (< existing-version-number #+abcl 2.25 #+cmu 2.018 #-(or abcl cmu) 2.27))
        (rename-package :asdf away)
        (when *load-verbose*
          (format t "~&; Renamed old ~A package away to ~A~%" :asdf away))))))
+2 −3
Original line number Diff line number Diff line
@@ -33,15 +33,14 @@
  (defclass basic-load-op (operation) ())
  (defclass basic-compile-op (operation)
    ((proclamations :initarg :proclamations :accessor compile-op-proclamations :initform nil)
     (flags :initarg :flags :accessor compile-op-flags
            :initform nil))))
     (flags :initarg :flags :accessor compile-op-flags :initform nil))))

;;; Our default operations: loading into the current lisp image
(with-upgradability ()
  (defclass prepare-op (upward-operation sideway-operation)
    ((sideway-operation :initform 'load-op)))
  (defclass load-op (basic-load-op downward-operation sideway-operation selfward-operation)
    ;; NB: even though compile-op depends-on on prepare-op it is not needed-in-image-p,
    ;; NB: even though compile-op depends on prepare-op it is not needed-in-image-p,
    ;; so we need to directly depend on prepare-op for its side-effects in the current image.
    ((selfward-operation :initform '(prepare-op compile-op))))
  (defclass compile-op (basic-compile-op downward-operation selfward-operation)
Loading