freebsd-ports/lang/lcc/files/FreeBSD.c.in
2000-11-10 18:18:04 +00:00

79 lines
1.5 KiB
C

/*
* freebsd.c -- lcc driver definitions for FreeBSD-2.2.x.
*
*/
#include <string.h>
static char rcsid[] = "$FreeBSD$";
#ifndef LCCDIR
#define LCCDIR "%%PREFIX%%/%%LCCDESTDIR%%/"
#endif
/* char *stock_cpp[] = { */
char *cpp[] = {
"/usr/libexec/cpp",
"-nostdinc", "-lang-c", "-U__GNUC__",
"-D_POSIX_SOURCE", "-D__STDC__", "-D__STRICT_ANSI__",
"-Dunix", "-Di!!ARCH!!", "-DFreeBSD",
"-D__unix__", "-D__!!ARCH!!__", "-D__FreeBSD__",
"$1", "$2", "$3", 0};
char *lcc_ritchey_cpp[] = {
LCCDIR "cpp",
"-D__STDC__=1", "-D__STRICT_ANSI__",
"-D_POSIX_SOURCE",
"-U__GNUC__",
"-Dunix", "-D__unix__",
"-DFreeBSD", "-D__FreeBSD__",
"-D!!ARCH!!", "-D__!!ARCH!!__",
"-Dx86", "-D__x86__",
"$1", "$2", "$3", 0
};
/* char **cpp = stock_cpp; */
char *include[] = {
"-I" LCCDIR "include",
"-I%%PREFIX%%/include/%%VERSION%%",
"-I/usr/include",
"-I%%PREFIX%%/include",
0
};
char *com[] = {
LCCDIR "rcc",
"-target=i386-FreeBSD",
"$1", "$2", "$3", 0
};
char *as[] = {"/usr/bin/as", "-o", "$3", "$1", "$2", 0};
char *ld[] = {"/usr/bin/ld", "", "-estart", "-dc", "-dp", "-o", "$3",
"/usr/lib/crt0.o", "$1", "$2", "",
"-lm", "", "-lc", "", "",
#if 0
"-lgcc",
#endif
0};
int
option(arg)
char *arg;
{
if (strcmp(arg, "-g") == 0) {}
else if (strcmp(arg, "-p") == 0) {
ld[8] = "/usr/lib/gcrt0.o";
ld[14] = "-lc_p";
}
else if (strcmp(arg, "-b") == 0 &&
access(LCCDIR "bbexit.o", 4) == 0) {
ld[11] = LCCDIR "bbexit.o";
} else {
return 0;
}
return 1;
}