mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 13:14:51 +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
|
||||
from waflib import Logs
|
||||
from waflib.Tools import c_config
|
||||
from collections import OrderedDict
|
||||
import os
|
||||
import sys
|
||||
|
||||
@ -183,12 +184,12 @@ class Android:
|
||||
|
||||
def cc(self):
|
||||
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')
|
||||
|
||||
def cxx(self):
|
||||
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++')
|
||||
|
||||
def strip(self):
|
||||
@ -230,7 +231,7 @@ class Android:
|
||||
def cflags(self):
|
||||
cflags = []
|
||||
if self.is_host():
|
||||
cflags += ['-nostdlib', '--target=%s' % self.clang_host_triplet()]
|
||||
cflags += ['-nostdlib']
|
||||
|
||||
if self.ndk_rev < 20:
|
||||
cflags += ['--sysroot={0}'.format(self.sysroot())]
|
||||
@ -271,7 +272,7 @@ class Android:
|
||||
return linkflags
|
||||
|
||||
def ldflags(self):
|
||||
ldflags = ['-lgcc', '-no-canonical-prefixes']
|
||||
ldflags = ['-stdlib=libstdc++', '-lgcc', '-no-canonical-prefixes']
|
||||
if self.is_arm():
|
||||
if self.arch == 'armeabi-v7a':
|
||||
ldflags += ['-march=armv7-a']
|
||||
@ -325,10 +326,9 @@ def configure(conf):
|
||||
# conf.env.ANDROID_OPTS = android
|
||||
conf.env.DEST_OS2 = 'android'
|
||||
|
||||
MACRO_TO_DESTOS = {
|
||||
'__ANDROID__' : 'android'
|
||||
}
|
||||
MACRO_TO_DESTOS.update(c_config.MACRO_TO_DESTOS) # ordering is important
|
||||
MACRO_TO_DESTOS = OrderedDict({ '__ANDROID__' : 'android' })
|
||||
for k in c_config.MACRO_TO_DESTOS:
|
||||
MACRO_TO_DESTOS[k] = c_config.MACRO_TO_DESTOS[k] # ordering is important
|
||||
c_config.MACRO_TO_DESTOS = MACRO_TO_DESTOS
|
||||
|
||||
def post_compiler_cxx_configure(conf):
|
||||
|
Loading…
x
Reference in New Issue
Block a user