Update of /project/cello/cvsroot/cello/cl-magick In directory clnet:/tmp/cvs-serv28823
Modified Files: cl-magick.lisp Log Message: Changed: Loading of dynamic libs now safe also on OS X.
--- /project/cello/cvsroot/cello/cl-magick/cl-magick.lisp 2006/08/23 21:10:31 1.8 +++ /project/cello/cvsroot/cello/cl-magick/cl-magick.lisp 2006/08/26 21:46:21 1.9 @@ -20,12 +20,7 @@ ;;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ;;; IN THE SOFTWARE.
-#+asdf -(eval-when (:load-toplevel :compile-toplevel) - (asdf:operate 'asdf:load-op 'cffi) - (asdf:operate 'asdf:load-op 'cffi-extender) - (asdf:operate 'asdf:load-op 'kt-opengl) - (asdf:operate 'asdf:load-op 'gui-geometry)) +;;; $Id: cl-magick.lisp,v 1.9 2006/08/26 21:46:21 fgoenninger Exp $
(defpackage :cl-magick (:nicknames :mgk) @@ -64,9 +59,9 @@ (path-to-wand (or *wand-template* (make-pathname - :directory '(:absolute "0dev" "user" - "graphics" "templates") - :name "metal" :type "gif")))) +#-macosx :directory '(:absolute "0dev" "user" "graphics" "templates") +#+macosx :directory '(:absolute "Users" "frgo" "Pictures") + :name "metal003" :type "gif"))))
(defparameter *imagick-dll-loaded* nil) (defparameter *wands-loaded* nil) @@ -81,15 +76,6 @@ (cffi:define-foreign-library Wand (:darwin (:or "/usr/local/lib/libWand.dylib")))
-;; Order matters! First, load Wand then Magick on Darwin -#+macosx -(eval-when (:load-toplevel :execute) - (cffi:use-foreign-library Wand)) - -(eval-when (:load-toplevel :execute) - (cffi:use-foreign-library Magick)) - - ;-------------------------------------------------------------------
(defun cl-magick-init () @@ -97,9 +83,13 @@ (progn ;(print "clearing magick wands") ;(wands-clear) + + ;; Order matters! First, load Wand then Magick on Darwin + #+macosx + (cffi:use-foreign-library Wand)
- (assert (setq *imagick-dll-loaded* t - #+not (cffi:use-foreign-library magick)) + (assert (setq *imagick-dll-loaded* + (cffi:use-foreign-library Magick)) () "Unable to load imagick" ) (print `(magick-copyright ,(magick-get-copyright))) (print `(magick-version ,(magick-get-version *mgk-version*))) @@ -142,4 +132,3 @@ (print `(unloading foreign library ,dll)) (setf *imagick-dll-loaded* nil) (ff:unload-foreign-library dll)))) -