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:
Alibek Omarov 2019-09-20 16:35:33 +03:00
parent b141cac977
commit c93aa8c568
1 changed files with 8 additions and 8 deletions

View File

@ -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):