All pastes #633680 Raw Edit

Miscellany

public text v1 · immutable
#633680 ·published 2007-07-25 21:48 UTC
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')