-
Notifications
You must be signed in to change notification settings - Fork 3
/
xcvb.asd
96 lines (90 loc) · 5.03 KB
/
xcvb.asd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
;;; -*- mode: lisp -*-
(in-package :asdf)
(when (plusp (length (getenv "XCVB_FARMER")))
(pushnew :xcvb-farmer *features*))
(pushnew :xcvb-using-asdf *features*)
#+sbcl
(map () 'require
'(;; Actually used by XCVB
:sb-grovel :sb-posix :sb-sprof
;; Used by SLIME
:sb-cltl2 :sb-introspect :sb-bsd-sockets))
(proclaim '(optimize (speed 2) (safety 3) (debug 3) (compilation-speed 0)))
(defsystem "xcvb"
:version (:read-file-line "version.text")
:author ("Francois-Rene Rideau" "Spencer Brody" "Joyce Chen")
:maintainer "Francois-Rene Rideau"
:licence "MIT"
:description "XCVB"
:long-description "an eXtensible Component Verifier and Builder for Lisp.
XCVB provides a scalable system to build large software in Lisp, featuring
deterministic separate compilation and enforced locally-declared dependencies."
:defsystem-depends-on ("asdf" "xcvb-driver" "xcvb-bootstrap")
:depends-on ((:version "asdf" "3.1.4") "poiu"
"xcvb-driver" "xcvb-bootstrap" "asdf-encodings"
"lambda-reader"
"fare-mop" "fare-memoization"
"command-line-arguments"
"asdf-dependency-grovel"
"fare-quasiquote-extras"
"ironclad" "binascii" "babel"
"inferior-shell"
"lisp-interface-library"
#+clozure "single-threaded-ccl"
#+xcvb-farmer "quux-iolib"
#|#-clisp "rucksack"|#)
:components
((:file "version")
(:file "pkgdcl" :depends-on ("version"))
(:file "conditions" :depends-on ("pkgdcl"))
(:file "specials" :depends-on ("pkgdcl"))
(:file "macros" :depends-on ("pkgdcl"))
(:file "profiling" :depends-on ("pkgdcl"))
(:file "digest" :depends-on ("pkgdcl"))
(:file "utilities" :depends-on ("macros"))
(:file "logging" :depends-on ("specials"))
(:file "commands" :depends-on ("specials" "macros"))
(:file "string-escape" :depends-on ("utilities"))
(:file "virtual-pathnames" :depends-on ("specials" "utilities"))
(:file "grain-interface" :depends-on ("utilities" "conditions"))
(:file "grain-sets" :depends-on ("grain-interface"))
(:file "grain-registry" :depends-on ("grain-interface" "specials"))
(:file "source-registry" :depends-on ("grain-registry" "commands"))
(:file "computations" :depends-on ("grain-interface" "grain-registry"))
(:file "manifest" :depends-on ("macros" "virtual-pathnames" "commands"))
(:file "extract-target-properties" :depends-on ("specials" "string-escape" "grain-interface"))
(:file "grain-implementation" :depends-on ("grain-registry" "extract-target-properties"))
(:file "names" :depends-on ("grain-registry" "grain-interface"))
(:file "normalize-dependency" :depends-on ("names" "grain-interface"))
(:file "traversal" :depends-on ("names" "computations"))
(:file "change-detection" :depends-on ("traversal"))
(:file "dependencies-interpreter" :depends-on ("normalize-dependency" "traversal"))
(:file "pathname-mappings" :depends-on ("specials" "grain-interface"))
(:file "static-traversal" :depends-on ("grain-sets" "dependencies-interpreter"))
(:file "external-commands" :depends-on ("specials" "utilities" "grain-interface"))
(:file "target-lisp-commands" :depends-on ("specials" "utilities" "grain-interface" "external-commands"))
(:file "run-program-backend" :depends-on ("profiling" "static-traversal" "target-lisp-commands"
"computations" "commands" "virtual-pathnames"))
(:file "makefile-backend"
:depends-on ("profiling" "static-traversal" "target-lisp-commands" "computations"
"extract-target-properties" "commands" "virtual-pathnames" "specials"))
(:file "blaze-backend"
:depends-on ("profiling" "static-traversal" "target-lisp-commands" "computations"
"extract-target-properties" "commands" "virtual-pathnames" "specials"))
(:file "simplifying-traversal" :depends-on ("traversal" "dependencies-interpreter"))
(:file "list-files" :depends-on ("simplifying-traversal" "commands"))
(:file "asdf-backend" :depends-on ("simplifying-traversal" "logging" "commands"))
(:file "ne-makefile-backend" :depends-on ("commands" "makefile-backend"
"asdf-backend" "simplifying-traversal"))
(:file "asdf-converter" :depends-on ("commands" "grain-interface" "source-registry"))
(:file "self-upgrade" :depends-on ("commands"))
(:file "slave" :depends-on ("commands"))
#+xcvb-farmer
(:file "farmer"
:depends-on ("profiling" "commands" "target-lisp-commands" "external-commands"
"grain-interface" "dependencies-interpreter"))
(:file "cffi-grovel-support" :depends-on
("makefile-backend" "static-traversal" "computations" "target-lisp-commands"
"grain-implementation" "asdf-backend" "dependencies-interpreter"))
(:file "main" :depends-on ("commands")))
:in-order-to ((test-op (test-op "xcvb-test"))))