r2903: *** empty log message ***
[uffi.git] / src-main / libraries.cl
index b37549b3ffd3a66e3c980f27827314c376af1751..0cf1e0c05c3a6b1933ae638b560b10d1b5f11bf1 100644 (file)
@@ -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)))
   )