diff options
Diffstat (limited to 'code/cgame')
-rw-r--r-- | code/cgame/Conscript | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/code/cgame/Conscript b/code/cgame/Conscript deleted file mode 100644 index 0cac8ff..0000000 --- a/code/cgame/Conscript +++ /dev/null @@ -1,138 +0,0 @@ -# cgame building -# builds the cgame for vanilla Q3 and TA - -# there are slight differences between Q3 and TA build: -# -DMISSIONPACK -# TA has cg_newdraw.c and ../ui/ui_shared.c -# the config is passed in the imported variable TARGET_DIR - -# qvm building against native: -# only native has cg_syscalls.c -# only qvm has ../game/bg_lib.c -# qvm uses a custom cg_syscalls.asm with equ stubs - -Import qw( BASE_CFLAGS TARGET_DIR INSTALL_DIR NO_VM NO_SO CC CXX LINK ); - -$env = new cons( - # the code has the very bad habit of doing things like #include "../ui/ui_shared.h" - # this seems to confuse the dependency analysis, explicit toplevel includes seem to fix - CPPPATH => '#cgame:#game:#q3_ui', - CC => $CC, - CXX => $CXX, - LINK => $LINK, - ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} }, - CFLAGS => $BASE_CFLAGS . '-fPIC', - LDFLAGS => '-shared -ldl -lm' -); - -# for TA, use -DMISSIONPACK -%ta_env_hash = $env->copy( - CPPPATH => '#cgame:#game:#ui' - ); -$ta_env_hash{CFLAGS} = '-DMISSIONPACK ' . $ta_env_hash{CFLAGS}; -$ta_env = new cons(%ta_env_hash); - -# qvm building -# we heavily customize the cons environment -$vm_env = new cons( - # the code has the very bad habit of doing things like #include "../ui/ui_shared.h" - # this seems to confuse the dependency analysis, explicit toplevel includes seem to fix - CPPPATH => '#cgame:#game:#q3_ui', - CC => 'q3lcc', - CCCOM => '%CC %CFLAGS %_IFLAGS -c %< -o %>', - SUFOBJ => '.asm', - LINK => 'q3asm', - CFLAGS => '-DQ3_VM -DCGAME -S -Wf-target=bytecode -Wf-g', - # need to know where to find the compiler tools - ENV => { PATH => $ENV{PATH} . ":./qvmtools", }, -); - -# TA qvm building -%vm_ta_env_hash = $vm_env->copy( - CPPPATH => '#cgame:#game:#ui' - ); -$vm_ta_env_hash{CFLAGS} = '-DMISSIONPACK ' . $vm_ta_env_hash{CFLAGS}; -$vm_ta_env = new cons(%vm_ta_env_hash); - -# the file with vmMain function MUST be the first one of the list -@FILES = qw( - cg_main.c - ../game/bg_misc.c - ../game/bg_pmove.c - ../game/bg_slidemove.c - ../game/q_math.c - ../game/q_shared.c - cg_consolecmds.c - cg_draw.c - cg_drawtools.c - cg_effects.c - cg_ents.c - cg_event.c - cg_info.c - cg_localents.c - cg_marks.c - cg_players.c - cg_playerstate.c - cg_predict.c - cg_scoreboard.c - cg_servercmds.c - cg_snapshot.c - cg_view.c - cg_weapons.c - ); -$FILESREF = \@FILES; - -# only in .so -# (VM uses a custom .asm with equ stubs) -@SO_FILES = qw( - cg_syscalls.c - ); -$SO_FILESREF = \@SO_FILES; - -# only for VM -@VM_FILES = qw( - ../game/bg_lib.c - cg_syscalls.asm - ); -$VM_FILESREF = \@VM_FILES; - -# common additionals for TA -@TA_FILES = qw( - cg_newdraw.c - ../ui/ui_shared.c - ); -$TA_FILESREF = \@TA_FILES; - -# FIXME CPU string -if ($TARGET_DIR eq 'Q3') -{ - if ($NO_SO eq 0) - { - Program $env 'cgamei386.so', @$FILESREF, @$SO_FILESREF; - Install $env $INSTALL_DIR, 'cgamei386.so'; - } - if ($NO_VM eq 0) - { - Depends $vm_env 'cgame.qvm', '#qvmtools/q3lcc'; - Depends $vm_env 'cgame.qvm', '#qvmtools/q3asm'; - Program $vm_env 'cgame.qvm', @$FILESREF, @$VM_FILESREF; - Install $vm_env $INSTALL_DIR . '/vm', 'cgame.qvm'; - } -} -else -{ - if ($NO_SO eq 0) - { - Program $ta_env 'cgamei386.so', - @$FILESREF, @$SO_FILESREF, @$TA_FILESREF; - Install $ta_env $INSTALL_DIR, 'cgamei386.so'; - } - if ($NO_VM eq 0) - { - Depends $vm_env 'cgame.qvm', '#qvmtools/q3lcc'; - Depends $vm_env 'cgame.qvm', '#qvmtools/q3asm'; - Program $vm_ta_env 'cgame.qvm', - @$FILESREF, @$VM_FILESREF, @$TA_FILESREF; - Install $vm_ta_env $INSTALL_DIR . '/vm', 'cgame.qvm'; - } -} |