* Fixes to the MinGW vm compiler

* General MinGW tweaks
This commit is contained in:
Tim Angus 2005-10-05 03:13:20 +00:00
parent 41cbd8c9fd
commit 79ba2d974d
5 changed files with 138 additions and 106 deletions

View file

@ -74,6 +74,31 @@ static List lccinputs; /* list of input directories */
int main(int argc, char *argv[]) {
int i, j, nf;
#ifdef _WIN32
// Tim Angus <tim@ngus.net> 05/09/05
// Append the base path of this file to the PATH
// There are probably (much) cleaner ways of doing this, but
// IANAWD (Windows Developer)
{
char basepath[ 1024 ];
char path[ 4096 ];
char *p;
strncpy( basepath, argv[ 0 ], 1024 );
p = strrchr( basepath, '\\' );
if( p )
{
*p = '\0';
strncpy( path, "PATH=", 4096 );
strncat( path, getenv( "PATH" ), 4096 );
strncat( path, ";", 4096 );
strncat( path, basepath, 4096 );
_putenv( path );
}
}
#endif
progname = argv[0];
ac = argc + 50;
av = alloc(ac*sizeof(char *));

View file

@ -14,17 +14,23 @@ removed __linux__ preprocessor define (confuses the preprocessor, we are doing b
//#define LCCDIR "/usr/local/lib/lcc/"
#endif
#ifdef _WIN32
#define BINEXT ".exe"
#else
#define BINEXT ""
#endif
char *suffixes[] = { ".c", ".i", ".asm", ".o", ".out", 0 };
char inputs[256] = "";
// TTimo experimental: do not compile with the __linux__ define, we are doing bytecode!
char *cpp[] = { LCCDIR "q3cpp",
char *cpp[] = { LCCDIR "q3cpp" BINEXT,
"-U__GNUC__", "-D_POSIX_SOURCE", "-D__STDC__=1", "-D__STRICT_ANSI__",
"-Dunix", "-Di386", "-Dlinux",
"-D__unix__", "-D__i386__", "-D__signed__=signed",
"$1", "$2", "$3", 0 };
char *include[] = {"-I" LCCDIR "include", "-I" LCCDIR "gcc/include", "-I/usr/include",
"-I" SYSTEM "include", 0 };
char *com[] = {LCCDIR "q3rcc", "-target=bytecode", "$1", "$2", "$3", 0 };
char *com[] = {LCCDIR "q3rcc" BINEXT, "-target=bytecode", "$1", "$2", "$3", 0 };
char *as[] = { "/usr/bin/as", "-o", "$3", "$1", "$2", 0 };
// NOTE TTimo I don't think we have any use with the native linkage
// our target is always bytecode..