diff options
author | Ian Lynagh <igloo@earth.li> | 2007-08-15 17:27:07 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2007-08-15 17:27:07 +0000 |
commit | db7a768882134defdd282bd626b29bead6e62b00 (patch) | |
tree | aad999a15ac316941682f8a0eeec58930c4bd872 /compiler/ghc-inplace.c | |
parent | 552eb456fcaeee5b69ec70555b5a269dd7daf535 (diff) | |
download | haskell-db7a768882134defdd282bd626b29bead6e62b00.tar.gz |
Use a C program for ghc-inplace
Diffstat (limited to 'compiler/ghc-inplace.c')
-rw-r--r-- | compiler/ghc-inplace.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler/ghc-inplace.c b/compiler/ghc-inplace.c new file mode 100644 index 0000000000..abedefe3cb --- /dev/null +++ b/compiler/ghc-inplace.c @@ -0,0 +1,21 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +int main(int argc, char **argv) { + char **args; + args = malloc(sizeof(char *) * (argc + 3)); + if (args == NULL) { + fprintf(stderr, "Malloc failed\n"); + exit(1); + } + args[0] = GHC_PATH; + args[1] = "-B" TOP_ABS; + args[2] = "-fhardwire-lib-paths"; + memcpy(args + 3, argv + 1, sizeof(char *) * (argc - 1)); + args[argc+2] = NULL; + execv(GHC_PATH, args); + return 0; +} |