* Fixes to the MinGW vm compiler
* General MinGW tweaks
This commit is contained in:
parent
41cbd8c9fd
commit
79ba2d974d
5 changed files with 138 additions and 106 deletions
|
@ -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 *));
|
||||
|
|
|
@ -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..
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue