;;;; Programmers: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: mysql-loader.cl,v 1.4 2002/04/01 05:27:55 kevin Exp $
+;;;; $Id: mysql-loader.cl,v 1.18 2002/05/27 17:19:30 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;; -- support Allegro CL and Lispworks
(defvar *clsql-mysql-library-filename*
- (translate-logical-pathname
- #+(or linux unix) "CLSQL:interfaces;mysql;clsql-mysql.so"
- #+(or mswindows win32) "CLSQL:interfaces;mysql;clsql-mysql.dll"
- ))
-
+ (uffi:find-foreign-library
+ "clsql-mysql"
+ `(,(directory-namestring
+ (translate-logical-pathname
+ "CL-LIBRARY:clsql;interfaces;mysql;"))
+ "/usr/share/common-lisp/source/clsql/interfaces/mysql/")
+ :drive-letters '("C" "D" "E" "F" "G")))
+
(defvar *mysql-library-filename*
(cond
((probe-file "/opt/mysql/lib/mysql/libmysqlclient.so")
(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*
:drive-letters
*mysql-library-candidate-drive-letters*)))
- (when
- (and
+ ;; zlib required to load mysql on CMUCL Solaris
+ (uffi:load-foreign-library
+ (uffi:find-foreign-library '("libz" "zlib")
+ '("/usr/lib/" "/usr/local/" "/lib/")))
+ (if (and
(uffi:load-foreign-library mysql-path
:module "mysql"
:supporting-libraries
: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-sys:database-type-load-foreign :mysql)
+(clsql-base-sys:database-type-load-foreign :mysql)