rendered paste body#!SCons
__author__ = "ch0wn3d"
Import('env')
# print env['LIBS_PREFIX']
# Set compile flags
#env.Append(CCFLAGS=Split('-Wall -O3 -fvisibility=hidden -m32 -march=i686'))
#env.Append(CCFLAGS=Split('-Wall -fvisibility=hidden -m32 -ggdb3'))
#env.Append(LINKFLAGS=Split('-m32 -static -s'))
#env.Append(CPPPATH=['#/libs/', '#/libs/local/include/'])
#env.Append(LIBPATH=['#/libs/local/lib/'])
# If libraries is going to be download/build, no need to check for them
if (not 'libs' in COMMAND_LINE_TARGETS) and (not GetOption('clean')):
conf = Configure(env)
# Check for all needed libraries
checkLibs = [
conf.CheckLibWithHeader('ghf', 'ghf/ghf.h', 'C++', autoadd=True),
conf.CheckLibWithHeader('elf', 'libelf.h', 'C', autoadd=True),
conf.CheckLibWithHeader('bfd', 'bfd.h', 'C', autoadd=True),
conf.CheckLibWithHeader('opcodes', 'dis-asm.h', 'C', autoadd=True),
]
env = conf.Finish()
# TODO: Find a better place for that, maybe libs/SConstruct
sdkSources = [
env.SharedObject(
target='#build/q_math',
source='#libs/ioq3/code/qcommon/q_math.c'
),
env.SharedObject(
target='#build/q_shared',
source='#libs/ioq3/code/qcommon/q_shared.c'
),
env.SharedObject(
target='#build/bg_misc',
source='#libs/ioq3/code/game/bg_misc.c'
)
]
libQ3h = env.SharedLibrary(
target='Q3H',
source=['main.cpp', 'hook.cpp', 'UIGame.cpp', 'CGame.cpp', 'Qvm.cpp', 'Q3h.cpp'],
CCFLAGS=Split('-Wall -O3 -fvisibility=hidden -m32 -march=i686'),
LINKFLAGS=Split('-static -s -nostdlib'),
LIBPATH=['#/libs/local/lib/'],
CPPPATH=['#/libs/', '#/libs/local/include/'],
LIBS=['ghf', 'elf', 'bfd', 'opcodes']
)
"""
for x in ['main.cpp', 'hook.cpp', 'UIGame.cpp', 'CGame.cpp', 'Qvm.cpp', 'Q3h.cpp']:
Object(x)
"""
env.Default(libQ3h)
env.Clean(libQ3h, '#build')