forked from id-Software/Quake-III-Arena
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Xcode project for building q3lcc, q3rcc and q3cpp.
made use of bytecode.c from ioquake3 for q3lcc. generated the various platform files for q3rcc and placed them in 'out' directory. appears to compile and generate 'asm' files, but during testing, q3asm complains about missing symbols from the C standard library.
- Loading branch information
1 parent
da6fe0e
commit 3722496
Showing
9 changed files
with
30,263 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* quake3 bytecode target */ | ||
|
||
#include <string.h> | ||
#include <stdio.h> | ||
#include "../../code/game/q_shared.h" | ||
|
||
#ifdef _WIN32 | ||
#define BINEXT ".exe" | ||
#else | ||
#define BINEXT "" | ||
#endif | ||
|
||
char *suffixes[] = { ".c", ".i", ".asm", ".o", ".out", 0 }; | ||
char inputs[256] = ""; | ||
char *cpp[] = { "q3cpp" BINEXT, | ||
"-D__STDC__=1", "-D__STRICT_ANSI__", "-D__signed__=signed", "-DQ3_VM", | ||
"$1", "$2", "$3", 0 }; | ||
char *include[] = { 0 }; | ||
char *com[] = { "q3rcc" BINEXT, "-target=bytecode", "$1", "$2", "$3", 0 }; | ||
char *ld[] = { 0 }; | ||
char *as[] = { 0 }; | ||
|
||
extern char *concat(char *, char *); | ||
|
||
/* | ||
=============== | ||
UpdatePaths | ||
Updates the paths to q3cpp and q3rcc based on | ||
the directory that contains q3lcc | ||
=============== | ||
*/ | ||
void UpdatePaths( const char *lccBinary ) | ||
{ | ||
char basepath[ 1024 ]; | ||
char *p; | ||
|
||
strncpy( basepath, lccBinary, 1024 ); | ||
p = strrchr( basepath, PATH_SEP ); | ||
|
||
if( p ) | ||
{ | ||
*( p + 1 ) = '\0'; | ||
|
||
cpp[ 0 ] = concat( basepath, "q3cpp" BINEXT ); | ||
com[ 0 ] = concat( basepath, "q3rcc" BINEXT ); | ||
} | ||
} | ||
|
||
int option(char *arg) { | ||
if (strncmp(arg, "-lccdir=", 8) == 0) { | ||
cpp[0] = concat(&arg[8], "/q3cpp" BINEXT); | ||
include[0] = concat("-I", concat(&arg[8], "/include")); | ||
com[0] = concat(&arg[8], "/q3rcc" BINEXT); | ||
} else if (strcmp(arg, "-p") == 0 || strcmp(arg, "-pg") == 0) { | ||
fprintf( stderr, "no profiling supported, %s ignored.\n", arg); | ||
} else if (strcmp(arg, "-b") == 0) | ||
; | ||
else if (strcmp(arg, "-g") == 0) | ||
fprintf( stderr, "no debugging supported, %s ignored.\n", arg); | ||
else if (strncmp(arg, "-ld=", 4) == 0 || strcmp(arg, "-static") == 0) { | ||
fprintf( stderr, "no linking supported, %s ignored.\n", arg); | ||
} else | ||
return 0; | ||
return 1; | ||
} |
Oops, something went wrong.