X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=957c39e48e7123105a067436e3c0180635b94b35;hp=c256d7018714432d6bad086d3361f76b769c6feb;hb=9bbed78051e80e6ab76ae47834136035602bbbf1;hpb=8b2ffc1ca1f3118db6fe4b879a82955338fccae4 diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index c256d70..957c39e 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.6 2002/12/09 10:34:16 kevin Exp $ +;;;; $Id$ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -16,8 +16,7 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) -(in-package :mysql) +(in-package #:mysql) ;;;; Modified by Kevin Rosenberg ;;;; - probe potential directories to find library @@ -27,22 +26,24 @@ (defparameter *clsql-mysql-library-path* (uffi:find-foreign-library - "clsql-mysql" + "mysql" `(,(make-pathname :directory (pathname-directory *load-truename*)) "/usr/lib/clsql/" "/sw/lib/clsql/" "/home/kevin/debian/src/clsql/db-mysql/") - :drive-letters '("C" "D" "E"))) + :drive-letters '("C"))) (defparameter *libz-library-path* (uffi:find-foreign-library - "libz" + '("libz" "zlib") `(,(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"))) + "/home/kevin/debian/src/clsql/db-mysql/" + "/mysql/lib/dll32/" + "/mysql/lib/opt/") + :drive-letters '("C"))) (defvar *mysql-library-candidate-names* '("libmysqlclient" "libmysql")) @@ -61,10 +62,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-base-sys:database-type-library-loaded ((database-type (eql :mysql))) +(defmethod clsql-base:database-type-library-loaded ((database-type (eql :mysql))) *mysql-library-loaded*) -(defmethod clsql-base-sys:database-type-load-foreign ((database-type (eql :mysql))) +(defmethod clsql-base:database-type-load-foreign ((database-type (eql :mysql))) (let ((mysql-path (uffi:find-foreign-library *mysql-library-candidate-names* *mysql-library-candidate-directories* @@ -72,20 +73,17 @@ set to the right path before compiling or loading the system.") *mysql-library-candidate-drive-letters*))) (unless (probe-file mysql-path) (error "Can't find mysql client library to load")) - (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-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*)))) + (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-path* + :module "clsql-mysql" + :supporting-libraries + (append *mysql-supporting-libraries*))) + (setq *mysql-library-loaded* t)) -(clsql-base-sys:database-type-load-foreign :mysql) +(clsql-base:database-type-load-foreign :mysql)