comments on approach for CFFI with existing system.
[CommonLispStat.git] / lispstat.asd
blob0b0cdd3458ba45c041d5ef1ef98e99ca2db1d9a4
1 ;;  -*- mode: lisp -*-
3 ;;; Copyright (c) 2005--2006, by AJ Rossini <blindglobe@gmail.com>
4 ;;; ASDF packaging for CommonLispStat
5 ;;; Provided under a BSD license.
7 ;;(asdf:oos 'asdf:load-op 'cffi)
9 (defpackage #:lispstat-system
10   (:use :asdf :common-lisp))
12 (in-package #:lispstat-system)
14 ;;; To avoid renaming everything from *.lsp to *.lisp...
15 ;;; borrowed from Cyrus Harmon's work, for example for the ch-util.
16 (defclass lispstat-lsp-source-file (cl-source-file) ())
17 (defparameter *fasl-directory*
18    (make-pathname :directory '(:relative #+sbcl "sbcl-fasl"
19                               #+openmcl "openmcl-fasl"
20                               #-(or sbcl openmcl) "fasl")))
22 (defmethod source-file-type ((c lispstat-lsp-source-file) (s module)) "lsp")
23 (defmethod asdf::output-files :around ((operation compile-op)
24                                        (c lispstat-lsp-source-file))
25   (list (merge-pathnames *fasl-directory*
26                          (compile-file-pathname (component-pathname c)))))
27 ;;; again, thanks to Cyrus for saving me time...
30 (defsystem "lispstat"
31   :version #.(with-open-file
32                  (vers (merge-pathnames "version.lisp-expr" *load-truename*))
33                (read vers))
34   :author "A.J. Rossini <blindglobe@gmail.com>"
35   :license "BSD"
36   :description "CommonLispStat (CLS): A System for Statistical Computing with Common Lisp;
37 based on CLS by Luke Tierney <luke@stat.uiowa.edu> (originally written when Luke was at CMU, apparently).
38 Last touched 1991, then in 2005--2007."
39   :serial t
40   :depends-on (:cffi :lift :clem)
41   :components ((:static-file "version" :pathname #p"version.lisp-expr")
42                (:lispstat-lsp-source-file "lsobjects")
43                (:lispstat-lsp-source-file "fastmap")
44                (:lispstat-lsp-source-file "lstypes")
45                (:lispstat-lsp-source-file "lsfloat")
46                (:lispstat-lsp-source-file "sequence")
48                (:lispstat-lsp-source-file "compound" 
49                                           :depends-on ("lsobjects"
50                                                        "fastmap"
51                                                        "sequence"))
52                (:lispstat-lsp-source-file "lsmacros" 
53                                           :depends-on ("compound"))
54                (:lispstat-lsp-source-file "lsmath"
55                                           :depends-on ("lsobjects"
56                                                        "lsmacros"
57                                                        "lsfloat"))
58                (:lispstat-lsp-source-file "matrices"
59                                           :depends-on ("sequence"))
60                (:lispstat-lsp-source-file "linalg"
61                                           :depends-on ("lsmath"
62                                                        "matrices"))
63                (:file "optimize" :depends-on ("lsobjects"
64                                               "lstypes"))
65                (:lispstat-lsp-source-file "cffiglue"
66                                           :depends-on ("optimize"))
67                (:lispstat-lsp-source-file "dists"
68                                           :depends-on ("cffiglue"))
70                (:lispstat-lsp-source-file "lsbasics"
71                                           :depends-on ("lsobjects"
72                                                        "lstypes"
73                                                        "lsmacros"
74                                                        "sequence"
75                                                        "lsfloat"
76                                                        "matrices"
77                                                        "linalg"
78                                                        "dists"))
80                (:lispstat-lsp-source-file "ladata"
81                                           :depends-on ("lsbasics"))
83                ;; mix/match lsp vs. lisp in next 2.
84                (:file "data" :depends-on ("lsobjects"
85                                           "compound"))
86                
87                ;; Applications
88                (:lispstat-lsp-source-file "regression"
89                                           :depends-on ("lsobjects"
90                                                        "lsbasics"))
91                (:lispstat-lsp-source-file "nonlin"
92                                           :depends-on ("regression"))
93                (:lispstat-lsp-source-file "statistics"
94                                           :depends-on ("lsobjects"
95                                                        "lsmath"
96                                                        "data" ))
97                (:lispstat-lsp-source-file "bayes"
98                                           :depends-on ("lsobjects"
99                                                        "lsmath"
100                                                        "dists"))
103                (:file "ls-user" :depends-on ("lsobjects"
104                                              "lsbasics"
105                                              ;; and more!
106                                              ))
107                ))