-
Notifications
You must be signed in to change notification settings - Fork 3
/
pkgdcl.lisp
43 lines (36 loc) · 1.44 KB
/
pkgdcl.lisp
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
#+xcvb
(module
(:description "package for XCVB"
:depends-on ("/asdf" "/fare-utils" "/inferior-shell" (:asdf "alexandria")
"lisp-invocation" "version")))
(in-package :uiop)
(eval-when (:compile-toplevel :load-toplevel :execute)
(setf *optimization-settings*
`((speed 2) (safety 3) (compilation-speed 0) (debug 3)))
(proclaim-optimization-settings))
(define-package :xcvb
(:mix :fare-utils :uiop :alexandria :inferior-shell :xcvb-driver)
(:use :closer-common-lisp
:command-line-arguments :lisp-invocation
:optima :fare-mop :lil/interface/definition :lil/interface/eq
:fare-memoization
#+xcvb-farmer :quux-iolib #+xcvb-farmer :iolib.os)
(:import-from :asdf
#:*default-source-registry-exclusions*
#:*default-source-registries*)
(:import-from :xcvb-driver
#:get-xcvb-version #:get-xcvb-directory
#:build-xcvb)
;;; We have stopped trying to try to export a sensible interface
;;; through the package system.
;;; No wonder why: the CL package system is not very maintainable,
;;; and doesn't even scale to moderate size systems.
;;; Instead, we only export bare essentials.
;;; Happily, XCVB is an end-program, not a library meant to be reused.
(:export
#:*xcvb-version* ;; version
#:module ;; Defining and using modules and extensions
#:cmd)) ;; Easy REPL access to the command-line interface
(define-package :xcvb-user
(:use :closer-common-lisp)
(:mix :uiop :xcvb-driver :xcvb))