;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: postgresql-loader.cl,v 1.2 2002/03/24 04:01:26 kevin Exp $
+;;;; $Id: postgresql-loader.cl,v 1.6 2002/04/08 01:22:02 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
(in-package :postgresql)
-(defvar *postgresql-library-filename*
- (cond
- ((probe-file "/opt/postgresql/lib/libpq.so")
- "/opt/postgresql/lib/libpq.so")
- ((probe-file "/usr/local/lib/libpq.so")
- "/usr/local/lib/libpq.so")
- ((probe-file "/usr/lib/libpq.so")
- "/usr/lib/libpq.so")
- #+(or win32 mswindows)
- ((probe-file "c:/postgresql/lib/libpq.dll")
- "c:/postgresql/lib/libpq.dll")
- (t
- (warn "Can't find PostgresQL client library to load.")))
- "Location where the PostgresSQL client library is to be found.")
(defvar *postgresql-supporting-libraries* '("crypt" "c")
"Used only by CMU. List of library flags needed to be passed to ld to
(defvar *postgresql-library-loaded* nil
"T if foreign library was able to be loaded successfully")
-(defmethod database-type-library-loaded ((database-type (eql :postgresql)))
+(defmethod clsql-sys:database-type-library-loaded ((database-type
+ (eql :postgresql)))
*postgresql-library-loaded*)
-(defmethod database-type-load-foreign ((database-type (eql :postgresql)))
+(defmethod clsql-sys:database-type-load-foreign ((database-type
+ (eql :postgresql)))
(when
- (uffi:load-foreign-library *postgresql-library-filename*
- :module "postgresql"
- :supporting-libraries
- *postgresql-supporting-libraries*)
+ (uffi:load-foreign-library
+ (uffi:find-foreign-library "libpq"
+ '("/opt/postgresql/lib/" "/usr/local/lib/"
+ "/usr/lib/" "/postgresql/lib/"
+ "/usr/local/pgsql/lib/" "/usr/lib/pgsql/"
+ "/opt/pgsql/lib/pgsql")
+ :drive-letters '("C" "D" "E"))
+
+ :module "postgresql"
+ :supporting-libraries
+ *postgresql-supporting-libraries*)
(setq *postgresql-library-loaded* t)))
-(database-type-load-foreign :postgresql)
+(clsql-sys:database-type-load-foreign :postgresql)