cvs commit: hugs98/lib/exts CString.hs Storable_aux.h .cvsignore CTypes.hs MarshalAlloc.hs MarshalUtils.hs Storable.hs Storable_aux.c hugs98/src HsFFI.h MkInstal.in connect.h ffi.c hugs.c machdep.c static.c hugs98/tests Readme config.in testScript ...

reid 2002/06/21 16:22:01 PDT Modified files: lib/exts .cvsignore CTypes.hs MarshalAlloc.hs MarshalUtils.hs Storable.hs Storable_aux.c src HsFFI.h MkInstal.in connect.h ffi.c hugs.c machdep.c static.c tests Readme config.in testScript tests/ffi FileIO.hs FileIO.output Forms.hs Sin.hs Types.hs forms_aux.h types_aux.c Added files: lib/exts CString.hs Storable_aux.h Log: Big changes: 1) Hugs +G only generates code for files specified on command line. 2) Hugs now #includes the header file if specified. 3) Hugs will report use of lib specs as an error. (You can turn this off if you #define SILENTLY_IGNORE_FFI_LIB_SPECS) 4) Hugs now ignores lib specs 5) The +L flag can be used to specify things you want added to the compilation command line. This would typically be the things you'd have specified in your lib specs but it might also be compiler flags, preprocessor flags, etc. 6) Hugs uses a single global namespace for any C code called by ffi code. 7) make install applies hugs +G to files in lib/exts which contain ffi code (The list of files is maintained manually both to keep the makefile portable and because some libraries need +L arguments.) build_libexts :: hugs$(EXE) install_include ./hugs +q -P../lib:../lib/exts Storable +G +L"Storable_aux.c" < /dev/null ./hugs +q -P../lib:../lib/exts MarshalAlloc +G < /dev/null ./hugs +q -P../lib:../lib/exts MarshalUtils +G < /dev/null The need to use
participants (1)
-
Alastair Reid