[lisplab-cvs] r49 -
Jørn Inge Vestgården
jivestgarden at common-lisp.net
Wed Jun 3 19:00:51 UTC 2009
Author: jivestgarden
Date: Wed Jun 3 15:00:51 2009
New Revision: 49
Log:
untested but promising asdf
Added:
lisplab.asd
Added: lisplab.asd
==============================================================================
--- (empty file)
+++ lisplab.asd Wed Jun 3 15:00:51 2009
@@ -0,0 +1,420 @@
+
+(defun get-lisplab-lib (name)
+ (let ((libs #P"system/libs.lisp" #+nil (merge-pathnames #P"system/libs.lisp"
+ cl-user::*lisplab-home*)))
+ (cdr (assoc name (with-open-file (out libs)
+ (read out))))))
+
+(defsystem :lisplab
+ :depends-on (:lisplab-base :lisplab-matlisp :lisplab-fftw))
+
+(defsystem :lisplab-base
+ :depends-on (:slatec :quadpack)
+ :components
+ (
+ (:file "system/package")
+
+ ;;
+ ;; All core none-matrix stuff (level 0)
+ ;;
+ (:module :src/core
+ :depends-on ("system/package")
+ :serial t
+ :components
+ (
+ (:file "level0-basic")
+ (:file "level0-const")
+ (:file "level0-interface")
+ (:file "level0-functions")
+ (:file "level0-permutation")
+ (:file "level0-infpre")))
+
+ ;;
+ ;; Special functions
+ ;;
+ (:module :src/specfunc
+ :depends-on (:src/core) ; and slatec
+ :components
+ (
+ (:file "level0-specfunc")))
+
+ ;;
+ ;; All core matrix stuff (level 1 and 2)
+ ;;
+ (:module :src/matrix
+ :depends-on (:src/core :src/specfunc)
+ :serial t
+ :components
+ (
+ (:file "level1-interface")
+ (:file "level1-util")
+ (:file "level1-classes")
+ (:file "level1-constructors")
+ (:file "level1-matrix")
+ (:file "level1-array")
+
+ (:file "level2-interface")
+ (:file "level2-constructors")
+ (:file "level2-generic")
+ (:file "level2-matrix-dge")
+ (:file "level2-matrix-zge")
+ (:file "level2-array-functions")))
+
+ ;;
+ ;; IO (level 3)
+ ;;
+ (:module :src/io
+ :depends-on (:src/matrix)
+ :components
+ (
+ (:file "level3-io")))
+
+ ;;
+ ;; Linear algebra lisp implementation (Level 3)
+ ;;
+ (:module :src/linalg
+ :depends-on (:src/matrix)
+ :serial t
+ :components
+ ((:file "level3-linalg-interface")
+ (:file "level3-linalg-generic")
+ (:file "level3-linalg-blas-real")))
+
+ ;;
+ ;; Fast Fourier transform (Level 3)
+ ;;
+ (:module :src/fft
+ :depends-on (:src/matrix)
+ :serial t
+ :components
+ (
+ (:file "level3-fft-interface")
+ (:file "level3-fft-blas")))
+
+ ;;
+ ;; Euler and Runge-Kutt solvers (Level 3)
+ ;;
+ (:module :src/util
+ :depends-on (:src/matrix)
+ :serial t
+ :components
+ (
+ (:file "level3-rk4")
+ (:file "level3-euler")))
+
+
+ ;;
+ ;; Quadpack
+ ;;
+ (:module :src/integrate
+ :depends-on (:src/core) ; and quadpack
+ :serial t
+ :components
+ (
+ (:file "quadpack")))
+ ))
+
+
+
+(defsystem :lisplab-matlisp
+ :depends-on (:lisplab-base)
+ :serial t
+ :components
+ (
+ ;;
+ ;; Blas and Lapack implmentations (Level 3)
+ ;;
+ (:module :src/matlisp
+ :serial t
+ :components
+ (
+ (:file "f77-mangling")
+ (:module :blas-libs
+ :perform (asdf:load-op :after (op c)
+ (sb-alien:load-shared-object
+ (get-lisplab-lib :libblas)))
+ :explain (asdf:load-op :after (op c)
+ (format t "Loads alien object <~A>"
+ (get-lisplab-lib :libblas))))
+ (:module :lapack-libs
+ :perform (asdf:load-op :after (op c)
+ (sb-alien:load-shared-object
+ (get-lisplab-lib :liblapack)))
+ :explain (asdf:load-op :after (op c)
+ (format t "Loads alien object <~A>"
+ (get-lisplab-lib :liblapack))))
+ (:file "f77-package")
+ (:file "ffi-sbcl")
+ (:file "blas")
+ (:file "lapack")
+ (:file "mul")
+ (:file "inv")
+ (:file "geev")))))
+
+
+(defsystem :lisplab-fftw
+ :depends-on (:lisplab-base)
+ :serial t
+ :components
+ (
+ ;;
+ ;; Blas and Lapack implmentations (Level 3)
+ ;;
+ (:module :src/fft
+ :depends-on (:fftw-libs)
+ :serial t
+ :components
+ ((:file "fftw-ffi-package")
+ (:module :fftw-libs
+ :perform (asdf:load-op :after (op c)
+ (sb-alien:load-shared-object
+ (get-lisplab-lib :libfftw)))
+ :explain (asdf:load-op :after (op c)
+ (format t "Loads alien object <~A>"
+ (get-lisplab-lib :libfftw))))
+
+ (:file "fftw-ffi")
+ (:file "level3-fft-fftw")))))
+
+
+(defsystem :quadpack
+ :components
+ (
+ ;;
+ ;; Quadpack. Generated with f2cl.
+ ;;
+ (:module :/shared/quadpack/
+ :serial t
+ :components
+ (
+ (:file "f2cl-package")
+ (:file "f2cl-macros")
+
+ (:file "quadpack-package")
+ (:file "d1mach")
+ (:file "dgtsl")
+ (:file "dqage")
+ (:file "dqagie")
+ (:file "dqagi")
+ (:file "dqag")
+ (:file "dqagpe")
+ (:file "dqagse")
+ (:file "dqags")
+ (:file "dqawce")
+ (:file "dqawc")
+ (:file "dqawfe")
+ (:file "dqawf")
+ (:file "dqawoe")
+ (:file "dqawo")
+ (:file "dqawse")
+ (:file "dqaws")
+ (:file "dqc25c")
+ (:file "dqc25f")
+ (:file "dqc25s")
+ (:file "dqcheb")
+ (:file "dqelg")
+ (:file "dqk15i")
+ (:file "dqk15")
+ (:file "dqk15w")
+ (:file "dqk21")
+ (:file "dqk31")
+ (:file "dqk41")
+ (:file "dqk51")
+ (:file "dqk61")
+ (:file "dqmomo")
+ (:file "dqng")
+ (:file "dqpsrt")
+ (:file "dqwgtc")
+ (:file "dqwgtf")
+ (:file "dqwgts")
+ (:file "i1mach")
+ ))))
+
+
+(defsystem :slatec
+ :components
+ (
+ (:module :shared/slatec
+ :components
+ (
+ (:file "f2cl-package")
+ (:file "f2cl-lib")
+ ;; The package
+ (:file "slatec")
+
+ (:file "fdump")
+ (:file "j4save")
+ (:file "initds"
+ :depends-on ("xermsg"))
+ (:file "xgetua")
+ (:file "xermsg"
+ :depends-on ("fdump" "j4save" "xercnt" "xerhlt" "xerprn" "xersve"))
+ (:file "xercnt")
+ (:file "xerhlt")
+ (:file "xerprn"
+ :depends-on ("xgetua"))
+ (:file "xersve"
+ :depends-on ("j4save"))
+ (:file "dcsevl"
+ :depends-on ("xermsg"))
+
+ ;; Gamma function
+ (:file "d9lgmc"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "dgamlm"
+ :depends-on ("xermsg"))
+ (:file "dgamma"
+ :depends-on ("d9lgmc" "dcsevl" "dgamlm" "initds" "xermsg"))
+ (:file "dgamln")
+ (:file "dlngam"
+ :depends-on ("d9lgmc" "dgamma" "xermsg"))
+
+ ;; Bessel J functions
+ (:file "d9b0mp"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "d9b1mp"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "dbesj0"
+ :depends-on ("d9b0mp" "dcsevl" "initds"))
+ (:file "dbesj1"
+ :depends-on ("d9b1mp" "dcsevl" "initds" "xermsg"))
+ (:file "djairy")
+ (:file "dasyjy")
+ (:file "dbesj"
+ :depends-on ("dasyjy" "djairy" "dlngam" "xermsg"))
+
+ ;; Bessel I functions
+ (:file "dbsi0e"
+ :depends-on ("dcsevl" "initds"))
+ (:file "dbsi1e"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "dbesi0"
+ :depends-on ("dbsi0e" "dcsevl" "initds" "xermsg"))
+ (:file "dbesi1"
+ :depends-on ("dbsi1e" "dcsevl" "initds" "xermsg"))
+ (:file "dasyik")
+ (:file "dbesi"
+ :depends-on ("dasyik" "dlngam" "xermsg"))
+ (:file "zbesi"
+ :depends-on ("zabs" "zbinu"))
+
+ ;; Bessel J function for complex
+ ;; arg and real order.
+
+ (:file "zabs")
+ (:file "zacai"
+ :depends-on ("zabs" "zasyi" "zbknu" "zmlri" "zs1s2" "zseri"))
+ (:file "zairy"
+ :depends-on ("zabs" "zacai" "zbknu" "zexp" "zsqrt"))
+ (:file "zasyi"
+ :depends-on ("zabs" "zdiv" "zexp" "zmlt" "zsqrt"))
+ (:file "zbesj"
+ :depends-on ("zabs" "zbinu"))
+ (:file "zbinu"
+ :depends-on ("zabs" "zasyi" "zbuni" "zmlri" "zseri" "zuoik" "zwrsk"))
+ (:file "zbknu"
+ :depends-on ("dgamln" "zabs" "zdiv" "zexp" "zkscl"
+ "zlog" "zmlt" "zshch" "zsqrt" "zuchk"))
+ (:file "zbuni"
+ :depends-on ("zabs" "zuni1" "zuni2"))
+ (:file "zdiv")
+ (:file "zexp")
+ (:file "zkscl"
+ :depends-on ("zabs" "zlog" "zuchk"))
+ (:file "zlog"
+ :depends-on ("zabs"))
+ (:file "zmlri"
+ :depends-on ("dgamln" "zabs" "zexp" "zlog" "zmlt"))
+ (:file "zmlt")
+ (:file "zrati"
+ :depends-on ("zabs" "zdiv"))
+ (:file "zs1s2"
+ :depends-on ("zabs" "zexp" "zlog"))
+ (:file "zseri"
+ :depends-on ("dgamln" "zabs" "zdiv" "zlog" "zmlt" "zuchk"))
+ (:file "zshch")
+ (:file "zsqrt" :depends-on ("zabs"))
+ (:file "zuchk")
+ (:file "zunhj"
+ :depends-on ("zabs" "zdiv" "zlog" "zsqrt"))
+ (:file "zuni1"
+ :depends-on ("zabs" "zuchk" "zunik" "zuoik"))
+ (:file "zuni2"
+ :depends-on ("zabs" "zairy" "zuchk" "zunhj" "zuoik"))
+ (:file "zunik"
+ :depends-on ("zdiv" "zlog" "zsqrt"))
+ (:file "zuoik"
+ :depends-on ("zabs" "zlog" "zuchk" "zunhj" "zunik"))
+ (:file "zwrsk"
+ :depends-on ("zabs" "zbknu" "zrati"))
+
+ ;; Bessel Y functions
+ (:file "dbesy0"
+ :depends-on ("d9b0mp" "dbesj0" "dcsevl" "initds" "xermsg"))
+ (:file "dbesy1"
+ :depends-on ("d9b1mp" "dbesj1" "dcsevl" "initds" "xermsg"))
+ (:file "dbesy"
+ :depends-on ("dasyjy" "dbesy0" "dbesy1" "dbsynu" "dyairy" "xermsg"))
+ (:file "dbsynu"
+ :depends-on ("dgamma" "xermsg"))
+ (:file "dyairy")
+
+ (:file "zbesy"
+ :depends-on ("zbesh"))
+ (:file "zbesh"
+ :depends-on ("zabs" "zacon" "zbknu" "zbunk" "zuoik"))
+ (:file "zacon"
+ :depends-on ("zabs" "zbinu" "zbknu" "zmlt" "zs1s2"))
+ (:file "zbunk"
+ :depends-on ("zunk1" "zunk2"))
+ (:file "zunk1"
+ :depends-on ("zabs" "zs1s2" "zuchk" "zunik"))
+ (:file "zunk2"
+ :depends-on ("zabs" "zairy" "zs1s2" "zuchk" "zunhj"))
+
+ ;; Bessel K functions
+ (:file "dbesk0"
+ :depends-on ("dbesi0" "dbsk0e" "dcsevl" "initds" "xermsg"))
+ (:file "dbsk0e"
+ :depends-on ("dbesi0" "dcsevl" "initds" "xermsg"))
+ (:file "dbesk1"
+ :depends-on ("dbesi1" "dbsk1e" "dcsevl" "initds" "xermsg"))
+ (:file "dbsk1e"
+ :depends-on ("dbesi1" "dcsevl" "initds" "xermsg"))
+ (:file "dbesk"
+ :depends-on ("dasyik" "dbesk0" "dbesk1" "dbsk0e" "dbsk1e" "dbsknu" "xermsg"))
+ (:file "dbsknu"
+ :depends-on ("dgamma" "xermsg"))
+ (:file "zbesk"
+ :depends-on ("zabs" "zacon" "zbknu" "zbunk" "zuoik"))
+
+ ;; Airy functions
+ (:file "d9aimp"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "daie"
+ :depends-on ("d9aimp" "dcsevl" "initds"))
+ (:file "dai"
+ :depends-on ("d9aimp" "daie" "dcsevl" "initds" "xermsg"))
+ (:file "dbie"
+ :depends-on ("d9aimp" "dcsevl" "initds"))
+ (:file "dbi"
+ :depends-on ("d9aimp" "dbie" "dcsevl" "initds" "xermsg"))
+ (:file "zbiry"
+ :depends-on ("zabs" "zbinu" "zdiv" "zsqrt"))
+
+ ;; Error functions
+ (:file "derf"
+ :depends-on ("dcsevl" "derfc" "initds"))
+ (:file "derfc"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+
+ ;; Exponential integrals
+ (:file "de1"
+ :depends-on ("dcsevl" "initds" "xermsg"))
+ (:file "dei"
+ :depends-on ("de1"))
+ (:file "dspenc"
+ :depends-on ("d9upak"))
+ (:file "d9upak")))
+ ))
+
More information about the lisplab-cvs
mailing list