X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=cb75e5e5b3959db88f637aa4a94a2dcf499ce256;hb=7127589ca079f4f4279be601ebd272b7488906b4;hp=0267343684e20c0e441ce595b0b01ac6eb776472;hpb=650466772f9eefbafd68fa66a4f5e5b4efd14c3a;p=clsql.git diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 0267343..cb75e5e 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 @@ -24,7 +22,12 @@ "clsql_mysql")) (defvar *mysql-library-candidate-names* - '("libmysqlclient" "libmysql")) + '( + #+(or allegro cmu lispworks openmcl sb-thread scl) "libmysqlclient_r" + "libmysqlclient" + "libmysql")) + + (defvar *mysql-supporting-libraries* '("c") "Used only by CMU. List of library flags needed to be passed to ld to @@ -38,21 +41,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*)) + (unless *mysql-library-loaded* + (clsql:push-library-path clsql-mysql-system::*library-file-dir*) - ;; since clsql-mysql is dynamically linked to libmysqlclient, do not need to - ;; load libmysqlclient directly - ;; - ;;(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)) + (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))) (clsql-sys:database-type-load-foreign :mysql) -