From: Andrei S. <lis...@gm...> - 2006-12-11 20:33:47
|
Hi I just downloaded swig from cygwin (version 1.3.29). When I generate bindings for clisp by typing swig -clisp -module test someheader.h It generates the mappings but it doesn't put the opening parenthesis for every definition. Let's say if I have a test.h like this: extern "C" { int pointer_func(void (*ClosureFun)( void* _fun, void* _data, void* _evt ), int y); int func123(div_t * x,int **z[100],int y[][1000][10]); void lispsort_double (int n, double * array); void test123(float x , double y); } I'll get the output (notice ffi:def-call-out and the rest starts without a parenthesis): (defpackage :test (:use :common-lisp :ffi) (:export :pointer_func :func123 :lispsort_double :test123)) (in-package :test) (default-foreign-language :stdc) ffi:def-call-out pointer_func (:name "pointer_func") (:arguments (ClosureFun (ffi:c-function (:arguments (arg0 (ffi:c-pointer NIL)) (arg1 (ffi:c-pointer NIL)) (arg2 (ffi:c-pointer NIL))) (:return-type NIL))) (y ffi:int)) (:return-type ffi:int) (:library +library-name+)) ffi:def-call-out func123 (:name "func123") (:arguments (x (ffi:c-pointer div_t)) (z (ffi:c-ptr (ffi:c-array (ffi:c-ptr (ffi:c-ptr ffi:int)) 100))) (y (ffi:c-ptr (ffi:c-ptr (ffi:c-array ffi:int (1000 10)))))) (:return-type ffi:int) (:library +library-name+)) ffi:def-call-out lispsort_double (:name "lispsort_double") (:arguments (n ffi:int) (array (ffi:c-ptr DOUBLE-FLOAT))) (:library +library-name+)) ffi:def-call-out test123 (:name "test123") (:arguments (x SINGLE-FLOAT) (y DOUBLE-FLOAT)) (:library +library-name+)) Is it a bug or a feature? How can I fix it? Thank you, Andrew |