X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql.asd;h=f423927cecfb262027d2057fa504c0159237f4e2;hp=f9e8bff1ac2534971996732e1d2cc37d5aff191b;hb=0e43efc5b776edd86d304e103123944a84efd9a4;hpb=e622ee6f4bf2b9fe81af59d566e651c983a4833b diff --git a/clsql.asd b/clsql.asd index f9e8bff..f423927 100644 --- a/clsql.asd +++ b/clsql.asd @@ -18,7 +18,12 @@ (defpackage #:clsql-system (:use #:asdf #:cl)) (in-package #:clsql-system) -(defsystem #:clsql +;; 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 " :maintainer "Kevin M. Rosenberg " @@ -31,7 +36,7 @@ oriented interface." :components ((:module sql :components - ((:module :base + ((:module base :pathname "" :components ((:file "cmucl-compat") @@ -43,43 +48,53 @@ 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")) (:file "pool")) - :depends-on (:base)) - (:module :syntax + :depends-on (base)) + (:module syntax :pathname "" :components ((:file "expressions") - (:file "operations" + (:file "operations" :depends-on ("expressions")) (:file "syntax" :depends-on ("operations"))) - :depends-on (:database)) - (:module :functional + :depends-on (database)) + (:module functional :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 + :depends-on (syntax)) + (:module object :pathname "" - :components ((:file "metaclasses") - (:file "ooddl" :depends-on ("metaclasses")) - (:file "oodml" :depends-on ("ooddl"))) - :depends-on (:functional)) - (:module :generic + :components ((:file "metaclasses") + (:file "ooddl" :depends-on ("metaclasses")) + (:file "oodml" :depends-on ("ooddl"))) + :depends-on (functional)) + (:module generic :pathname "" - :components ((:file "generic-postgresql") - (:file "generic-odbc") - (:file "sequences")) - :depends-on (:functional)))))) - + :components ((:file "generic-postgresql") + (:file "generic-odbc") + (:file "sequences")) + :depends-on (functional)))))) + (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)))) +