# 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'), ] binary.compiler.postlink += [ '-Wl,-read_only_relocs,suppress' ] 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 += [ '/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1', '/SECTION:.data,RW', ] binary.compiler.linkflags += jit_objects 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)]