X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=uffi%2Fclsql-uffi-loader.lisp;h=04b9f248edafb3a3e3b8fa9ff4366c143982fd1d;hp=47a1f6ad2f86e4f35b0dc9f57df8c3e51e9dc677;hb=5bb8544ca8a58d10b57f751bad2c9abf4d7a13c8;hpb=ed84c1274e0eb175d877ee982298091dd2e2f034 diff --git a/uffi/clsql-uffi-loader.lisp b/uffi/clsql-uffi-loader.lisp index 47a1f6a..04b9f24 100644 --- a/uffi/clsql-uffi-loader.lisp +++ b/uffi/clsql-uffi-loader.lisp @@ -7,9 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Created: Mar 2002 ;;;; -;;;; $Id$ -;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg +;;;; This file, part of CLSQL, is Copyright (c) 2002-2010 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 @@ -24,24 +22,24 @@ well as any of the filenames in any of the clsql:*foreign-library-search-paths*" (setq filenames (if (listp filenames) filenames (list filenames))) (flet ((try-load (testpath) - (handler-case - (uffi:load-foreign-library testpath - :module module - :supporting-libraries supporting-libraries) - (error (c) (warn "~A" c) nil)))) + (handler-case + (uffi:load-foreign-library testpath + :module module + :supporting-libraries supporting-libraries) + (error nil)))) ;(c) (warn "~A" c) nil)))) (or (loop for type in (uffi:foreign-library-types) - thereis - (loop for name in filenames - for pn = (make-pathname :name name :type type) - thereis (or + thereis + (loop for name in filenames + for pn = (make-pathname :name name :type type) + thereis (or (try-load pn) - (loop for search-path in clsql:*foreign-library-search-paths* - thereis (try-load (merge-pathnames pn search-path)))))) + (loop for search-path in clsql:*foreign-library-search-paths* + thereis (try-load (merge-pathnames pn search-path)))))) (when errorp - (error "Couldn't load foreign librar~@P ~{~S~^, ~}. (searched ~S)" - (length filenames) filenames - 'clsql:*foreign-library-search-paths*))))) + (error "Couldn't load foreign librar~@P ~{~S~^, ~}. (searched ~S: ~S)" + (length filenames) filenames + 'clsql:*foreign-library-search-paths* clsql:*foreign-library-search-paths*))))) ;; searches clsql_uffi64 to accomodate both 32-bit and 64-bit libraries on same system (defvar *clsql-uffi-library-filenames* @@ -56,12 +54,12 @@ set to the right path before compiling or loading the system.") (defvar *uffi-library-loaded* nil "T if foreign library was able to be loaded successfully") -(defun load-uffi-foreign-library () - (clsql:push-library-path clsql-uffi-system::*clsql-uffi-library-dir*) - (find-and-load-foreign-library *clsql-uffi-library-filenames* - :module "clsql-uffi" - :supporting-libraries - *clsql-uffi-supporting-libraries*) - (setq *uffi-library-loaded* t)) +;; (defun load-uffi-foreign-library () +;; (clsql:push-library-path clsql-uffi-system::*clsql-uffi-library-dir*) +;; (find-and-load-foreign-library *clsql-uffi-library-filenames* +;; :module "clsql-uffi" +;; :supporting-libraries +;; *clsql-uffi-supporting-libraries*) +;; (setq *uffi-library-loaded* t)) -(load-uffi-foreign-library) +;; (load-uffi-foreign-library)