;;; -*- 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"))))