X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql.asd;h=1a5fcdf1c18fdfce2d5f1c1f1619405955584231;hp=2e7efe9659f29145707c95e228405ff79fedfe89;hb=ed3fc2379a78875cf80cdb4d000c0bfdf8806fe7;hpb=c47ffde0f8939ddf0a04623b33777bb3a9fd365c diff --git a/clsql.asd b/clsql.asd index 2e7efe9..1a5fcdf 100644 --- a/clsql.asd +++ b/clsql.asd @@ -18,6 +18,17 @@ (defpackage #:clsql-system (:use #:asdf #:cl)) (in-package #:clsql-system) +#+clisp +(progn + (asdf:operate 'asdf:load-op 'cffi) + (asdf:operate 'asdf:load-op 'cffi-uffi-compat) + (asdf:defsystem uffi :depends-on (cffi-uffi-compat))) + +;; need to load uffi for below perform :after method +(eval-when (:compile-toplevel :load-toplevel :execute) + (unless (find-package 'uffi) + (asdf:operate 'asdf:load-op 'uffi))) + (defsystem clsql :name "CLSQL" :author "Kevin Rosenberg " @@ -43,9 +54,9 @@ oriented interface." (:file "time" :depends-on ("package" "conditions")) (:file "utils" :depends-on ("package" "db-interface")) (:file "generics" :depends-on ("package")))) - (:module database - :pathname "" - :components + (:module database + :pathname "" + :components ((:file "initialize") (:file "database" :depends-on ("initialize")) (:file "recording" :depends-on ("database")) @@ -54,7 +65,7 @@ oriented interface." (:module syntax :pathname "" :components ((:file "expressions") - (:file "operations" + (:file "operations" :depends-on ("expressions")) (:file "syntax" :depends-on ("operations"))) :depends-on (database)) @@ -62,8 +73,9 @@ oriented interface." :pathname "" :components ((:file "fdml") (:file "transaction" :depends-on ("fdml")) - (:file "loop-extension" - :depends-on ("fdml")) + #+clisp (:file "ansi-loop") + (:file "loop-extension" + :depends-on ("fdml" #+clisp "ansi-loop")) (:file "fddl" :depends-on ("fdml"))) :depends-on (syntax)) (:module object @@ -83,3 +95,12 @@ oriented interface." (defmethod perform ((o test-op) (c (eql (find-system 'clsql)))) (operate 'load-op 'clsql-tests) (operate 'test-op 'clsql-tests :force t)) + +(defmethod perform :after ((o load-op) (c (eql (find-system 'clsql)))) + (let* ((init-var (uffi:getenv "CLSQLINIT")) + (init-file (or (when init-var (probe-file init-var)) + (probe-file "/etc/clsql-init.lisp") + #+(or mswin windows win32) + (probe-file "c:\\etc\\clsql-init.lisp")))) + (when init-file (load init-file)))) +