X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-mysql%2Fmysql-loader.lisp;h=db664e7ba667c96263f4bf0bdd8132458b79c9e8;hb=2961f4f122593e9d4875e88e6af159de28c8dd47;hp=675014f50c1f8734b2ef7373939c07fabbe02c56;hpb=ff3e241d9a9b1b82a94036e204c72e6f860c8023;p=clsql.git diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 675014f..db664e7 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -2,14 +2,14 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: mysql-loader.sql -;;;; Purpose: MySQL library loader using UFFI -;;;; Programmers: Kevin M. Rosenberg -;;;; Date Started: Feb 2002 +;;;; Name: mysql-loader.sql +;;;; Purpose: MySQL library loader using UFFI +;;;; Author: Kevin M. Rosenberg +;;;; Created: Feb 2002 ;;;; ;;;; $Id$ ;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 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,39 +18,22 @@ (in-package #:mysql) -;;;; Modified by Kevin Rosenberg -;;;; - probe potential directories to find library -;;;; - Changed from CMUCL functions to UFFI to -;;;; -- prevent library from being loaded multiple times -;;;; -- support Allegro CL and Lispworks - (defparameter *clsql-mysql-library-path* (uffi:find-foreign-library "mysql" - `(,(make-pathname :directory (pathname-directory *load-truename*)) + `(,clsql-mysql-system::*library-file-dir* "/usr/lib/clsql/" - "/sw/lib/clsql/" - "/home/kevin/debian/src/clsql/db-mysql/") + "/sw/lib/clsql/") :drive-letters '("C"))) -(defparameter *libz-library-path* - (uffi:find-foreign-library - '("libz" "zlib") - `(,(make-pathname :directory (pathname-directory *load-truename*)) - "/usr/lib/" - "/sw/lib/" - "/usr/local/lib/" - "/home/kevin/debian/src/clsql/db-mysql/" - "/mysql/lib/dll32/" - "/mysql/lib/opt/") - :drive-letters '("C"))) - (defvar *mysql-library-candidate-names* '("libmysqlclient" "libmysql")) (defparameter *mysql-library-candidate-directories* `(,(pathname-directory *load-pathname*) - "/opt/mysql/lib/mysql/" "/usr/local/lib/" "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/" "/sw/lib/mysql/")) + "/opt/mysql/lib/mysql/" "/usr/local/lib/" + #+64bit "/usr/lib64/" + "/usr/lib/" "/usr/local/lib/mysql/" "/usr/lib/mysql/" "/mysql/lib/opt/" "/sw/lib/mysql/" "/opt/local/lib/mysql/")) (defvar *mysql-library-candidate-drive-letters* '("C" "D" "E")) @@ -62,10 +45,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-sys: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-sys:database-type-load-foreign ((database-type (eql :mysql))) (let ((mysql-path (uffi:find-foreign-library *mysql-library-candidate-names* *mysql-library-candidate-directories* @@ -73,7 +56,6 @@ 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")) - (uffi:load-foreign-library *libz-library-path*) (uffi:load-foreign-library mysql-path :module "mysql" :supporting-libraries @@ -85,5 +67,5 @@ set to the right path before compiling or loading the system.") (setq *mysql-library-loaded* t)) -(clsql-base-sys:database-type-load-foreign :mysql) +(clsql-sys:database-type-load-foreign :mysql)