r2038: Debian build
[clsql.git] / interfaces / clsql-uffi / clsql-uffi-loader.cl
index ea886ef61214f8dd5f4bb5c5662fc599a076a568..c9dd921c08540908d5b95468e28fcf5f458960ab 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmers:   Kevin M. Rosenberg
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: clsql-uffi-loader.cl,v 1.1 2002/03/27 08:09:25 kevin Exp $
+;;;; $Id: clsql-uffi-loader.cl,v 1.5 2002/05/14 16:03:52 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 (in-package :clsql-uffi)
 
 (defvar *clsql-uffi-library-filename* 
-    (translate-logical-pathname 
-     #+(or linux unix) "CLSQL:interfaces;clsql-uffi;clsql-uffi.so"
-     #+(or mswindows win32) "CLSQL:interfaces;clsql-uffi;clsql-uffi.dll"
-     ))
+  (uffi:find-foreign-library
+   :names "clsql-uffi"
+   :directories 
+   (translate-logical-pathname 
+    "CL-LIBRARY:clsql;interfaces;clsql-uffi;clsql-uffi.so")
+   "/usr/share/common-lisp/source/clsql/interfaces/clsql-uffi/"))
 
 (defvar *clsql-uffi-supporting-libraries* '("c")
   "Used only by CMU. List of library flags needed to be passed to ld to
@@ -34,11 +36,13 @@ set to the right path before compiling or loading the system.")
   "T if foreign library was able to be loaded successfully")
 
 (defun load-uffi-foreign-library ()
-  (when (uffi:load-foreign-library *clsql-uffi-library-filename* 
-                                 :module "clsql-uffi" 
-                                 :supporting-libraries 
-                                 *clsql-uffi-supporting-libraries*)
-    (setq *uffi-library-loaded* t)))
+  (if (uffi:load-foreign-library *clsql-uffi-library-filename* 
+                                :module "clsql-uffi" 
+                                :supporting-libraries 
+                                *clsql-uffi-supporting-libraries*)
+      (setq *uffi-library-loaded* t)
+    (warn "Unable to load helper library ~A (~S)" *clsql-uffi-library-filename*
+         (logical-pathname-translations "CL-LIBRARY"))))
 
 (load-uffi-foreign-library)