summaryrefslogtreecommitdiff
path: root/boehm-gc/if_mach.c
blob: 3dcccf21f5a86099e809475d5cd3303c9a61f2b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* Conditionally execute a command based on machine and OS from gcconfig.h */

# include "private/gcconfig.h"
# include <stdio.h>
# include <string.h>
# include <unistd.h>

int main(argc, argv, envp)
int argc;
char ** argv;
char ** envp;
{
    if (argc < 4) goto Usage;
    if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
    if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
        && strcmp(OS_TYPE, argv[2]) != 0) return(0);
    fprintf(stderr, "^^^^Starting command^^^^\n");
    fflush(stdout);
    execvp(argv[3], argv+3);
    perror("Couldn't execute");
    
Usage:
    fprintf(stderr, "Usage: %s mach_type os_type command\n", argv[0]);
    fprintf(stderr, "Currently mach_type = %s, os_type = %s\n",
    	    MACH_TYPE, OS_TYPE);
    return(1);
}