asdf.asd 4.65 KB
Newer Older
1 2 3 4 5
;;; -*- mode: lisp -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;                                                                  ;;;
;;; Free Software available under an MIT-style license.              ;;;
;;;                                                                  ;;;
6
;;; Copyright (c) 2001-2016 Daniel Barlow and contributors           ;;;
7 8 9
;;;                                                                  ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

10 11
(in-package :asdf)

12
#+asdf3
13
(defsystem "asdf/prelude"
14 15 16
  ;; Note that it's polite to sort the defsystem forms in dependency order,
  ;; and compulsory to sort them in defsystem-depends-on order.
  :version (:read-file-form "version.lisp-expr")
17
  :around-compile call-without-redefinition-warnings ;; we need be the same as uiop
18
  :encoding :utf-8
19
  :components
20
  ((:file "header")))
21

22
#+asdf3
23
(defsystem "asdf/driver"
24 25 26 27 28 29 30
  ;; This is the same as "uiop", but used for transclusion in asdf.lisp.
  ;; Because asdf.asd can't afford to depend on reading uiop.asd
  ;; (which would cause circularity, since everything depends on reading asdf.asd),
  ;; we can't "just" :depends-on ("uiop") like we used to do.
  :pathname "uiop"
  :around-compile call-without-redefinition-warnings ;; we need be the same as uiop
  :components #.(getf (read-file-form (subpathname *load-pathname* "uiop/uiop.asd") :at 2) :components))
31

32
#+asdf3
33
(defsystem "asdf/defsystem"
34
  :licence "MIT"
35
  :description "The defsystem part of ASDF"
36 37
  :long-name "Another System Definition Facility"
  :description "The portable defsystem for Common Lisp"
38
  :long-description "ASDF/DEFSYSTEM is the de facto standard DEFSYSTEM facility for Common Lisp,
39
   a successor to Dan Barlow's ASDF and Francois-Rene Rideau's ASDF2.
40
   For bootstrap purposes, it comes bundled with UIOP in a single file, asdf.lisp."
41 42 43
  :homepage "http://common-lisp.net/projects/asdf/"
  :bug-tracker "https://launchpad.net/asdf/"
  :mailto "asdf-devel@common-lisp.net"
44
  :source-control (:git "git://common-lisp.net/projects/asdf/asdf.git")
45
  :version (:read-file-form "version.lisp-expr")
46
  :build-operation monolithic-concatenate-source-op
47
  :build-pathname "build/asdf" ;; our target
48
  :around-compile call-without-redefinition-warnings ;; we need be the same as uiop
49
  :depends-on ("asdf/prelude" "asdf/driver")
50
  :encoding :utf-8
51 52
  :components
  ((:file "upgrade")
53
   (:file "session" :depends-on ("upgrade"))
54 55
   (:file "component" :depends-on ("session"))
   (:file "operation" :depends-on ("session"))
56
   (:file "system" :depends-on ("component"))
57
   (:file "system-registry" :depends-on ("system"))
58
   (:file "action" :depends-on ("session" "system" "operation"))
59 60
   (:file "lisp-action" :depends-on ("action"))
   (:file "find-component" :depends-on ("component"))
61 62
   (:file "forcing" :depends-on ("operation" "system-registry"))
   (:file "plan" :depends-on ("lisp-action" "find-component" "forcing"))
63
   (:file "operate" :depends-on ("plan"))
64 65
   (:file "find-system" :depends-on ("system-registry" "operate"))
   (:file "parse-defsystem" :depends-on ("system-registry" "lisp-action" "operate"))
66 67
   (:file "bundle" :depends-on ("lisp-action" "parse-defsystem"))
   (:file "concatenate-source" :depends-on ("bundle"))
68
   (:file "package-inferred-system" :depends-on ("parse-defsystem"))
69 70 71
   (:file "output-translations" :depends-on ("operate"))
   (:file "source-registry" :depends-on ("find-system"))
   (:file "backward-internals" :depends-on ("find-system" "parse-defsystem"))
72
   (:file "backward-interface" :depends-on ("output-translations"))
73
   (:file "interface" :depends-on
74
          ("parse-defsystem" "concatenate-source"
75 76
           "output-translations" "source-registry" "package-inferred-system"
           "backward-interface" "backward-internals"))
77 78
   (:file "user" :depends-on ("interface"))
   (:file "footer" :depends-on ("user"))))
79

80
(defsystem "asdf"
81
  :author ("Daniel Barlow")
82
  :maintainer ("Robert Goldman")
83 84 85
  :licence "MIT"
  :description "Another System Definition Facility"
  :long-description "ASDF builds Common Lisp software organized into defined systems."
86
  :version "3.2.1" ;; to be automatically updated by make bump-version
87
  :depends-on ()
88
  #+asdf3 :encoding #+asdf3 :utf-8
89
  :class #+asdf3.1 package-inferred-system #-asdf3.1 system
90 91
  ;; For most purposes, asdf itself specially counts as a builtin system.
  ;; If you want to link it or do something forbidden to builtin systems,
92
  ;; specify separate dependencies on uiop (aka asdf-driver) and asdf/defsystem.
93
  #+asdf3 :builtin-system-p #+asdf3 t
94
  :components ((:module "build" :components ((:file "asdf"))))
95
  :in-order-to (#+asdf3 (prepare-op (monolithic-concatenate-source-op "asdf/defsystem"))))