46d1ef68bd
* Remove prebuilt nasm-generated object files from the tree, and use AMBuild to compile them. * Add commands in VS project to build the object files * Rename elf to elf32 for consistency
98 lines
2.2 KiB
Python
98 lines
2.2 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',
|
|
]
|
|
|
|
AMXX.AddAssembly(builder, binary, 'helpers-x86.asm', 'helpers-asm.obj')
|
|
AMXX.AddAssembly(builder, binary, 'natives-x86.asm', 'natives-asm.obj')
|
|
AMXX.AddAssembly(builder, binary, 'amxexecn.asm', 'amxexecn-asm.obj',
|
|
includes=['amxdefn.asm'])
|
|
AMXX.AddAssembly(builder, binary, 'amxjitsn.asm', 'amxjitsn-asm.obj',
|
|
includes=['amxdefn.asm'],
|
|
# Opcode sizes must be maximum width for patching to work.
|
|
extra_argv=['-O0'])
|
|
|
|
if builder.target_platform == 'mac':
|
|
binary.compiler.postlink += [
|
|
'-Wl,-read_only_relocs,suppress'
|
|
]
|
|
elif builder.target_platform == 'windows':
|
|
binary.compiler.linkflags += [
|
|
'/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1',
|
|
'/SECTION:.data,RW',
|
|
]
|
|
|
|
binary.compiler.linkflags += [AMXX.zlib.binary, AMXX.hashing.binary, AMXX.utf8rewind.binary]
|
|
|
|
binary.sources = [
|
|
'meta_api.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/MemoryUtils.cpp',
|
|
'../public/memtools/CDetour/detours.cpp',
|
|
'../public/memtools/CDetour/asm/asm.c',
|
|
'../public/resdk/mod_rehlds_api.cpp',
|
|
'CLibrarySys.cpp',
|
|
'CGameConfigs.cpp',
|
|
'gameconfigs.cpp',
|
|
'CoreConfig.cpp',
|
|
]
|
|
|
|
if builder.target_platform == 'windows':
|
|
binary.sources += ['version.rc']
|
|
|
|
AMXX.binaries += [builder.Add(binary)]
|