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 ...
Alastair Reid
reid@glass.cse.ogi.edu
Fri, 21 Jun 2002 16:22:01 -0700
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 </dev/null suggests that +G should imply quitting
before reading commands and maybe +q too.
8) You now have to make install before running the testsuite
Also:
Added CString.hs
Made CString.hs marginally more like what it should be.
Revision Changes Path
1.2 +3 -0 hugs98/lib/exts/.cvsignore
1.2 +8 -1 hugs98/lib/exts/CTypes.hs
1.2 +3 -3 hugs98/lib/exts/MarshalAlloc.hs
1.2 +2 -2 hugs98/lib/exts/MarshalUtils.hs
1.5 +51 -51 hugs98/lib/exts/Storable.hs
1.3 +18 -18 hugs98/lib/exts/Storable_aux.c
1.5 +18 -19 hugs98/src/HsFFI.h
1.8 +8 -3 hugs98/src/MkInstal.in
1.39 +3 -2 hugs98/src/connect.h
1.14 +41 -36 hugs98/src/ffi.c
1.85 +20 -7 hugs98/src/hugs.c
1.53 +5 -5 hugs98/src/machdep.c
1.75 +18 -16 hugs98/src/static.c
1.7 +2 -2 hugs98/tests/Readme
1.2 +5 -0 hugs98/tests/config.in
1.4 +4 -8 hugs98/tests/testScript
1.2 +17 -15 hugs98/tests/ffi/FileIO.hs
1.2 +9 -11 hugs98/tests/ffi/FileIO.output
1.2 +9 -17 hugs98/tests/ffi/Forms.hs
1.2 +2 -2 hugs98/tests/ffi/Sin.hs
1.2 +16 -16 hugs98/tests/ffi/Types.hs
1.2 +2 -1 hugs98/tests/ffi/forms_aux.h
1.2 +19 -3 hugs98/tests/ffi/types_aux.c