From: espen Date: Wed, 29 Mar 2006 10:01:30 +0000 (+0000) Subject: Changes for CLISP X-Git-Tag: clg-0-92-1~15 X-Git-Url: https://git.distorted.org.uk/~mdw/clg/commitdiff_plain/5eda2e76d7f73cce69d2421b0aa660e03e2750f3 Changes for CLISP --- diff --git a/tools/asdf-extensions.lisp b/tools/asdf-extensions.lisp index b7a589b..93be2d3 100644 --- a/tools/asdf-extensions.lisp +++ b/tools/asdf-extensions.lisp @@ -51,10 +51,16 @@ (module-components dso))))) (error 'operation-error :operation operation :component dso)))) +#+clisp +(defvar *loaded-libraries* ()) (defun load-dso (filename) #+sbcl(sb-alien:load-shared-object filename) - #+cmu(ext:load-foreign filename)) + #+cmu(ext:load-foreign filename) + #+clisp + (unless (find filename *loaded-libraries* :test #'equal) + (ffi::foreign-library (namestring filename)) + (push filename *loaded-libraries*))) (defmethod perform ((o load-op) (c unix-dso)) @@ -135,7 +141,8 @@ system::*global-table* :key #'(lambda (pathname) (when pathname (unix::unix-namestring pathname))) - :test #'equal)) + :test #'equal) + #+clisp(find (component-pathname c) *loaded-libraries* :test #'equal)) (defmethod operation-done-p ((o operation) (c library)) t)