Remove old windows .dll files from source
[clsql.git] / clsql-mysql.asd
index 378082763c040675a8d23860eb0df24e2847e065..12b8479dbec78c9c1a4efa647b78d6096596555a 100644 (file)
@@ -7,9 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id$
-;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
   (unless (find-package 'uffi)
     (asdf:operate 'asdf:load-op 'uffi)))
 
-(defvar *library-file-dir* (append (pathname-directory *load-truename*)
-                                  (list "db-mysql")))
+(defvar *library-file-dir*
+  (merge-pathnames "db-mysql/"
+                   (make-pathname :name nil :type nil
+                                  :defaults *load-truename*)))
 
 (defclass clsql-mysql-source-file (c-source-file)
   ())
                            (probe-file (make-pathname :directory dir
                                                       :name (component-name c)
                                                       :type library-file-type)))
-                       '((:absolute "usr" "lib" "clsql"))))) 
+                       '((:absolute "usr" "lib" "clsql")))))
     (list (if found
              found
              (make-pathname :name (component-name c)
                             :type library-file-type
-                            :directory *library-file-dir*)))))
+                            :defaults *library-file-dir*)))))
 
 (defmethod perform ((o load-op) (c clsql-mysql-source-file))
   t)
 
 (defmethod operation-done-p ((o load-op) (c clsql-mysql-source-file))
-  (and (symbol-function (intern (symbol-name '#:mysql-get-client-info)
+  (and (find-package '#:mysql)
+       (symbol-function (intern (symbol-name '#:mysql-get-client-info)
                                (find-package '#:mysql)))
-       t)) 
+       t))
 
 (defmethod perform ((o compile-op) (c clsql-mysql-source-file))
   (unless (operation-done-p o c)
-    #-(or win32 mswindows)
+    #-(or win32 win64 windows 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*))))
+                   (namestring *library-file-dir*)))
       (error 'operation-error :component c :operation o))))
 
 (defmethod operation-done-p ((o compile-op) (c clsql-mysql-source-file))
-  (or (and (probe-file #p"/usr/lib/clsql/mysql.so") t)
+  (or (and (probe-file #p"/usr/lib/clsql/clsql_mysql.so") t)
       (let ((lib (make-pathname :defaults (component-pathname c)
                                :type (uffi:default-foreign-library-type))))
-       (and (probe-file lib)
+       (and (probe-file lib) (probe-file (component-pathname c))
             (> (file-write-date lib) (file-write-date (component-pathname c)))))))
 
 ;;; System definition
   :description "Common Lisp SQL MySQL Driver"
   :long-description "cl-sql-mysql package provides a database driver to the MySQL database system."
 
-  :depends-on (uffi clsql clsql-uffi)
+  :depends-on (clsql clsql-uffi)
   :components
   ((:module :db-mysql
            :components
            ((:file "mysql-package")
-            (:clsql-mysql-source-file "mysql" :depends-on ("mysql-package"))
-            (:file "mysql-loader" :depends-on ("mysql-package" "mysql"))
+            (:clsql-mysql-source-file "clsql_mysql" :depends-on ("mysql-package"))
+            (:file "mysql-loader" :depends-on ("mysql-package" "clsql_mysql"))
             (:file "mysql-client-info" :depends-on ("mysql-loader"))
             (:file "mysql-api" :depends-on ("mysql-client-info"))
             (:file "mysql-sql" :depends-on ("mysql-api"))