[elephant-cvs] CVS elephant/src/memutil
ieslick
ieslick at common-lisp.net
Sun Feb 19 16:22:43 UTC 2006
Update of /project/elephant/cvsroot/elephant/src/memutil
In directory common-lisp:/tmp/cvs-serv18566/src/memutil
Modified Files:
memutil.lisp
Log Message:
Further reorg, added auto build of memutil
--- /project/elephant/cvsroot/elephant/src/memutil/memutil.lisp 2006/02/19 04:53:02 1.1
+++ /project/elephant/cvsroot/elephant/src/memutil/memutil.lisp 2006/02/19 16:22:43 1.2
@@ -65,21 +65,14 @@
#+(or darwin macosx) "dylib"
#-(or darwin macosx) "so" )
- (defvar *elephant-lib-path* "/usr/local/share/common-lisp/elephant/"))
-
-(eval-when (:compile-toplevel :load-toplevel)
-
- (unless
- (uffi:load-foreign-library
- (if (find-package 'asdf)
- (merge-pathnames
- (make-pathname :name "libmemutil" :type *c-library-extension*)
- (asdf:component-pathname (asdf:find-system 'elephant)))
- (format nil "~A/~A.~A" *elephant-lib-path* "libmemutil" *c-library-extension*))
- :module "libmemutil")
- (error "Couldn't load libmemutil.~A!" *c-library-extension*))
-
- ;; fini on user editable part
+ (unless
+ (uffi:load-foreign-library
+ (merge-pathnames
+ (make-pathname :name "libmemutil" :type *c-library-extension* )
+ (merge-pathnames (make-pathname :directory "src/memutil")
+ (asdf:component-pathname (asdf:find-system 'elephant))))
+ :module "libmemutil")
+ (error "Couldn't load src/memutil/libmemutil.~A in!" *c-library-extension*))
(def-type pointer-int (* :int))
(def-type pointer-void :pointer-void)
@@ -87,7 +80,16 @@
#+allegro (:array :char)
#+(or cmu sbcl scl openmcl) (* :char))
(def-type array-or-pointer-char array-or-pointer-char)
- )
+
+ ;; Standard utility for copying two foreign buffers --
+ ;; also to test that lib is actually loaded!
+ (def-function ("copy_buf" copy-bufs)
+ ((dest array-or-pointer-char)
+ (dest-offset :int)
+ (src array-or-pointer-char)
+ (src-offset :int)
+ (length :int))
+ :returning :void))
(declaim (inline read-int read-uint read-float read-double
write-int write-uint write-float write-double
@@ -410,15 +412,6 @@
(setf (deref-array dest 'array-or-pointer-char (+ i dest-offset))
(char-code (char src (+ i src-offset))))))))
-;; For copying two foreign buffers
-(def-function ("copy_buf" copy-bufs)
- ((dest array-or-pointer-char)
- (dest-offset :int)
- (src array-or-pointer-char)
- (src-offset :int)
- (length :int))
- :returning :void)
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
More information about the Elephant-cvs
mailing list