* Remove FAKEMETA leftovers * Move "require_module" native to where it belongs * Remove broken AMX module support * Remove useless natives * Remove "alloc_amxmemory" and "free_amxmemory" functions * Remove "strip_name" function * Clean engine a bit * Export "GiveFnptrsToDll" (Windows) (Core) * memcpy -> ke::SafeStrcpy * Export GiveFnptrsToDll in modules * Update msvc project files
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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'),
 | 
						|
  ]
 | 
						|
  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)]
 |