mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-24 13:55:36 +03:00
Initial import of AMBuild infrastructure for C++ projects.
Former-commit-id: 53baa4f8c2
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 {
|
do {
|
||||||
codesize--;
|
codesize--;
|
||||||
/* no input byte should be shifted out completely */
|
/* 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
|
/* we work from the end of a sequence backwards; the final code in
|
||||||
* a sequence may not have the continuation bit set */
|
* a sequence may not have the continuation bit set */
|
||||||
assert(shift>0 || (code[(size_t)codesize] & 0x80)==0);
|
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