[lisplab-cvs] r55 -
Jørn Inge Vestgården
jivestgarden at common-lisp.net
Thu Jun 11 18:55:22 UTC 2009
Author: jivestgarden
Date: Thu Jun 11 14:55:21 2009
New Revision: 55
Log:
fixed default loading and builing of ffi libs
Removed:
libs.lisp
Modified:
lisplab.asd
start.lisp
Modified: lisplab.asd
==============================================================================
--- lisplab.asd (original)
+++ lisplab.asd Thu Jun 11 14:55:21 2009
@@ -1,13 +1,25 @@
+
(in-package :cl-user)
+
+(defvar *lisplab-libblas-path* nil "Path to blas shared object file")
+(defvar *lisplab-liblapack-path* nil "Path to lapack shared object file")
+(defvar *lisplab-fftw-path* nil "Path to fftw shared object file")
+
(defpackage :asdf-lisplab (:use :asdf :cl))
(in-package :asdf-lisplab)
-(defun get-lisplab-lib (name &optional (libs #P"libs.lisp"))
- (cdr (assoc name (with-open-file (out libs)
- (read out)))))
+(defun load-lisplab-lib (name)
+ (sb-alien:load-shared-object name))
(defsystem :lisplab
+ ;; Default system, without external libs
+ :depends-on
+ (:lisplab-base
+ :quadpack))
+
+(defsystem :lisplab-all
+ ;; Default system, without all libs
:depends-on
(:lisplab-base
:lisplab-matlisp
@@ -118,18 +130,18 @@
(:file "f77-mangling")
(:module :blas-libs
:perform (asdf:load-op :after (op c)
- (sb-alien:load-shared-object
- (get-lisplab-lib :libblas)))
+ (load-lisplab-lib
+ cl-user::*lisplab-libblas-path*))
:explain (asdf:load-op :after (op c)
(format t "Loads alien object <~A>"
- (get-lisplab-lib :libblas))))
- (:module :lapack-libs
+ cl-user::*lisplab-libblas-path*)))
+ (:module :lapack-libs
:perform (asdf:load-op :after (op c)
- (sb-alien:load-shared-object
- (get-lisplab-lib :liblapack)))
+ (load-lisplab-lib
+ cl-user::*lisplab-liblapack-path*))
:explain (asdf:load-op :after (op c)
(format t "Loads alien object <~A>"
- (get-lisplab-lib :liblapack))))
+ cl-user::*lisplab-liblapack-path*)))
(:file "f77-package")
(:file "ffi-sbcl")
(:file "blas")
@@ -153,12 +165,11 @@
((:file "fftw-ffi-package")
(:module :fftw-libs
:perform (asdf:load-op :after (op c)
- (sb-alien:load-shared-object
- (get-lisplab-lib :libfftw)))
+ (load-lisplab-lib
+ cl-user::*lisplab-libfftw-path*))
:explain (asdf:load-op :after (op c)
(format t "Loads alien object <~A>"
- (get-lisplab-lib :libfftw))))
-
+ cl-user::*lisplab-libfftw-path*)))
(:file "fftw-ffi")
(:file "level3-fft-fftw")))))
Modified: start.lisp
==============================================================================
--- start.lisp (original)
+++ start.lisp Thu Jun 11 14:55:21 2009
@@ -1,14 +1,28 @@
+;; Loads lisplab. Hack this file to fit your setup
+;; and your shared libraries.
(in-package :cl-user)
+;; TODO make this part of the package
(setf *READ-DEFAULT-FLOAT-FORMAT* 'double-float)
+;; (defvar *lisplab-libblas-path* #P"/usr/lib/atlas/libblas.so.3.0")
+;; (defvar *lisplab-liblapack-path* #P"/usr/lib/atlas/liblapack.so.3.0")
+;; (defvar *lisplab-libfftw-path* #P"/usr/lib/libfftw3.so.3")
+
(defun load-lisplab ()
(asdf:oos 'asdf:load-op 'lisplab)
(let ((asdf:*compile-file-failure-behaviour* :ignore))
;; There seems to bee some compilation trouble in SBCL
;; due to type interference. Should be fixed, not just skipped.
- (asdf:oos 'asdf:load-op 'slatec)))
+ (asdf:oos 'asdf:load-op 'slatec))
+
+ ;; The system lisplab-matlisp depends on libblas.so and liblapack.so
+ ;; (asdf:oos 'asdf:load-op 'lisplab-matlisp)
+
+ ;; The system lisplab-fftw depends on libfftw.so
+ ;; (asdf:oos 'asdf:load-op 'lisplab-fftw)
+ )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(load-lisplab)
More information about the lisplab-cvs
mailing list