;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: postgresql-loader.cl,v 1.4 2002/04/01 05:27:55 kevin Exp $
+;;;; $Id: postgresql-loader.cl,v 1.11 2002/05/18 17:37:49 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
(defmethod clsql-sys:database-type-load-foreign ((database-type
(eql :postgresql)))
- (when
- (uffi:load-foreign-library
- (uffi:find-foreign-library
- "libpq"
- '("/opt/postgresql/lib/" "/usr/local/lib" "usr/lib/"
- "/postgresql/lib/"))
- :module "postgresql"
- :supporting-libraries
- *postgresql-supporting-libraries*)
- (setq *postgresql-library-loaded* t)))
+ (let ((libpath (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"))))
+ (if (uffi:load-foreign-library libpath
+ :module "postgresql"
+ :supporting-libraries
+ *postgresql-supporting-libraries*)
+ (setq *postgresql-library-loaded* t)
+ (warn "Can't load PostgreSQL client library ~A" libpath))))
(clsql-sys:database-type-load-foreign :postgresql)
+