X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=afea3e5415359a5dd155b1ff1a86c95c0335d050;hp=0ec9c03c2f74e592575605f6ececc8e776bfa609;hb=79d8426bb78f25255a2cb2550ed2d41174b35b53;hpb=868b0433b0430c362da1d5fd1d7cba63757d07e1 diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 0ec9c03..afea3e5 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -7,9 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Created: Feb 2002 ;;;; -;;;; $Id$ -;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 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 @@ -18,9 +16,10 @@ (in-package #:mysql) +;; searches clsql_mysql64 to accomodate both 32-bit and 64-bit libraries on same system (defparameter *clsql-mysql-library-candidate-names* - (list #+(or 64bit x86-64) "clsql_mysql64" - "clsql_mysql")) + `(,@(when (> most-positive-fixnum (expt 2 32)) (list "clsql_mysql64")) + "clsql_mysql")) (defvar *mysql-library-candidate-names* '("libmysqlclient" "libmysql")) @@ -37,16 +36,16 @@ set to the right path before compiling or loading the system.") *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" - :supporting-libraries *mysql-supporting-libraries*) - (clsql-uffi:find-and-load-foreign-library *clsql-mysql-library-candidate-names* - :module "clsql-mysql" - :supporting-libraries *mysql-supporting-libraries*) - (setq *mysql-library-loaded* t)) + (unless *mysql-library-loaded* + (clsql:push-library-path clsql-mysql-system::*library-file-dir*) + (clsql-uffi:find-and-load-foreign-library *mysql-library-candidate-names* + :module "mysql" + :supporting-libraries *mysql-supporting-libraries*) -(clsql-sys:database-type-load-foreign :mysql) + (clsql-uffi:find-and-load-foreign-library *clsql-mysql-library-candidate-names* + :module "clsql-mysql" + :supporting-libraries *mysql-supporting-libraries*) + (setq *mysql-library-loaded* t))) +(clsql-sys:database-type-load-foreign :mysql)