waifulib: xcompile: fix AArch64 installation, fix including system headers

This commit is contained in:
Alibek Omarov 2019-10-18 02:59:21 +03:00
parent 3f9dd8f72b
commit c59ffaa6d7

View File

@ -144,6 +144,11 @@ class Android:
else: else:
return self.arch + '-linux-android' return self.arch + '-linux-android'
def apk_arch(self):
if self.is_arm64():
return 'arm64-v8a'
return self.arch
def gen_host_toolchain(self): def gen_host_toolchain(self):
# With host toolchain we don't care about OS # With host toolchain we don't care about OS
# so just download NDK for Linux x86_64 # so just download NDK for Linux x86_64
@ -235,7 +240,7 @@ class Android:
if self.is_host(): if self.is_host():
cflags += [ cflags += [
'--sysroot=%s/sysroot' % (self.gen_gcc_toolchain_path()), '--sysroot=%s/sysroot' % (self.gen_gcc_toolchain_path()),
'-I%s/usr/include/' % (self.sysroot()) '-isystem', '%s/usr/include/' % (self.sysroot())
] ]
cflags += ['-I%s' % (self.system_stl()), '-DANDROID', '-D__ANDROID__'] cflags += ['-I%s' % (self.system_stl()), '-DANDROID', '-D__ANDROID__']
@ -291,7 +296,7 @@ class Android:
def ldflags(self): def ldflags(self):
ldflags = ['-lgcc', '-no-canonical-prefixes'] ldflags = ['-lgcc', '-no-canonical-prefixes']
if self.is_clang(): if self.is_clang() or self.is_host():
ldflags += ['-stdlib=libstdc++'] ldflags += ['-stdlib=libstdc++']
if self.is_arm(): if self.is_arm():
if self.arch == 'armeabi-v7a': if self.arch == 'armeabi-v7a':
@ -336,7 +341,7 @@ def configure(conf):
conf.env.LIB_M = ['m_hard'] conf.env.LIB_M = ['m_hard']
else: conf.env.LIB_M = ['m'] else: conf.env.LIB_M = ['m']
conf.env.PREFIX = '/lib/%s' % (android.arch) conf.env.PREFIX = '/lib/%s' % android.apk_arch()
conf.msg('Selected Android NDK', '%s, version: %d' % (android.ndk_home, android.ndk_rev)) conf.msg('Selected Android NDK', '%s, version: %d' % (android.ndk_home, android.ndk_rev))
# no need to print C/C++ compiler, as it would be printed by compiler_c/cxx # no need to print C/C++ compiler, as it would be printed by compiler_c/cxx