X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Flibraries.lisp;h=c259dc8d08b69ba206e0c71bd0d25ded426c71a8;hb=0a5aedbdc19d3843fd9a95ae73482de92819b1e2;hp=eec904597c8e56daa7ed7cff3c88758b33145ab9;hpb=c6c305a69913c148753813cc057be7127017ae6a;p=uffi.git diff --git a/src/libraries.lisp b/src/libraries.lisp index eec9045..c259dc8 100644 --- a/src/libraries.lisp +++ b/src/libraries.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: libraries.lisp,v 1.2 2002/10/14 01:51:15 kevin Exp $ +;;;; $Id: libraries.lisp,v 1.4 2002/10/16 11:56:43 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -74,7 +74,7 @@ library type if type is not specified." (defun load-foreign-library (filename &key module supporting-libraries force-load) #+(or allegro lispworks openmcl) (declare (ignore module supporting-libraries)) - #+(or cmu sbcl) (declare (ignore module)) + #+(or cmu scl sbcl) (declare (ignore module)) (when (and filename (probe-file filename)) (if (pathnamep filename) ;; ensure filename is a string to check if @@ -84,27 +84,32 @@ library type if type is not specified." (find filename *loaded-libraries* :test #'string-equal)) t ;; return T, but don't reload library (progn - (when - #+cmu - (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)))) - #+sbcl - (sb-alien:load-foreign filename - :libraries + #+cmu + (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)))) + #+scl + (let ((type (pathname-type (parse-namestring filename)))) + (alien:load-foreign filename + :libraries + (convert-supporting-libraries-to-string + supporting-libraries))) + #+sbcl + (sb-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))))) + #+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)))) (defun convert-supporting-libraries-to-string (libs) (let (lib-load-list)