X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=uffi%2Fclsql-uffi-loader.lisp;h=2705f554ee88a746ec35b3855feb578e3aa8bd63;hp=084f66ae160fded631dbe9e4e33d623844c3d511;hb=1b07d2fd927cf8f1943ac0a0b8c980d1dc707076;hpb=78489032c6f66ce666ffe5e2e726503b61b94616 diff --git a/uffi/clsql-uffi-loader.lisp b/uffi/clsql-uffi-loader.lisp index 084f66a..2705f55 100644 --- a/uffi/clsql-uffi-loader.lisp +++ b/uffi/clsql-uffi-loader.lisp @@ -28,24 +28,25 @@ well as any of the filenames in any of the clsql:*foreign-library-search-paths*" (uffi:load-foreign-library testpath :module module :supporting-libraries supporting-libraries) - (error (c) (warn "~A" c) nil)))) + (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 + (try-load pn) (loop for search-path in clsql:*foreign-library-search-paths* - thereis (try-load (merge-pathnames pn search-path))) - (try-load pn)))) + 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*))))) +;; searches clsql_uffi64 to accomodate both 32-bit and 64-bit libraries on same system (defvar *clsql-uffi-library-filenames* - (list #+(or 64bit x86-64) "clsql_uffi64" - "clsql_uffi")) + `(,@(when (> most-positive-fixnum (expt 2 32)) (list "clsql_uffi64")) + "clsql_uffi")) (defvar *clsql-uffi-supporting-libraries* '("c") "Used only by CMU. List of library flags needed to be passed to ld to