Use a C program for ghc-inplace
[ghc-hetmet.git] / compiler / ghc-inplace.c
1
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <unistd.h>
6
7 int main(int argc, char **argv) {
8     char **args;
9     args = malloc(sizeof(char *) * (argc + 3));
10     if (args == NULL) {
11         fprintf(stderr, "Malloc failed\n");
12         exit(1);
13     }
14     args[0] = GHC_PATH;
15     args[1] = "-B" TOP_ABS;
16     args[2] = "-fhardwire-lib-paths";
17     memcpy(args + 3, argv + 1, sizeof(char *) * (argc - 1));
18     args[argc+2] = NULL;
19     execv(GHC_PATH, args);
20     return 0;
21 }