Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (46 sloc) 1.84 KB
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os, sys
# Set to location of libboost_system.so and libboost_thread.so
BOOST_DIR = os.environ.get('BOOST_DIR', '/usr/lib/i386-linux-gnu')
BOOST_SYSTEM_LIB = os.environ.get('BOOST_SYSTEM_LIB', 'libboost_system.so')
BOOST_THREAD_LIB = os.environ.get('BOOST_THREAD_LIB', 'libboost_thread.so')
BOOST_SYSTEM_LIB = os.path.join(BOOST_DIR,BOOST_SYSTEM_LIB)
BOOST_THREAD_LIB = os.path.join(BOOST_DIR,BOOST_THREAD_LIB)
builder.DetectCompilers()
if builder.options.debug:
# OPT_FLAGS
builder.compiler.cflags += '-O3 -funroll-loops -s -pipe -fno-strict-aliasing'.split()
else:
# DEBUG_FLAGS
builder.compiler.cflags += '-g -ggdb3'.split()
builder.compiler.linkflags += '-m32 -lpthread -Wl,-Bstatic -static-libgcc -lstdc++ -Wl,-Bdynamic {thread} {system}'.format(thread=BOOST_THREAD_LIB,system=BOOST_SYSTEM_LIB).split()
builder.compiler.cflags += '-D_LINUX -DSOURCEMOD_BUILD -Wall -fPIC -m32 -Wno-c++0x-compat'.split()
builder.compiler.cxxflags.append('-std=c++11')
MMS_DIR = builder.options.mms_dir
SM_DIR = builder.options.sm_dir
SOCKET_DIR = builder.options.socket_dir
# https://github.com/alliedmodders/sourcemod/blob/master/AMBuildScript#L330
builder.compiler.includes += [
SOCKET_DIR,
MMS_DIR,
os.path.join(MMS_DIR, 'sourcehook'),
os.path.join(MMS_DIR, 'sourcemm'),
os.path.join(SM_DIR, 'public'), # IExtensionSys.h
os.path.join(SM_DIR, 'public', 'extensions'),
os.path.join(SM_DIR, 'sourcepawn', 'include'),
os.path.join(SM_DIR, 'public', 'amtl', 'include'), # May not be needed.
]
socket = builder.compiler.Library('socket.ext')
socket.sources += [
'Socket.cpp',
'SocketHandler.cpp',
'Callback.cpp',
'CallbackHandler.cpp',
'Extension.cpp',
'sdk/smsdk_ext.cpp'
]
sockout = builder.Add(socket)
builder.RunBuildScripts(
['PackageScript'],
{'socket':sockout}
)