X-Git-Url: http://git.kpe.io/?p=uffi.git;a=blobdiff_plain;f=src%2Ffunctions.lisp;h=dc7dca2841e45874ca33066a865b9547ac01708c;hp=415401fbb51248f331e005ebe1bbdf3c365a6496;hb=6ab554f2441048c9c726104d4f3c6a6acccaf383;hpb=48ce70f207ba97c0620bfaa472619f4c3c771a21 diff --git a/src/functions.lisp b/src/functions.lisp index 415401f..dc7dca2 100644 --- a/src/functions.lisp +++ b/src/functions.lisp @@ -17,12 +17,12 @@ (defun process-function-args (args) (if (null args) - #+(or lispworks cmu sbcl scl cormanlisp (and mcl (not openmcl))) nil + #+(or lispworks cmu sbcl scl cormanlisp digitool) nil #+allegro '(:void) #+openmcl (values nil nil) ;; args not null - #+(or lispworks allegro cmu sbcl scl (and mcl (not openmcl)) cormanlisp) + #+(or lispworks allegro cmu sbcl scl digitool cormanlisp) (let (processed) (dolist (arg args) (push (process-one-function-arg arg) processed)) @@ -47,7 +47,7 @@ #+(or cmu sbcl scl) ;(list name type :in) `(,name ,type ,@(if (= (length arg) 3) (list (third arg)) (values))) - #+(or allegro lispworks (and mcl (not openmcl))) + #+(or allegro lispworks digitool) (if (and (listp type) (listp (car type))) (append (list name) type) (list name type)) @@ -169,7 +169,7 @@ ;; name is either a string representing foreign name, or a list ;; of foreign-name as a string and lisp name as a symbol (defmacro %def-function (names args &key module returning) - #+(or cmu sbcl scl allegro mcl cormanlisp) (declare (ignore module)) + #+(or cmu sbcl scl allegro openmcl digitool cormanlisp) (declare (ignore module)) (let* ((result-type (convert-from-uffi-type returning :return)) (function-args (process-function-args args)) @@ -198,7 +198,7 @@ :result-type ,result-type :language :ansi-c #-macosx :calling-convention #-macosx :cdecl) - #+(and mcl (not openmcl)) + #+digitool `(eval-when (:compile-toplevel :load-toplevel :execute) (ccl:define-entry-point (,lisp-name ,foreign-name) ,function-args