summaryrefslogtreecommitdiff
path: root/ghc/includes/HsFFI.h
Commit message (Collapse)AuthorAgeFilesLines
* Reorganisation of the source treeSimon Marlow2006-04-071-167/+0
| | | | | | | | | | | | | | | Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
* [project @ 2005-03-27 13:41:13 by panne]panne2005-03-271-1/+0
| | | | | | | | | | * Some preprocessors don't like the C99/C++ '//' comments after a directive, so use '/* */' instead. For consistency, a lot of '//' in the include files were converted, too. * UnDOSified libraries/base/cbits/runProcess.c. * My favourite sport: Killed $Id$s.
* [project @ 2004-08-13 13:04:50 by simonmar]simonmar2004-08-131-2/+3
| | | | Merge backend-hacking-branch onto HEAD. Yay!
* [project @ 2004-04-12 16:26:40 by panne]panne2004-04-121-3/+3
| | | | | | Fixed a long-standing buglet in the signatures of hs_free_stable_ptr and hs_free_fun_ptr, both had a superfluous "*". Now everything conforms to the FFI addendum.
* [project @ 2003-01-28 16:30:06 by simonmar]simonmar2003-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Flesh out support for hs_init() and hs_exit() according to the latest FFI spec. For GHC, I also added: hs_add_root( void (*fn)(void) ); which is used to specify the root module. This *must* be called prior to invoking any Haskell functions. The previous way of doing things still works: startupHaskell( argc, argv, root ); but the right way to do this is now hs_init( &argc, &argv ); hs_add_root( root ); It is possible to invoke hs_add_root() multiple times with different roots. - setProgArgv() has been removed; it was unused and looks like it was there to support STG Hugs.
* [project @ 2002-11-17 15:27:07 by panne]panne2002-11-171-1/+10
| | | | | | Added RTS entry points as mandated by the FFI addendum to the Haskell 98 report. NOTE: The implementations of hs_init, hs_exit, and hs_set_argv are still missing.
* [project @ 2001-11-07 19:11:43 by sof]sof2001-11-071-1/+8
| | | | | | | | Added #defines for HsBool values: - HS_BOOL_FALSE - HS_BOOL_TRUE - HS_BOOL_MIN - HS_BOOL_MAX
* [project @ 2001-10-29 11:33:37 by simonmar]simonmar2001-10-291-1/+11
| | | | | Wrap the include file entry-points in extern "C" { ... } if this is a C++ compiler.
* [project @ 2001-03-28 18:48:46 by qrczak]qrczak2001-03-281-2/+2
| | | | HS_CHAR_MAX is 0x10FFFF.
* [project @ 2001-01-03 03:10:32 by chak]chak2001-01-031-3/+5
| | | | | | | | | | | | * Deprecated `Addr' and `freeHaskellFunctionPtr' I deprecated them only in the comments and docu. Using a DEPRECATED pragma on the `Addr' functions doesn't make sense, because `Ptr' internally is build on top of `Addr'. * Added `HsPtr' and `HsFunPtr' to `HsFFI.h'; deprecated `HsAddr' * Updated the docu to reflect these changes
* [project @ 2000-12-13 11:57:19 by simonmar]simonmar2000-12-131-2/+3
| | | | add HsForeignPtr
* [project @ 2000-12-04 12:31:19 by simonmar]simonmar2000-12-041-1/+1
| | | | merge recent changes from before-ghci-branch onto the HEAD
* [project @ 2000-11-14 14:47:23 by simonmar]simonmar2000-11-141-41/+44
| | | | | | Don't redefine int8_t and friends, even if we didn't find a definition of INT8_MIN. Some /usr/includes, eg. cygwin it seems, like to define the types but not the constants.
* [project @ 2000-11-13 17:17:40 by simonmar]simonmar2000-11-131-1/+3
| | | | | Pull in inttypes.h if we have it, as the second-favourite option after stdint.h. This should fix problems building the readline cbits on Solaris.
* [project @ 2000-11-07 17:05:47 by simonmar]simonmar2000-11-071-1/+2
| | | | | | | | | | | | | | | | | | | Clean ups: - reduce the namespace pollution of StgTypes.h, it doesn't define the shorthand versions any more (W_, I_ etc.). These are moved into Stg.h. StgTypes.h also defines StgClosure as an "opaque" struct. - RtsAPI.h is now standalone, and includes HsFFI.h and thereby config.h & StgTypes.h. Now we don't need to #include "Stg.h" in *_stub.c. - all the rts_mkXXXX and rts_getXXXX functions are defined in terms of the HsXXXX types rather than random C types (this fixes some potential bugs in our foreign export support). - added HsWord type, to match StgWord. The Haskell version of this type isn't "documented", but perhaps it should be.
* [project @ 2000-11-07 13:30:40 by simonmar]simonmar2000-11-071-19/+1
| | | | | Wave goodbye to FLOATS_AS_DOUBLES, it was a somewhat misconceived idea which will cause trouble with the FFI on 64-bit machines.
* [project @ 2000-08-29 13:34:21 by qrczak]qrczak2000-08-291-2/+15
| | | | | | Don't use a typedef called int64 in RtsAPI. It conflicts with e.g. OCaml's headers. It should be cleaned better...
* [project @ 2000-08-18 18:08:48 by qrczak]qrczak2000-08-181-1/+2
| | | | #include "config.h", to be able to use HsFFI.h from standalone C files.
* [project @ 2000-08-07 23:37:19 by qrczak]qrczak2000-08-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now Char, Char#, StgChar have 31 bits (physically 32). "foo"# is still an array of bytes. CharRep represents 32 bits (on a 64-bit arch too). There is also Int8Rep, used in those places where bytes were originally meant. readCharArray, indexCharOffAddr etc. still use bytes. Storable and {I,M}Array use wide Chars. In future perhaps all sized integers should be primitive types. Then some usages of indexing primops scattered through the code could be changed to then-available Int8 ones, and then Char variants of primops could be made wide (other usages that handle text should use conversion that will be provided later). I/O and _ccall_ arguments assume ISO-8859-1. UTF-8 is internally used for string literals (only). Z-encoding is ready for Unicode identifiers. Ranges of intlike and charlike closures are more easily configurable. I've probably broken nativeGen/MachCode.lhs:chrCode for Alpha but I don't know the Alpha assembler to fix it (what is zapnot?). Generally I'm not sure if I've done the NCG changes right. This commit breaks the binary compatibility (of course). TODO: * is* and to{Lower,Upper} in Char (in progress). * Libraries for text conversion (in design / experiments), to be plugged to I/O and a higher level foreign library. * PackedString. * StringBuffer and accepting source in encodings other than ISO-8859-1.
* [project @ 2000-04-13 15:37:11 by panne]panne2000-04-131-2/+2
| | | | StgStablePtr is now void*, as required by The Happy Bit Fiddlers
* [project @ 2000-04-06 13:40:15 by panne]panne2000-04-061-71/+93
| | | | added autoconf magic for integral limits
* [project @ 2000-04-05 15:20:41 by panne]panne2000-04-051-0/+113
Imported sources for the much-debated HsFFI.h