[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