mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 21:24:27 +00:00
waifulib: xcompile: preserve order of MACROS_TO_DESTOS, add -stdlib=libstdc++ to use system provided C++ standard library, pass target in host clang
This commit is contained in:
parent
b141cac977
commit
c93aa8c568
@ -15,6 +15,7 @@ try: from fwgslib import get_flags_by_compiler
|
|||||||
except: from waflib.extras.fwgslib import get_flags_by_compiler
|
except: from waflib.extras.fwgslib import get_flags_by_compiler
|
||||||
from waflib import Logs
|
from waflib import Logs
|
||||||
from waflib.Tools import c_config
|
from waflib.Tools import c_config
|
||||||
|
from collections import OrderedDict
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
@ -183,12 +184,12 @@ class Android:
|
|||||||
|
|
||||||
def cc(self):
|
def cc(self):
|
||||||
if self.is_host():
|
if self.is_host():
|
||||||
return 'clang'
|
return 'clang --target=%s' % self.clang_host_triplet()
|
||||||
return self.toolchain_path + ('clang' if self.is_clang() else 'gcc')
|
return self.toolchain_path + ('clang' if self.is_clang() else 'gcc')
|
||||||
|
|
||||||
def cxx(self):
|
def cxx(self):
|
||||||
if self.is_host():
|
if self.is_host():
|
||||||
return 'clang++'
|
return 'clang++ --target=%s' % self.clang_host_triplet()
|
||||||
return self.toolchain_path + ('clang++' if self.is_clang() else 'g++')
|
return self.toolchain_path + ('clang++' if self.is_clang() else 'g++')
|
||||||
|
|
||||||
def strip(self):
|
def strip(self):
|
||||||
@ -230,7 +231,7 @@ class Android:
|
|||||||
def cflags(self):
|
def cflags(self):
|
||||||
cflags = []
|
cflags = []
|
||||||
if self.is_host():
|
if self.is_host():
|
||||||
cflags += ['-nostdlib', '--target=%s' % self.clang_host_triplet()]
|
cflags += ['-nostdlib']
|
||||||
|
|
||||||
if self.ndk_rev < 20:
|
if self.ndk_rev < 20:
|
||||||
cflags += ['--sysroot={0}'.format(self.sysroot())]
|
cflags += ['--sysroot={0}'.format(self.sysroot())]
|
||||||
@ -271,7 +272,7 @@ class Android:
|
|||||||
return linkflags
|
return linkflags
|
||||||
|
|
||||||
def ldflags(self):
|
def ldflags(self):
|
||||||
ldflags = ['-lgcc', '-no-canonical-prefixes']
|
ldflags = ['-stdlib=libstdc++', '-lgcc', '-no-canonical-prefixes']
|
||||||
if self.is_arm():
|
if self.is_arm():
|
||||||
if self.arch == 'armeabi-v7a':
|
if self.arch == 'armeabi-v7a':
|
||||||
ldflags += ['-march=armv7-a']
|
ldflags += ['-march=armv7-a']
|
||||||
@ -325,10 +326,9 @@ def configure(conf):
|
|||||||
# conf.env.ANDROID_OPTS = android
|
# conf.env.ANDROID_OPTS = android
|
||||||
conf.env.DEST_OS2 = 'android'
|
conf.env.DEST_OS2 = 'android'
|
||||||
|
|
||||||
MACRO_TO_DESTOS = {
|
MACRO_TO_DESTOS = OrderedDict({ '__ANDROID__' : 'android' })
|
||||||
'__ANDROID__' : 'android'
|
for k in c_config.MACRO_TO_DESTOS:
|
||||||
}
|
MACRO_TO_DESTOS[k] = c_config.MACRO_TO_DESTOS[k] # ordering is important
|
||||||
MACRO_TO_DESTOS.update(c_config.MACRO_TO_DESTOS) # ordering is important
|
|
||||||
c_config.MACRO_TO_DESTOS = MACRO_TO_DESTOS
|
c_config.MACRO_TO_DESTOS = MACRO_TO_DESTOS
|
||||||
|
|
||||||
def post_compiler_cxx_configure(conf):
|
def post_compiler_cxx_configure(conf):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user