X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=clsql-mysql.asd;h=a229791304ebf382461acd183d63eb61b37844db;hb=7a01154e40dd4516ece2ebe2267a11dec1f9a18f;hp=72b961f0108b54e10a399d70ac3c4fc23e35075b;hpb=614e68954c499aa0424c70245b4b33c8b5ba8687;p=clsql.git diff --git a/clsql-mysql.asd b/clsql-mysql.asd index 72b961f..a229791 100644 --- a/clsql-mysql.asd +++ b/clsql-mysql.asd @@ -45,26 +45,30 @@ :directory *library-file-dir*))))) (defmethod perform ((o load-op) (c clsql-mysql-source-file)) - nil) ;;; library will be loaded by a loader file + t) (defmethod operation-done-p ((o load-op) (c clsql-mysql-source-file)) - nil) + (and (symbol-function (intern (symbol-name '#:mysql-get-client-info) + (find-package '#:mysql))) + t)) (defmethod perform ((o compile-op) (c clsql-mysql-source-file)) - #-(or win32 mswindows) - (unless (zerop (run-shell-command - #-freebsd "cd ~A; make" - #+freebsd "cd ~A; gmake" - (namestring (make-pathname :name nil - :type nil - :directory *library-file-dir*)))) - (error 'operation-error :component c :operation o))) + (unless (operation-done-p o c) + #-(or win32 mswindows) + (unless (zerop (run-shell-command + #-freebsd "cd ~A; make" + #+freebsd "cd ~A; gmake" + (namestring (make-pathname :name nil + :type nil + :directory *library-file-dir*)))) + (error 'operation-error :component c :operation o)))) (defmethod operation-done-p ((o compile-op) (c clsql-mysql-source-file)) - (let ((lib (make-pathname :defaults (component-pathname c) - :type (uffi:default-foreign-library-type)))) - (and (probe-file lib) - (> (file-write-date lib) (file-write-date (component-pathname c)))))) + (or (and (probe-file #p"/usr/lib/clsql/mysql.so") t) + (let ((lib (make-pathname :defaults (component-pathname c) + :type (uffi:default-foreign-library-type)))) + (and (probe-file lib) + (> (file-write-date lib) (file-write-date (component-pathname c))))))) ;;; System definition @@ -81,8 +85,8 @@ :components ((:module :db-mysql :components - ((:clsql-mysql-source-file "mysql") - (:file "mysql-package") + ((:file "mysql-package") + (:clsql-mysql-source-file "mysql" :depends-on ("mysql-package")) (:file "mysql-loader" :depends-on ("mysql-package" "mysql")) (:file "mysql-client-info" :depends-on ("mysql-loader")) (:file "mysql-api" :depends-on ("mysql-client-info"))