diff --git a/kiwix-build.py b/kiwix-build.py index cfd422b..2a57056 100755 --- a/kiwix-build.py +++ b/kiwix-build.py @@ -136,7 +136,8 @@ class TargetInfo: 'lsystem': 'windows', 'cpu_family': 'x86', 'cpu': 'i686', - 'endian': 'little' + 'endian': 'little', + 'abi': '' } } elif self.build == 'armhf': @@ -148,24 +149,25 @@ class TargetInfo: 'lsystem': 'linux', 'cpu_family': 'arm', 'cpu': 'armhf', - 'endian': 'little' + 'endian': 'little', + 'abi': '' } } class AndroidTargetInfo(TargetInfo): __arch_infos = { - 'arm' : ('arm-linux-androideabi', 'arm'), - 'arm64': ('aarch64-linux-android', 'aarch64'), - 'mips': ('mipsel-linux-android', 'mipsel'), - 'mips64': ('mips64el-linux-android', 'mips64el'), - 'x86': ('i686-linux-android', 'i686'), - 'x86_64': ('x86_64-linux-android', 'x86_64'), + 'arm' : ('arm-linux-androideabi', 'arm', 'armeabi'), + 'arm64': ('aarch64-linux-android', 'aarch64', 'arm64-v8a'), + 'mips': ('mipsel-linux-android', 'mipsel', 'mips'), + 'mips64': ('mips64el-linux-android', 'mips64el', 'mips64'), + 'x86': ('i686-linux-android', 'i686', 'x86'), + 'x86_64': ('x86_64-linux-android', 'x86_64', 'x86_64'), } def __init__(self, arch): super().__init__('android', True, ['android_ndk', 'android_sdk']) self.arch = arch - self.arch_full, self.cpu = self.__arch_infos[arch] + self.arch_full, self.cpu, self.abi = self.__arch_infos[arch] def __str__(self): return "android" @@ -179,8 +181,9 @@ class AndroidTargetInfo(TargetInfo): 'lsystem': 'android', 'cpu_family': self.arch, 'cpu': self.cpu, - 'endian': 'little' - } + 'endian': 'little', + 'abi': self.abi + }, } diff --git a/templates/meson_cross_file.txt b/templates/meson_cross_file.txt index dcc66ad..d0710b4 100644 --- a/templates/meson_cross_file.txt +++ b/templates/meson_cross_file.txt @@ -10,6 +10,7 @@ c_link_args = {extra_libs!r} cpp_link_args = {extra_libs!r} c_args = {extra_cflags!r} cpp_args = {extra_cflags!r} +android_abi = '{host_machine[abi]}' [host_machine] cpu_family = '{host_machine[cpu_family]}'