X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=43189cfed66138189cd4356feb1e48218ccf37b9;hb=9d6ec50020109467ff766ad753a4194ee756b1b9;hp=354e61e771184483c005f68b7707f5e3147ecd32;hpb=a1921eaa3bd9a412a736a36bdd50ff5766ab1c9f;p=clsql.git diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 354e61e..43189cf 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -18,13 +18,10 @@ (in-package #:mysql) -(defparameter *clsql-mysql-library-candidate-names* - (list #+(or 64bit x86-64) (make-pathname :name "clsql_mysql64" - :directory (pathname-directory *load-truename*)) - #+(or 64bit x86-64) "clsql_mysql64" - (make-pathname :name "clsql_mysql" - :directory (pathname-directory *load-truename*)) - "clsql_mysql")) +;; searches clsql_mysql64 to accomodate both 32-bit and 64-bit libraries on same system +(defparameter *clsql-mysql-library-candidate-names* + `(,@(when (> most-positive-fixnum (expt 2 32)) (list "clsql_mysql64")) + "clsql_mysql")) (defvar *mysql-library-candidate-names* '("libmysqlclient" "libmysql")) @@ -39,13 +36,17 @@ set to the right path before compiling or loading the system.") (defmethod clsql-sys:database-type-library-loaded ((database-type (eql :mysql))) *mysql-library-loaded*) - + (defmethod clsql-sys:database-type-load-foreign ((database-type (eql :mysql))) + (clsql:push-library-path + (make-pathname :directory clsql-mysql-system::*library-file-dir*)) + (clsql-uffi:find-and-load-foreign-library *mysql-library-candidate-names* - :module "mysql" + :module "mysql" :supporting-libraries *mysql-supporting-libraries*) + (clsql-uffi:find-and-load-foreign-library *clsql-mysql-library-candidate-names* - :module "clsql-mysql" + :module "clsql-mysql" :supporting-libraries *mysql-supporting-libraries*) (setq *mysql-library-loaded* t))