Add ambuild 2.2 support

This commit is contained in:
maxime1907
2021-08-26 17:35:39 +02:00
parent ae3e25c547
commit 1548f94a0c
7 changed files with 424 additions and 127 deletions
+36 -21
View File
@@ -1,29 +1,44 @@
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os
if not "SM" in globals():
SM = Extension
projectName = 'a2sqcache'
project = SM.HL2Project(builder, projectName + '.ext')
project.sources += [
'extension.cpp',
'../../public/smsdk_ext.cpp',
'../../public/CDetour/detours.cpp',
'../../public/asm/asm.c',
'../../public/libudis86/decode.c',
'../../public/libudis86/itab.c',
'../../public/libudis86/syn-att.c',
'../../public/libudis86/syn-intel.c',
'../../public/libudis86/syn.c',
'../../public/libudis86/udis86.c',
]
project.compiler.defines += ['HAVE_STRING_H'];
for cxx in builder.targets:
for sdk_name in SM.sdks:
sdk = SM.sdks[sdk_name]
for sdk_name in SM.sdks:
sdk = SM.sdks[sdk_name]
if not cxx.target.arch in sdk.platformSpec[cxx.target.platform]:
continue
binary = SM.HL2Config(project, projectName + '.ext', sdk)
binary = SM.HL2Library(builder, cxx, projectName + '.ext.' + sdk.ext, sdk)
SM.extensions += builder.Add(project)
binary.compiler.defines += [
'HAVE_STRING_H',
]
if cxx.target.platform == 'linux':
cxx.postlink += ['-lpthread', '-lrt']
elif cxx.target.platform == 'mac':
cxx.cflags += ['-Wno-deprecated-declarations']
cxx.postlink += ['-framework', 'CoreServices']
if cxx.family == 'gcc' or cxx.family == 'clang':
cxx.cxxflags += ['-fno-rtti']
elif cxx.family == 'msvc':
cxx.cxxflags += ['/GR-']
binary.sources += [
'extension.cpp',
os.path.join(SM.sm_root, 'extensions', 'sm-ext-common', 'mathstubs.c'),
os.path.join(SM.sm_root, 'public', 'smsdk_ext.cpp'),
os.path.join(SM.sm_root, 'public', 'CDetour', 'detours.cpp'),
os.path.join(SM.sm_root, 'public', 'asm', 'asm.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'decode.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'itab.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-att.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-intel.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'syn.c'),
os.path.join(SM.sm_root, 'public', 'libudis86', 'udis86.c'),
]
SM.extensions += [builder.Add(binary)]