diff options
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; +} |