Update of /project/elephant/cvsroot/elephant In directory common-lisp:/tmp/cvs-serv13327
Modified Files: INSTALL ele-clsql.asd elephant.asd Added Files: config.lisp Log Message: New Configuration mechanism. Minor test changes. At least to SQL-side fixes.
--- /project/elephant/cvsroot/elephant/INSTALL 2006/02/20 15:45:36 1.16 +++ /project/elephant/cvsroot/elephant/INSTALL 2006/02/22 20:18:51 1.17 @@ -93,7 +93,7 @@
b) Also edit the variable *sleepycat-foreign-library-path* in
- ele-bdb.asd + config.lisp
to point to your local distribution of the Berkeley DB libraries
--- /project/elephant/cvsroot/elephant/ele-clsql.asd 2006/02/19 16:22:39 1.6 +++ /project/elephant/cvsroot/elephant/ele-clsql.asd 2006/02/22 20:18:51 1.7 @@ -16,11 +16,35 @@ ;;; as governed by the terms of the Lisp Lesser GNU Public License ;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+;; (eval-when (:compile-toplevel :load-toplevel :execute) +;; (unless (find-package 'clsql) +;; (asdf:operate 'asdf:load-op 'clsql))) + +;; ;; clsql needs to know how to find libaries to various databases.... +;; (defvar *clsql-foreign-lib-path* "/usr/lib") +;; (defvar *elephant-lib-path* "/usr/local/share/common-lisp/elephant/") +;; (clsql:push-library-path *clsql-foreign-lib-path*) +;; (clsql:push-library-path *elephant-lib-path*) +;; ) + +(defparameter *clsql-foreign-lib-path* #p"/usr/lib") +(defparameter *elephant-lib-path* #p"/usr/local/share/common-lisp/elephant/") + +(defmethod asdf:perform :after ((o asdf:load-op) + (c (eql (asdf:find-system 'clsql)))) + (let ((plp (find-symbol (symbol-name '#:push-library-path) + (find-package 'clsql)))) + (funcall plp + *clsql-foreign-lib-path*) + (funcall plp + *elephant-lib-path*) +)) + (defsystem ele-clsql :name "elephant" :author "Ben Lee blee@common-lisp.net" :version "0.6.0" - :maintainer "Ben Lee blee@common-lisp.net" + :maintainer "Robert L. Read rread@common-lisp.net" :licence "LLGPL" :description "SQL-based Object respository for Common Lisp" :long-description "An experimental CL-SQL based implementation of Elephant" --- /project/elephant/cvsroot/elephant/elephant.asd 2006/02/19 20:06:03 1.15 +++ /project/elephant/cvsroot/elephant/elephant.asd 2006/02/22 20:18:51 1.16 @@ -95,6 +95,7 @@ (:module elephant :components ((:file "elephant") + (:file "config" :pathname "../../config.lisp") (:file "variables") #+cmu (:file "cmu-mop-patches") #+openmcl (:file "openmcl-mop-patches")
--- /project/elephant/cvsroot/elephant/config.lisp 2006/02/22 20:18:51 NONE +++ /project/elephant/cvsroot/elephant/config.lisp 2006/02/22 20:18:51 1.1 ;; CLSQL BACKEND ;; Make sure the libraries that CLSQL needs for a particular system ;; are pointed to by these libraries. ;; These values will be irrelevant if you don't use a CLSQL-based backend. (defparameter *clsql-foreign-lib-path* #p"/usr/local/share/common-lisp/elephant/")
;; BerkeleyDB ;; Make sure the libraries that CLSQL needs for a particular system ;; are pointed to by these libraries. (defparameter *sleepycat-foreign-library-path* ;; Sleepycat: this works on linux #+linux ;; "/db/ben/lisp/db43/lib/libdb.so" "/usr/local/BerkeleyDB.4.3/lib/libdb-4.3.so" ;; this works on FreeBSD #+(and (or bsd freebsd) (not (or darwin macosx))) "/usr/local/lib/db43/libdb.so" #+(or darwin macosx) ;; for Fink (OS X) -- but I will assume Linux more common... ;; "/sw/lib/libdb-4.3.dylib" ;; a possible manual install "/usr/local/BerkeleyDB.4.3/lib/libdb.dylib")