Fix parallel make for libffi.
[ghc.git] / rts / HsFFI.c
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 2005
4 *
5 * RTS entry points as mandated by the FFI addendum to the Haskell 98 report
6 *
7 * ---------------------------------------------------------------------------*/
8
9 #include "HsFFI.h"
10 #include "Rts.h"
11
12 // hs_init and hs_exit are defined in RtsStartup.c
13
14 void
15 hs_set_argv(int argc, char *argv[])
16 {
17 setProgArgv(argc,argv);
18 }
19
20 void
21 hs_perform_gc(void)
22 {
23 /* Hmmm, the FFI spec is a bit vague, but it seems to imply a major GC... */
24 performMajorGC();
25 }
26
27 void
28 hs_free_stable_ptr(HsStablePtr sp)
29 {
30 /* The cast is for clarity only, both HsStablePtr and StgStablePtr are
31 typedefs for void*. */
32 freeStablePtr((StgStablePtr)sp);
33 }
34
35 void
36 hs_free_fun_ptr(HsFunPtr fp)
37 {
38 /* I simply *love* all these similar names... */
39 freeHaskellFunctionPtr(fp);
40 }