Initial import of AMBuild infrastructure for C++ projects.
Former-commit-id: 53baa4f8c25525674f5e71f8f6ff2663928500ab
This commit is contained in:
parent
bc57a4e74f
commit
c4e90ce865
260
AMBuildScript
Normal file
260
AMBuildScript
Normal file
|
@ -0,0 +1,260 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python :
|
||||
import os
|
||||
|
||||
class AMXXConfig(object):
|
||||
def __init__(self):
|
||||
self.binaries = []
|
||||
self.modules = []
|
||||
self.libpc300 = None
|
||||
self.metamod_path = None
|
||||
self.hlsdk_path = None
|
||||
self.mysql_path = None
|
||||
|
||||
def detectProductVersion(self):
|
||||
builder.AddConfigureFile('product.version')
|
||||
|
||||
# For OS X dylib versioning
|
||||
import re
|
||||
with open(os.path.join(builder.sourcePath, 'product.version'), 'r') as fp:
|
||||
productContents = fp.read()
|
||||
m = re.match('(\d+)\.(\d+)\.(\d+).*', productContents)
|
||||
if m == None:
|
||||
self.productVersion = '1.0.0'
|
||||
else:
|
||||
major, minor, release = m.groups()
|
||||
self.productVersion = '{0}.{1}.{2}'.format(major, minor, release)
|
||||
|
||||
def detectMetamod(self):
|
||||
if len(builder.options.metamod_path):
|
||||
self.metamod_path = os.path.join(builder.originalCwd, builder.options.metamod_path)
|
||||
if not os.path.exists(os.path.join(self.metamod_path, 'metamod')):
|
||||
raise Exception('Metamod path does not exist: {0}'.format(builder.options.metamod_path))
|
||||
else:
|
||||
try_paths = [
|
||||
os.path.join(builder.sourcePath, '..', 'metamod'),
|
||||
os.path.join(builder.sourcePath, '..', 'metamod-am'),
|
||||
]
|
||||
for try_path in try_paths:
|
||||
if os.path.exists(os.path.join(try_path, 'metamod')):
|
||||
self.metamod_path = os.path.normpath(try_path)
|
||||
break
|
||||
if not self.metamod_path:
|
||||
raise Exception('Could not find the source code to Metamod! Try passing --metamod to configure.py.')
|
||||
|
||||
def detectHlsdk(self):
|
||||
if len(builder.options.hlsdk_path):
|
||||
self.hlsdk_path = os.path.join(builder.originalCwd, builder.options.hlsdk_path)
|
||||
if not os.path.exists(self.hlsdk_path):
|
||||
raise Exception('Metamod path does not exist: {0}'.format(builder.options.hlsdk_path))
|
||||
else:
|
||||
try_paths = [
|
||||
os.path.join(builder.sourcePath, '..', 'hlsdk'),
|
||||
]
|
||||
for try_path in try_paths:
|
||||
if os.path.exists(try_path):
|
||||
self.hlsdk_path = os.path.normpath(try_path)
|
||||
break
|
||||
if not self.hlsdk_path:
|
||||
raise Exception('Could not find the HLSDK! Try passing --hlsdk to configure.py.')
|
||||
|
||||
def detectMysql(self):
|
||||
if builder.options.disable_mysql:
|
||||
return
|
||||
|
||||
if len(builder.options.mysql_path):
|
||||
self.mysql_path = os.path.join(builder.originalCwd, builder.options.mysql_path)
|
||||
if not os.path.exists(self.mysql_path):
|
||||
raise Exception('Metamod path does not exist: {0}'.format(builder.options.mysql_path))
|
||||
else:
|
||||
try_paths = [
|
||||
os.path.join(builder.sourcePath, '..', 'mysql-5.0'),
|
||||
]
|
||||
for try_path in try_paths:
|
||||
if os.path.exists(try_path):
|
||||
self.mysql_path = os.path.normpath(try_path)
|
||||
break
|
||||
if not self.mysql_path:
|
||||
raise Exception('Could not find MySQL! Try passing --mysql to configure.py.')
|
||||
|
||||
def configure(self):
|
||||
builder.AddConfigureFile('pushbuild.txt')
|
||||
|
||||
cfg = builder.DetectCompilers()
|
||||
cxx = cfg.cxx
|
||||
|
||||
if cxx.behavior == 'gcc':
|
||||
cfg.cflags += [
|
||||
'-pipe',
|
||||
'-fno-strict-aliasing',
|
||||
'-Wall',
|
||||
'-Werror',
|
||||
'-Wno-uninitialized',
|
||||
'-Wno-unused',
|
||||
'-Wno-switch',
|
||||
'-m32',
|
||||
]
|
||||
|
||||
cfg.linkflags += ['-m32']
|
||||
|
||||
have_gcc = cxx.name == 'gcc'
|
||||
have_clang = cxx.name == 'clang'
|
||||
|
||||
if have_gcc:
|
||||
cfg.cflags += ['-Wno-parentheses']
|
||||
elif have_clang:
|
||||
cfg.cflags += ['-Wno-logical-op-parentheses']
|
||||
|
||||
# Platform-specifics
|
||||
if builder.target_platform == 'linux':
|
||||
cfg.defines += ['_LINUX', 'POSIX', 'LINUX']
|
||||
if cxx.name == 'gcc':
|
||||
cfg.linkflags += ['-static-libgcc']
|
||||
elif cxx.name == 'clang':
|
||||
cfg.linkflags += ['-lgcc_eh']
|
||||
elif builder.target_platform == 'mac':
|
||||
cfg.defines += ['OSX', '_OSX', 'POSIX']
|
||||
cfg.linkflags += [
|
||||
'-mmacosx-version-min=10.5',
|
||||
'-arch', 'i386',
|
||||
'-lstdc++',
|
||||
'-stdlib=libstdc++',
|
||||
]
|
||||
cfg.cxxflags += ['-stdlib=libstdc++']
|
||||
elif builder.target_platform == 'windows':
|
||||
cfg.defines += ['WIN32', '_WINDOWS']
|
||||
|
||||
# Finish up.
|
||||
cfg.defines += [
|
||||
'AMX_NOPROPLIST',
|
||||
'PAWN_CELL_SIZE=32',
|
||||
]
|
||||
|
||||
#
|
||||
# Low-level compiler and binary construction.
|
||||
#
|
||||
|
||||
def MMCompiler(self, context):
|
||||
compiler = context.compiler.clone()
|
||||
compiler.cxxincludes += [
|
||||
os.path.join(self.metamod_path, 'metamod'),
|
||||
os.path.join(self.hlsdk_path, 'common'),
|
||||
os.path.join(self.hlsdk_path, 'dlls'),
|
||||
os.path.join(self.hlsdk_path, 'engine'),
|
||||
os.path.join(self.hlsdk_path, 'game_shared'),
|
||||
os.path.join(self.hlsdk_path, 'public'),
|
||||
os.path.join(self.hlsdk_path, 'pm_shared'),
|
||||
]
|
||||
return compiler
|
||||
|
||||
def LibraryBuilder(self, context, compiler, name):
|
||||
binary = compiler.Library(name)
|
||||
binary.compiler.cxxincludes += [os.path.join(context.currentSourcePath)]
|
||||
if builder.target_platform == 'windows':
|
||||
#binary.sources += ['version.rc']
|
||||
#binary.compiler.rcdefines += [
|
||||
# 'BINARY_NAME="{0}"'.format(binary.outputFile),
|
||||
# 'SM_GENERATED_BUILD',
|
||||
# 'RC_COMPILE',
|
||||
#]
|
||||
pass
|
||||
elif builder.target_platform == 'mac':
|
||||
binary.compiler.postlink += [
|
||||
'-compatibility_version', '1.0.0',
|
||||
'-current_version', self.productVersion
|
||||
]
|
||||
#binary.compiler.linkflags += [self.versionlib]
|
||||
#binary.compiler.sourcedeps += SM.generated_headers
|
||||
return binary
|
||||
|
||||
def ModuleBuilder(self, context, compiler, name):
|
||||
compiler.cxxincludes += [
|
||||
os.path.join(context.currentSourcePath, 'sdk'),
|
||||
]
|
||||
|
||||
if builder.target_platform == 'mac':
|
||||
name = name + '_amxx'
|
||||
elif builder.target_platform == 'linux':
|
||||
name = name + '_amxx_i386'
|
||||
|
||||
return self.LibraryBuilder(context, compiler, name)
|
||||
|
||||
def ProgramBuilder(self, context, compiler, name):
|
||||
binary = compiler.Program(name)
|
||||
binary.compiler.cxxincludes += [os.path.join(context.currentSourcePath)]
|
||||
# if builder.target_platform == 'windows':
|
||||
# binary.sources += ['version.rc']
|
||||
# binary.compiler.rcdefines += [
|
||||
# 'BINARY_NAME="{0}"'.format(binary.outputFile),
|
||||
# 'SM_GENERATED_BUILD',
|
||||
# 'RC_COMPILE',
|
||||
# ]
|
||||
# binary.compiler.linkflags += [self.versionlib]
|
||||
# binary.compiler.sourcedeps += SM.generated_headers
|
||||
return binary
|
||||
|
||||
#
|
||||
# High level job construction for libraries, metamod plugins, modules, and
|
||||
# executables.
|
||||
#
|
||||
|
||||
def Library(self, context, name):
|
||||
compiler = context.compiler.clone()
|
||||
return self.LibraryBuilder(context, compiler, name)
|
||||
|
||||
def MetaPlugin(self, context, name):
|
||||
compiler = self.MMCompiler(context)
|
||||
|
||||
if builder.target_platform == 'mac':
|
||||
name = name + '_mm'
|
||||
elif builder.target_platform == 'linux':
|
||||
name = name + '_mm_i386'
|
||||
|
||||
return self.LibraryBuilder(context, compiler, name)
|
||||
|
||||
def Module(self, context, name):
|
||||
compiler = context.compiler.clone()
|
||||
return self.ModuleBuilder(context, compiler, name)
|
||||
|
||||
def MetaModule(self, context, name):
|
||||
compiler = self.MMCompiler(context)
|
||||
return self.ModuleBuilder(context, compiler, name)
|
||||
|
||||
def Program(self, context, name):
|
||||
compiler = context.compiler.clone()
|
||||
return self.ProgramBuilder(context, compiler, name)
|
||||
|
||||
AMXX = AMXXConfig()
|
||||
AMXX.detectProductVersion()
|
||||
AMXX.detectMetamod()
|
||||
AMXX.detectHlsdk()
|
||||
AMXX.detectMysql()
|
||||
AMXX.configure()
|
||||
|
||||
builder.RunBuildScripts(
|
||||
[
|
||||
'amxmodx/AMBuilder',
|
||||
'compiler/amxxpc/AMBuilder',
|
||||
'compiler/libpc300/AMBuilder',
|
||||
'dlls/cstrike/cstrike/AMBuilder',
|
||||
'dlls/cstrike/csx/AMBuilder',
|
||||
'dlls/dod/dodfun/AMBuilder',
|
||||
'dlls/dod/dodx/AMBuilder',
|
||||
'dlls/engine/AMBuilder',
|
||||
'dlls/fakemeta/AMBuilder',
|
||||
'dlls/fun/AMBuilder',
|
||||
'dlls/geoip/AMBuilder',
|
||||
'dlls/hamsandwich/AMBuilder',
|
||||
'dlls/mysqlx/AMBuilder',
|
||||
'dlls/ns/AMBuilder',
|
||||
'dlls/nvault/AMBuilder',
|
||||
'dlls/regex/AMBuilder',
|
||||
'dlls/sockets/AMBuilder',
|
||||
'dlls/sqlite/AMBuilder',
|
||||
'dlls/tfcx/AMBuilder',
|
||||
'dlls/ts/tsfun/AMBuilder',
|
||||
'dlls/ts/tsx/AMBuilder',
|
||||
],
|
||||
{
|
||||
'AMXX': AMXX
|
||||
}
|
||||
)
|
84
amxmodx/AMBuilder
Normal file
84
amxmodx/AMBuilder
Normal file
|
@ -0,0 +1,84 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaPlugin(builder, 'amxmodx')
|
||||
|
||||
binary.compiler.defines += [
|
||||
'JIT',
|
||||
'ASM32',
|
||||
'HAVE_STDINT_H',
|
||||
]
|
||||
|
||||
if builder.target_platform == 'mac':
|
||||
jit_objects = [
|
||||
binary.Dep('JIT/amxexecn-darwin.o'),
|
||||
binary.Dep('JIT/amxjitsn-darwin.o'),
|
||||
binary.Dep('JIT/natives-darwin-x86.o'),
|
||||
binary.Dep('JIT/helpers-darwin-x86.o'),
|
||||
]
|
||||
elif builder.target_platform == 'linux':
|
||||
jit_objects = [
|
||||
binary.Dep('JIT/amxexecn.o'),
|
||||
binary.Dep('JIT/amxjitsn.o'),
|
||||
binary.Dep('JIT/natives-x86.o'),
|
||||
binary.Dep('JIT/helpers-x86.o'),
|
||||
]
|
||||
|
||||
if builder.target_platform == 'linux':
|
||||
binary.compiler.postlink += [binary.Dep('zlib/libz.a')]
|
||||
elif builder.target_platform == 'mac':
|
||||
binary.compiler.postlink += [binary.Dep('zlib/libz-darwin.a')]
|
||||
elif builder.target_platform == 'windows':
|
||||
binary.compiler.postlink += [binary.Dep('zlib\\zlib.lib')]
|
||||
|
||||
binary.sources = [
|
||||
'meta_api.cpp',
|
||||
'CFile.cpp',
|
||||
'CVault.cpp',
|
||||
'vault.cpp',
|
||||
'float.cpp',
|
||||
'file.cpp',
|
||||
'modules.cpp',
|
||||
'CMisc.cpp',
|
||||
'CTask.cpp',
|
||||
'string.cpp',
|
||||
'amxmodx.cpp',
|
||||
'CEvent.cpp',
|
||||
'CCmd.cpp',
|
||||
'CLogEvent.cpp',
|
||||
'srvcmd.cpp',
|
||||
'strptime.cpp',
|
||||
'amxcore.cpp',
|
||||
'amxtime.cpp',
|
||||
'power.cpp',
|
||||
'amxxlog.cpp',
|
||||
'fakemeta.cpp',
|
||||
'amxxfile.cpp',
|
||||
'CLang.cpp',
|
||||
'md5.cpp',
|
||||
'emsg.cpp',
|
||||
'CForward.cpp',
|
||||
'CPlugin.cpp',
|
||||
'CModule.cpp',
|
||||
'CMenu.cpp',
|
||||
'util.cpp',
|
||||
'amx.cpp',
|
||||
'amxdbg.cpp',
|
||||
'natives.cpp',
|
||||
'newmenus.cpp',
|
||||
'debugger.cpp',
|
||||
'optimizer.cpp',
|
||||
'format.cpp',
|
||||
'messages.cpp',
|
||||
'libraries.cpp',
|
||||
'vector.cpp',
|
||||
'sorting.cpp',
|
||||
'amxmod_compat.cpp',
|
||||
'nongpl_matches.cpp',
|
||||
'CFlagManager.cpp',
|
||||
'datastructs.cpp',
|
||||
'trie_natives.cpp',
|
||||
]
|
||||
binary.compiler.linkflags += jit_objects
|
||||
|
||||
AMXX.binaries += [builder.Add(binary)]
|
26
compiler/amxxpc/AMBuilder
Normal file
26
compiler/amxxpc/AMBuilder
Normal file
|
@ -0,0 +1,26 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Program(builder, 'amxxpc')
|
||||
|
||||
binary.compiler.defines += [
|
||||
'AMX_ANSIONLY',
|
||||
]
|
||||
|
||||
if builder.target_platform == 'linux':
|
||||
binary.compiler.postlink += [
|
||||
'-ldl',
|
||||
binary.Dep('libz.a'),
|
||||
]
|
||||
elif builder.target_platform == 'mac':
|
||||
binary.compiler.postlink += [binary.Dep('libz-darwin.a')]
|
||||
elif builder.target_platform == 'windows':
|
||||
binary.compiler.postlink += [binary.Dep('zlib.lib')]
|
||||
|
||||
binary.sources = [
|
||||
'amx.cpp',
|
||||
'amxxpc.cpp',
|
||||
'Binary.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
|
@ -775,7 +775,7 @@ static void expand(unsigned char *code, long codesize, long memsize)
|
|||
do {
|
||||
codesize--;
|
||||
/* no input byte should be shifted out completely */
|
||||
assert(shift<8*sizeof(cell));
|
||||
assert(size_t(shift)<8*sizeof(cell));
|
||||
/* we work from the end of a sequence backwards; the final code in
|
||||
* a sequence may not have the continuation bit set */
|
||||
assert(shift>0 || (code[(size_t)codesize] & 0x80)==0);
|
||||
|
|
38
compiler/libpc300/AMBuilder
Normal file
38
compiler/libpc300/AMBuilder
Normal file
|
@ -0,0 +1,38 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Library(builder, 'amxxpc32')
|
||||
|
||||
binary.compiler.includes += [builder.currentSourcePath]
|
||||
|
||||
if builder.target_platform in ['mac', 'linux']:
|
||||
binary.compiler.defines += ['ENABLE_BINRELOC']
|
||||
binary.compiler.postlink += ['-lm', '-lpthread']
|
||||
|
||||
binary.compiler.defines += [
|
||||
'NO_MAIN',
|
||||
'PAWNC_DLL',
|
||||
'HAVE_STDINT_H',
|
||||
]
|
||||
|
||||
binary.sources = [
|
||||
'sc1.c',
|
||||
'sc2.c',
|
||||
'sc3.c',
|
||||
'sc4.c',
|
||||
'sc5.c',
|
||||
'sc6.c',
|
||||
'sc7.c',
|
||||
'scvars.c',
|
||||
'scmemfil.c',
|
||||
'scstate.c',
|
||||
'sclist.c',
|
||||
'sci18n.c',
|
||||
'scexpand.c',
|
||||
'pawncc.c',
|
||||
'libpawnc.c',
|
||||
'prefix.c',
|
||||
'memfile.c',
|
||||
]
|
||||
|
||||
AMXX.libpc300 = [builder.Add(binary)]
|
31
configure.py
Normal file
31
configure.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
# vim: set ts=2 sw=2 tw=99 noet:
|
||||
import sys
|
||||
try:
|
||||
from ambuild2 import run
|
||||
except:
|
||||
try:
|
||||
import ambuild
|
||||
sys.stderr.write('It looks like you have AMBuild 1 installed, but this project uses AMBuild 2.\n')
|
||||
sys.stderr.write('Upgrade to the latest version of AMBuild to continue.\n')
|
||||
except:
|
||||
sys.stderr.write('AMBuild must be installed to build this project.\n')
|
||||
sys.stderr.write('http://www.alliedmods.net/ambuild\n')
|
||||
sys.exit(1)
|
||||
|
||||
run = run.PrepareBuild(sourcePath=sys.path[0])
|
||||
run.default_build_folder = 'obj-' + run.target_platform
|
||||
run.options.add_option('--enable-debug', action='store_const', const='1', dest='debug',
|
||||
help='Enable debugging symbols')
|
||||
run.options.add_option('--enable-optimize', action='store_const', const='1', dest='opt',
|
||||
help='Enable optimization')
|
||||
run.options.add_option('--no-mysql', action='store_true', default=False, dest='disable_mysql',
|
||||
help='Disable building MySQL extension')
|
||||
run.options.add_option('--breakpad-dump', action='store_true', dest='breakpad_dump',
|
||||
default=False, help='Dump and upload breakpad symbols')
|
||||
run.options.add_option('--metamod', type='string', dest='metamod_path', default='',
|
||||
help='Path to Metamod source code')
|
||||
run.options.add_option('--hlsdk', type='string', dest='hlsdk_path', default='',
|
||||
help='Path to the HLSDK')
|
||||
run.options.add_option('--mysql', type='string', dest='mysql_path', default='',
|
||||
help='Path to MySQL')
|
||||
run.Configure()
|
13
dlls/cstrike/cstrike/AMBuilder
Normal file
13
dlls/cstrike/cstrike/AMBuilder
Normal file
|
@ -0,0 +1,13 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'cstrike')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'CstrikePlayer.cpp',
|
||||
'cstrike.cpp',
|
||||
'CstrikeHacks.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
15
dlls/cstrike/csx/AMBuilder
Normal file
15
dlls/cstrike/csx/AMBuilder
Normal file
|
@ -0,0 +1,15 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'csx')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'CRank.cpp',
|
||||
'CMisc.cpp',
|
||||
'meta_api.cpp',
|
||||
'rank.cpp',
|
||||
'usermsg.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
16
dlls/dod/dodfun/AMBuilder
Normal file
16
dlls/dod/dodfun/AMBuilder
Normal file
|
@ -0,0 +1,16 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'dodfun')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'NBase.cpp',
|
||||
'CMisc.cpp',
|
||||
'NPD.cpp',
|
||||
'Utils.cpp',
|
||||
'usermsg.cpp',
|
||||
'moduleconfig.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
17
dlls/dod/dodx/AMBuilder
Normal file
17
dlls/dod/dodx/AMBuilder
Normal file
|
@ -0,0 +1,17 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'dodx')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'CRank.cpp',
|
||||
'CMisc.cpp',
|
||||
'NBase.cpp',
|
||||
'NRank.cpp',
|
||||
'usermsg.cpp',
|
||||
'Utils.cpp',
|
||||
'moduleconfig.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
16
dlls/engine/AMBuilder
Normal file
16
dlls/engine/AMBuilder
Normal file
|
@ -0,0 +1,16 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'engine')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'amxxapi.cpp',
|
||||
'engine.cpp',
|
||||
'entity.cpp',
|
||||
'globals.cpp',
|
||||
'forwards.cpp',
|
||||
'amxmod_compat.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
20
dlls/fakemeta/AMBuilder
Normal file
20
dlls/fakemeta/AMBuilder
Normal file
|
@ -0,0 +1,20 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'fakemeta')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'dllfunc.cpp',
|
||||
'engfunc.cpp',
|
||||
'fakemeta_amxx.cpp',
|
||||
'pdata.cpp',
|
||||
'forward.cpp',
|
||||
'fm_tr.cpp',
|
||||
'pev.cpp',
|
||||
'glb.cpp',
|
||||
'fm_tr2.cpp',
|
||||
'misc.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
11
dlls/fun/AMBuilder
Normal file
11
dlls/fun/AMBuilder
Normal file
|
@ -0,0 +1,11 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'fun')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'fun.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
12
dlls/geoip/AMBuilder
Normal file
12
dlls/geoip/AMBuilder
Normal file
|
@ -0,0 +1,12 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Module(builder, 'geoip')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'GeoIP.c',
|
||||
'geoip_amxx.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
19
dlls/hamsandwich/AMBuilder
Normal file
19
dlls/hamsandwich/AMBuilder
Normal file
|
@ -0,0 +1,19 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'hamsandwich')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'amxx_api.cpp',
|
||||
'config_parser.cpp',
|
||||
'hook_callbacks.cpp',
|
||||
'hook_native.cpp',
|
||||
'srvcmd.cpp',
|
||||
'call_funcs.cpp',
|
||||
'hook_create.cpp',
|
||||
'DataHandler.cpp',
|
||||
'pdata.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
48
dlls/mysqlx/AMBuilder
Normal file
48
dlls/mysqlx/AMBuilder
Normal file
|
@ -0,0 +1,48 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
if AMXX.mysql_path:
|
||||
binary = AMXX.MetaModule(builder, 'mysql')
|
||||
|
||||
binary.compiler.cxxincludes += [
|
||||
os.path.join(AMXX.mysql_path, 'include'),
|
||||
os.path.join(builder.currentSourcePath, 'mysql'),
|
||||
os.path.join(builder.currentSourcePath, 'thread'),
|
||||
]
|
||||
|
||||
binary.compiler.defines += [
|
||||
'SM_DEFAULT_THREADER',
|
||||
'stricmp=strcasecmp',
|
||||
]
|
||||
|
||||
if builder.target_platform is 'linux' or builder.target_platform is 'mac':
|
||||
binary.compiler.postlink += [
|
||||
os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'),
|
||||
'-lz',
|
||||
'-lpthread',
|
||||
'-lm'
|
||||
]
|
||||
elif builder.target_platform is 'windows':
|
||||
binary.compiler.postlink += [
|
||||
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'mysqlclient.lib'),
|
||||
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'zlib.lib'),
|
||||
'wsock32.lib'
|
||||
]
|
||||
|
||||
binary.sources = [
|
||||
'basic_sql.cpp',
|
||||
'handles.cpp',
|
||||
'module.cpp',
|
||||
'threading.cpp',
|
||||
'sdk/amxxmodule.cpp',
|
||||
'oldcompat_sql.cpp',
|
||||
'thread/BaseWorker.cpp',
|
||||
'thread/ThreadWorker.cpp',
|
||||
'thread/PosixThreads.cpp',
|
||||
'mysql/MysqlQuery.cpp',
|
||||
'mysql/MysqlResultSet.cpp',
|
||||
'mysql/MysqlDatabase.cpp',
|
||||
'mysql/MysqlDriver.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
25
dlls/ns/AMBuilder
Normal file
25
dlls/ns/AMBuilder
Normal file
|
@ -0,0 +1,25 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'ns')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'dllapi.cpp',
|
||||
'utils.cpp',
|
||||
'amxxapi.cpp',
|
||||
'engineapi.cpp',
|
||||
'TitleManager.cpp',
|
||||
'ParticleManager.cpp',
|
||||
'MessageHandler.cpp',
|
||||
'GameManager.cpp',
|
||||
'natives/general.cpp',
|
||||
'natives/player.cpp',
|
||||
'natives/player_memory.cpp',
|
||||
'natives/structure.cpp',
|
||||
'natives/weapons.cpp',
|
||||
'natives/particles.cpp',
|
||||
'natives/memberfuncs.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
14
dlls/nvault/AMBuilder
Normal file
14
dlls/nvault/AMBuilder
Normal file
|
@ -0,0 +1,14 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Module(builder, 'nvault')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'amxxapi.cpp',
|
||||
'Binary.cpp',
|
||||
'Journal.cpp',
|
||||
'NVault.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
19
dlls/regex/AMBuilder
Normal file
19
dlls/regex/AMBuilder
Normal file
|
@ -0,0 +1,19 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Module(builder, 'regex')
|
||||
|
||||
if builder.target_platform == 'linux':
|
||||
binary.compiler.postlink += [binary.Dep('lib_linux/libpcre.a')]
|
||||
elif builder.target_platform == 'mac':
|
||||
binary.compiler.postlink += [binary.Dep('lib_darwin/libpcre.a')]
|
||||
elif builder.target_platform == 'windows':
|
||||
binary.compiler.postlink += [binary.Dep('lib_win\\pcre.lib')]
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'module.cpp',
|
||||
'CRegEx.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
11
dlls/sockets/AMBuilder
Normal file
11
dlls/sockets/AMBuilder
Normal file
|
@ -0,0 +1,11 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.Module(builder, 'sockets')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'sockets.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
74
dlls/sqlite/AMBuilder
Normal file
74
dlls/sqlite/AMBuilder
Normal file
|
@ -0,0 +1,74 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'sqlite')
|
||||
binary.compiler.cxxincludes += [
|
||||
os.path.join(builder.currentSourcePath, 'sqlitepp'),
|
||||
os.path.join(builder.currentSourcePath, 'thread'),
|
||||
]
|
||||
binary.compiler.defines += [
|
||||
'SM_DEFAULT_THREADER',
|
||||
'stricmp=strcasecmp',
|
||||
]
|
||||
|
||||
if builder.target_platform == 'linux':
|
||||
binary.compiler.postlink += ['-lpthread']
|
||||
|
||||
binary.sources = [
|
||||
'basic_sql.cpp',
|
||||
'handles.cpp',
|
||||
'module.cpp',
|
||||
'threading.cpp',
|
||||
'sdk/amxxmodule.cpp',
|
||||
'oldcompat_sql.cpp',
|
||||
'thread/BaseWorker.cpp',
|
||||
'thread/ThreadWorker.cpp',
|
||||
'thread/PosixThreads.cpp',
|
||||
'sqlitepp/SqliteQuery.cpp',
|
||||
'sqlitepp/SqliteResultSet.cpp',
|
||||
'sqlitepp/SqliteDatabase.cpp',
|
||||
'sqlitepp/SqliteDriver.cpp',
|
||||
'sqlite-source/alter.c',
|
||||
'sqlite-source/analyze.c',
|
||||
'sqlite-source/attach.c',
|
||||
'sqlite-source/auth.c',
|
||||
'sqlite-source/btree.c',
|
||||
'sqlite-source/build.c',
|
||||
'sqlite-source/callback.c',
|
||||
'sqlite-source/complete.c',
|
||||
'sqlite-source/date.c',
|
||||
'sqlite-source/delete.c',
|
||||
'sqlite-source/expr.c',
|
||||
'sqlite-source/func.c',
|
||||
'sqlite-source/hash.c',
|
||||
'sqlite-source/insert.c',
|
||||
'sqlite-source/legacy.c',
|
||||
'sqlite-source/loadext.c',
|
||||
'sqlite-source/main.c',
|
||||
'sqlite-source/opcodes.c',
|
||||
'sqlite-source/os.c',
|
||||
'sqlite-source/os_unix.c',
|
||||
'sqlite-source/pager.c',
|
||||
'sqlite-source/parse.c',
|
||||
'sqlite-source/pragma.c',
|
||||
'sqlite-source/prepare.c',
|
||||
'sqlite-source/printf.c',
|
||||
'sqlite-source/random.c',
|
||||
'sqlite-source/select.c',
|
||||
'sqlite-source/table.c',
|
||||
'sqlite-source/tokenize.c',
|
||||
'sqlite-source/trigger.c',
|
||||
'sqlite-source/update.c',
|
||||
'sqlite-source/utf.c',
|
||||
'sqlite-source/util.c',
|
||||
'sqlite-source/vacuum.c',
|
||||
'sqlite-source/vdbe.c',
|
||||
'sqlite-source/vdbeapi.c',
|
||||
'sqlite-source/vdbeaux.c',
|
||||
'sqlite-source/vdbefifo.c',
|
||||
'sqlite-source/vdbemem.c',
|
||||
'sqlite-source/vtab.c',
|
||||
'sqlite-source/where.c',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
17
dlls/tfcx/AMBuilder
Normal file
17
dlls/tfcx/AMBuilder
Normal file
|
@ -0,0 +1,17 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'tfcx')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'CRank.cpp',
|
||||
'CMisc.cpp',
|
||||
'NBase.cpp',
|
||||
'NRank.cpp',
|
||||
'usermsg.cpp',
|
||||
'Utils.cpp',
|
||||
'moduleconfig.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
10
dlls/ts/tsfun/AMBuilder
Normal file
10
dlls/ts/tsfun/AMBuilder
Normal file
|
@ -0,0 +1,10 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'tsfun')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
17
dlls/ts/tsx/AMBuilder
Normal file
17
dlls/ts/tsx/AMBuilder
Normal file
|
@ -0,0 +1,17 @@
|
|||
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os.path
|
||||
|
||||
binary = AMXX.MetaModule(builder, 'tsx')
|
||||
|
||||
binary.sources = [
|
||||
'sdk/amxxmodule.cpp',
|
||||
'CMisc.cpp',
|
||||
'CRank.cpp',
|
||||
'NBase.cpp',
|
||||
'NRank.cpp',
|
||||
'Utils.cpp',
|
||||
'moduleconfig.cpp',
|
||||
'usermsg.cpp',
|
||||
]
|
||||
|
||||
AMXX.modules += [builder.Add(binary)]
|
Loading…
Reference in New Issue
Block a user