X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=interfaces%2Fmysql%2Fmysql-loader.cl;h=7a2345ab2092f550c611ecab950f63a9c8add38b;hb=42a951e9f7152e7c145958f4dfed41d4e865c9fd;hp=7434670da5a235391e45b2e3d2ed5506c7710bfe;hpb=4f48d771ad17d7e753382fe8f551e7a9ca9e7b53;p=clsql.git diff --git a/interfaces/mysql/mysql-loader.cl b/interfaces/mysql/mysql-loader.cl index 7434670..7a2345a 100644 --- a/interfaces/mysql/mysql-loader.cl +++ b/interfaces/mysql/mysql-loader.cl @@ -7,7 +7,7 @@ ;;;; Programmers: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: mysql-loader.cl,v 1.8 2002/05/13 22:05:21 kevin Exp $ +;;;; $Id: mysql-loader.cl,v 1.21 2002/07/26 02:47:12 kevin Exp $ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -26,11 +26,14 @@ ;;;; -- support Allegro CL and Lispworks (defvar *clsql-mysql-library-filename* - (translate-logical-pathname - #+(or linux unix) "CL-LIBRARY:clsql;interfaces;mysql;clsql-mysql.so" - #+(or mswindows win32) "CL-LIBRARY:clsql;interfaces;mysql;clsql-mysql.dll" - )) - + (uffi:find-foreign-library + "clsql-mysql" + `(,(directory-namestring + (translate-logical-pathname + "cl-library:clsql;interfaces;mysql;")) + "/usr/lib/clsql/") + :drive-letters '("C" "D" "E" "F" "G"))) + (defvar *mysql-library-filename* (cond ((probe-file "/opt/mysql/lib/mysql/libmysqlclient.so") @@ -62,10 +65,10 @@ set to the right path before compiling or loading the system.") (defvar *mysql-library-loaded* nil "T if foreign library was able to be loaded successfully") -(defmethod clsql-sys:database-type-library-loaded ((database-type (eql :mysql))) +(defmethod clsql-base-sys:database-type-library-loaded ((database-type (eql :mysql))) *mysql-library-loaded*) -(defmethod clsql-sys:database-type-load-foreign ((database-type (eql :mysql))) +(defmethod clsql-base-sys:database-type-load-foreign ((database-type (eql :mysql))) (let ((mysql-path (uffi:find-foreign-library *mysql-library-candidate-names* *mysql-library-candidate-directories* @@ -75,8 +78,7 @@ set to the right path before compiling or loading the system.") (uffi:load-foreign-library (uffi:find-foreign-library '("libz" "zlib") '("/usr/lib/" "/usr/local/" "/lib/"))) - (when - (and + (if (and (uffi:load-foreign-library mysql-path :module "mysql" :supporting-libraries @@ -85,11 +87,10 @@ set to the right path before compiling or loading the system.") :module "clsql-mysql" :supporting-libraries (append *mysql-supporting-libraries*))) - (setq *mysql-library-loaded* t)))) + (setq *mysql-library-loaded* t) + (warn "Unable to load MySQL client library ~A or CLSQL-MySQL library ~A" + mysql-path *clsql-mysql-library-filename*)))) + +(clsql-base-sys:database-type-load-foreign :mysql) -(clsql-sys:database-type-load-foreign :mysql) -(when (clsql-sys:database-type-library-loaded :mysql) - (clsql-sys:initialize-database-type :database-type :mysql) - (setq clsql:*default-database-type* :mysql) - (pushnew :mysql cl:*features*))