1 ;;; Basic initialization for LispStat
2 ;;; Time-stamp: <2008-05-15 08:26:47 tony>
3 ;;; Created: <2007-05-30 17:09:47 blindglobe>
7 ;; - 1. Associate ASDF directory for loading.
8 ;; - 2. Make sure that we have initialized any locally defined global variables
9 ;; 3. ensure appropriate tools are linked in for loading.
10 ;; i.e. if features don't exist, load from particular locations in
11 ;; this directory structure.
12 ;; 4. Print out and capture environmental features, i.e. presence and
13 ;; version of packages.
16 ;; (setf *my-base-directory*
17 ;; #p"/home/tony/sandbox/CLS.git/"
18 ;; #p"/Users/ungil/lisp/CommonLispStat/")
23 ;; What package should we be in? Contaminating cl-user is probably EVIL.
25 ;; Need to replace this with some form of self-referential structure.
27 ;; Add the critical paths to the ASDF facility and set up other
28 ;; things; currently this will not do the other setups.
31 (defvar *lispstat-home-dir
*
32 ;; #p"/home/tony/sandbox/CommonLispStat.git/"
33 ;; #p"/cygdrive/c/local/sandbox/Lisp/CommonLispStat/"
34 ;; #p"/Users/ungil/lisp/CommonLispStat/")
35 ;; #p"/home/rossini/public_html/GIT.repos/CommonLispStat/"
36 #p
"/home/tony/Desktop/sandbox/CLS.git/"
37 "Value considered \"home\" for our data")
39 (setf *lispstat-home-dir
*
40 ;; #p"/cygdrive/c/local/sandbox/Lisp/CommonLispStat/"
41 ;; #p"/home/tony/sandbox/CommonLispStat.git/"
42 ;; #p"/Users/ungil/lisp/CommonLispStat/")
43 ;; #p"/home/rossini/public_html/GIT.repos/CommonLispStat/"
44 #p
"/home/tony/Desktop/sandbox/CLS.git/"
47 (defmacro ls-dir
(root-str)
48 `(pathname (concatenate 'string
(namestring *lispstat-home-dir
*) ,root-str
)))
50 (defmacro ls-defdir
(target-dir-var root-str
)
51 `(defvar ,target-dir-var
(ls-dir ,root-str
)))
53 ;;(macroexpand '(ls-defdir *lispstat-asdf-dir* "ASDF"))
54 ;;(macroexpand-1 '(ls-defdir *lispstat-asdf-dir* "ASDF"))
55 ;;(macroexpand-1 '(ls-dir "ASDF"))
57 (ls-defdir *lispstat-asdf-dir
* "ASDF/")
58 (ls-defdir *lispstat-data-dir
* "data/")
59 (ls-defdir *lispstat-external-dir
* "external/")
60 (ls-defdir *lispstat-examples-dir
* "examples/")
62 ;; Load ASDF if it isn't loaded
63 #-asdf
(load (pathname (concatenate 'string
(namestring *lispstat-external-dir
*) "asdf")))
65 ;; (pushnew #p"C:/Lisp/libs/" asdf-util:*source-dirs* :test #'equal)
66 (pushnew *lispstat-asdf-dir
* asdf
:*central-registry
*))
69 ;; Load needed packages
71 (asdf:oos
'asdf
:load-op
:cffi
) ;; FFI
72 (asdf:oos
'asdf
:load-op
:lift
) ;; Unit Testing
75 (asdf:oos
'asdf
:load-op
:lispstat
)
79 ;; Things to never automatically do...
84 (asdf:oos
'asdf
:load-op
:lift-test
)
87 (asdf:oos
'asdf
:compile-op
:cffi
)
88 ;; (asdf:oos 'asdf:compile-op :lisp-unit)
89 (asdf:oos
'asdf
:compile-op
:lift
)
90 (asdf:oos
'asdf
:compile-op
:rclg
)
91 (asdf:oos
'asdf
:compile-op
:cl-cairo2
)
92 ;; (asdf:operate 'asdf:load-op 'cffi)
93 ;; (asdf:operate 'asdf:load-op 'rclg)
94 (asdf:oos
'asdf
:load-op
:celtk
)
95 (asdf:oos
'asdf
:compile-op
:lispstat
:force t
)
96 ;; (asdf:operate 'asdf:compile-op 'lispstat)
98 ;; Things to do later...
100 #+nil
(asdf:oos
'asdf
:load-op
:clem
) ;; matrix stuff
101 #+nil
(asdf:oos
'asdf
:load-op
:clem-test
)
102 #+nil
(asdf:oos
'asdf
:load-op
:clem-benchmark
)
103 #+nil
(asdf:oos
'asdf
:load-op
:cells
)