X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src-main%2Flibraries.cl;h=0cf1e0c05c3a6b1933ae638b560b10d1b5f11bf1;hb=7910f79a2608499f93dc4f3d50e04c355d511890;hp=b37549b3ffd3a66e3c980f27827314c376af1751;hpb=0eaed82d93e9d2afbdcbdb8b49b0fc2386f86963;p=uffi.git diff --git a/src-main/libraries.cl b/src-main/libraries.cl index b37549b..0cf1e0c 100644 --- a/src-main/libraries.cl +++ b/src-main/libraries.cl @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: libraries.cl,v 1.1 2002/09/16 17:54:30 kevin Exp $ +;;;; $Id: libraries.cl,v 1.3 2002/09/30 01:57:32 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -25,7 +25,8 @@ (defun default-foreign-library-type () "Returns string naming default library type for platform" #+(or win32 mswindows) "dll" - #-(or win32 mswindows) "so") + #-(or win32 mswindows macosx) "so" + #+macosx "dylib") (defun find-foreign-library (names directories &key types drive-letters) "Looks for a foreign library. directories can be a single @@ -87,15 +88,15 @@ library type if type is not specified." (let ((type (pathname-type (parse-namestring filename)))) (if (equal type "so") (sys::load-object-file filename) - (alien:load-foreign filename - :libraries - (convert-supporting-libraries-to-string - supporting-libraries)))) - - #+lispworks (fli:register-module module - :real-name filename) + (alien:load-foreign filename + :libraries + (convert-supporting-libraries-to-string + supporting-libraries)))) + #+lispworks (fli:register-module module :real-name filename) #+allegro (load filename) - + #+openmcl (ccl:open-shared-library filename) + #+(and mcl (not openmcl)) (ccl:add-to-shared-library-search-path filename t) + (push filename *loaded-libraries*) t))) )