X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=03fc24d281ef946a80cd1b89090bcac10e1a2ebc;hb=5ec859ec0f280b3dcec8320dce98bf325cb16c0e;hp=0fb81fd95bba01759604d4504e9067826a633c57;hpb=a7ef1fce8c272e0502b0d45bbe2d1b8a05de796d;p=clsql.git diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 0fb81fd..03fc24d 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -7,7 +7,7 @@ ;;;; Programmers: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: mysql-loader.lisp,v 1.3 2002/10/17 22:13:20 kevin Exp $ +;;;; $Id: mysql-loader.lisp,v 1.8 2003/05/17 06:03:03 kevin Exp $ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -25,38 +25,31 @@ ;;;; -- prevent library from being loaded multiple times ;;;; -- support Allegro CL and Lispworks -(defvar *clsql-mysql-library-filename* +(defparameter *clsql-mysql-library-path* (uffi:find-foreign-library "clsql-mysql" `(,(make-pathname :directory (pathname-directory *load-truename*)) - "/opt/lisp/clsql/db-mysql/" + "/usr/lib/clsql/" + "/sw/lib/clsql/" "/home/kevin/debian/src/clsql/db-mysql/") - :drive-letters '("C" "D" "E" "F" "G"))) - -(defvar *mysql-library-filename* - (cond - ((probe-file "/opt/mysql/lib/mysql/libmysqlclient.so") - "/opt/mysql/lib/mysql/libmysqlclient.so") - ((probe-file "/usr/local/lib/libmysqlclient.so") - "/usr/local/lib/libmysqlclient.so") - ((probe-file "/usr/local/lib/mysql/libmysqlclient.so") - "/usr/local/lib/mysql/libmysqlclient.so") - ((probe-file "/usr/lib/libmysqlclient.so") - "/usr/lib/libmysqlclient.so") - ((probe-file "/usr/lib/mysql/libmysqlclient.so") - "/usr/lib/mysql/libmysqlclient.so") - #+(or win32 mswindows) - ((probe-file "c:/mysql/lib/opt/libmysql.dll") - "c:/mysql/lib/opt/libmysql.dll") - (t - (error "Can't find MySQL client library to load."))) - "Location where the MySQL client library is to be found.") + :drive-letters '("C"))) +(defparameter *libz-library-path* + (uffi:find-foreign-library + "libz" + `(,(make-pathname :directory (pathname-directory *load-truename*)) + "/usr/lib/" + "/sw/lib/" + "/usr/local/lib/" + "/home/kevin/debian/src/clsql/db-mysql/") + :drive-letters '("C" "D" "E"))) + (defvar *mysql-library-candidate-names* '("libmysqlclient" "libmysql")) -(defvar *mysql-library-candidate-directories* - '("/opt/mysql/lib/mysql/" "/usr/local/lib/" "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/")) +(defparameter *mysql-library-candidate-directories* + `(,(pathname-directory *load-pathname*) + "/opt/mysql/lib/mysql/" "/usr/local/lib/" "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/" "/sw/lib/mysql/")) (defvar *mysql-library-candidate-drive-letters* '("C" "D" "E")) @@ -76,28 +69,22 @@ set to the right path before compiling or loading the system.") (uffi:find-foreign-library *mysql-library-candidate-names* *mysql-library-candidate-directories* :drive-letters - *mysql-library-candidate-drive-letters*)) - (zlib-path - (uffi:find-foreign-library '("libz" "zlib") - '("/usr/lib/" "/usr/local/lib/" "/lib/")))) + *mysql-library-candidate-drive-letters*))) (unless (probe-file mysql-path) (error "Can't find mysql client library to load")) - (unless (probe-file zlib-path) - (error "Can't find zlib client library to load")) - - (uffi:load-foreign-library zlib-path) (if (and + (uffi:load-foreign-library *libz-library-path*) (uffi:load-foreign-library mysql-path :module "mysql" :supporting-libraries *mysql-supporting-libraries*) - (uffi:load-foreign-library *clsql-mysql-library-filename* + (uffi:load-foreign-library *clsql-mysql-library-path* :module "clsql-mysql" :supporting-libraries (append *mysql-supporting-libraries*))) (setq *mysql-library-loaded* t) (error "Unable to load MySQL client library ~A or CLSQL-MySQL library ~A" - mysql-path *clsql-mysql-library-filename*)))) + mysql-path *clsql-mysql-library-path*)))) (clsql-base-sys:database-type-load-foreign :mysql)