amxmodx/amxmodx/AMBuilder

109 lines
2.4 KiB
Python

# 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'),
]
elif builder.target_platform == 'windows':
jit_objects = [
binary.Dep('JIT/amxexecn.obj'),
binary.Dep('JIT/amxjitsn.obj'),
binary.Dep('JIT/helpers-x86.obj'),
binary.Dep('JIT/natives-x86.obj'),
]
binary.compiler.linkflags += jit_objects
binary.compiler.linkflags += [AMXX.zlib.binary]
if builder.target_platform == 'mac':
binary.compiler.postlink += [
'-Wl,-read_only_relocs,suppress'
]
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',
'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',
'nongpl_matches.cpp',
'CFlagManager.cpp',
'datastructs.cpp',
'trie_natives.cpp',
'CDataPack.cpp',
'datapacks.cpp',
'stackstructs.cpp',
'CTextParsers.cpp',
'textparse.cpp',
'CvarManager.cpp',
'cvars.cpp',
'../public/memtools/CDetour/detours.cpp',
'../public/memtools/CDetour/asm/asm.c',
'../public/hashing/hashing.cpp',
'../public/hashing/hashers/crc32.cpp',
'../public/hashing/hashers/md5.cpp',
'../public/hashing/hashers/sha1.cpp',
'../public/hashing/hashers/sha256.cpp',
'../public/hashing/hashers/sha3.cpp',
'../public/hashing/hashers/keccak.cpp'
]
if builder.target_platform == 'windows':
binary.sources += ['version.rc']
AMXX.binaries += [builder.Add(binary)]