diff options
author | Andras Timar <andras.timar@collabora.com> | 2021-10-10 09:08:41 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-10-10 09:14:29 +0200 |
commit | 2c15b86a941eca8799302b98f759dff306f33800 (patch) | |
tree | 681cdda3864b2dda8188de400296541513910852 | |
parent | 1dde03a15dbb9efd74bed1b08293e35892c26ecb (diff) |
android: Fix nss build on aarch64.
Change-Id: I51c03e13fba4619a881ade27d149722698859815
Reviewed-on: https://gerrit.libreoffice.org/81886
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r-- | external/nss/ExternalProject_nss.mk | 8 | ||||
-rw-r--r-- | external/nss/nss-android.patch.1 | 20 |
2 files changed, 23 insertions, 5 deletions
diff --git a/external/nss/ExternalProject_nss.mk b/external/nss/ExternalProject_nss.mk index 211fa1d64437..4d175e184da5 100644 --- a/external/nss/ExternalProject_nss.mk +++ b/external/nss/ExternalProject_nss.mk @@ -33,9 +33,9 @@ else # OS!=WNT # OTOH specify e.g. CC and NSINSTALL as arguments (after make command), so they will overrule nss makefile values $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecutable_get_dependencies,python) $(call gb_ExternalProject_run,build,\ - $(if $(filter FREEBSD LINUX MACOSX,$(OS)),$(if $(filter X86_64,$(CPUNAME)),USE_64=1)) \ - $(if $(filter iOS,$(OS)),\ - $(if $(filter arm64,$(CC)),USE_64=1)) \ + $(if $(filter ANDROID FREEBSD LINUX MACOSX,$(OS)),$(if $(filter X86_64,$(CPUNAME)),USE_64=1)) \ + $(if $(filter ANDROID,$(OS)),$(if $(filter AARCH64,$(CPUNAME)),USE_64=1)) \ + $(if $(filter iOS,$(OS)),$(if $(filter ARM64,$(CPUNAME)),USE_64=1)) \ $(if $(filter MACOSX,$(OS)),\ $(if $(filter-out POWERPC,$(CPUNAME)),MACOS_SDK_DIR=$(MACOSX_SDK_PATH)) \ NSS_USE_SYSTEM_SQLITE=1) \ @@ -52,7 +52,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecuta COMMA=$(COMMA) \ CC="$(CC)$(if $(filter ANDROID,$(OS)), -D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" CCC="$(CXX)" \ $(if $(CROSS_COMPILING),NSINSTALL="$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py") \ - $(if $(filter ANDROID,$(OS)),OS_TARGET=Android OS_TARGET_RELEASE=14 ARCHFLAG="" DEFAULT_COMPILER=clang ANDROID_NDK=$(ANDROID_NDK_HOME) ANDROID_TOOLCHAIN_VERSION=$(ANDROID_GCC_TOOLCHAIN_VERSION) ANDROID_PREFIX=$(HOST_PLATFORM) ANDROID_SYSROOT=$(SYSBASE) ANDROID_TOOLCHAIN=$(ANDROID_BINUTILS_PREBUILT_ROOT)) \ + $(if $(filter ANDROID,$(OS)),OS_TARGET=Android OS_TARGET_RELEASE=16 ARCHFLAG="" DEFAULT_COMPILER=clang ANDROID_NDK=$(ANDROID_NDK_HOME) ANDROID_TOOLCHAIN_VERSION=$(ANDROID_GCC_TOOLCHAIN_VERSION) ANDROID_PREFIX=$(HOST_PLATFORM) ANDROID_SYSROOT=$(ANDROID_NDK_HOME)/sysroot ANDROID_TOOLCHAIN=$(ANDROID_BINUTILS_PREBUILT_ROOT)) \ NSS_DISABLE_GTESTS=1 \ nss_build_all \ && rm -f $(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib/*.a \ diff --git a/external/nss/nss-android.patch.1 b/external/nss/nss-android.patch.1 index 50c549303604..4c03dce226f0 100644 --- a/external/nss/nss-android.patch.1 +++ b/external/nss/nss-android.patch.1 @@ -1,12 +1,14 @@ diff -ur nss.org/nspr/build/autoconf/config.sub nss/nspr/build/autoconf/config.sub --- nss.org/nspr/build/autoconf/config.sub 2017-09-07 15:29:45.031246453 +0200 +++ nss/nspr/build/autoconf/config.sub 2017-09-07 15:32:13.087235423 +0200 -@@ -111,6 +111,9 @@ +@@ -111,6 +111,11 @@ exit 1;; esac +if test $1 = "arm-unknown-linux-androideabi"; then echo $1; exit; fi ++if test $1 = "aarch64-unknown-linux-android"; then echo $1; exit; fi +if test $1 = "i686-pc-linux-android"; then echo $1; exit; fi ++if test $1 = "x86_64-pc-linux-android"; then echo $1; exit; fi + # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. @@ -47,3 +49,19 @@ diff -ur nss.org/nss/Makefile nss/nss/Makefile --with-android-version=$(OS_TARGET_RELEASE) \ --with-android-toolchain=$(ANDROID_TOOLCHAIN) \ --with-android-platform=$(ANDROID_SYSROOT) +diff -ur nss/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk +--- nss/nss/coreconf/arch.mk 2019-11-01 10:29:44.933245745 +0100 ++++ nss/nss/coreconf/arch.mk 2019-11-01 10:32:04.347181076 +0100 +@@ -234,7 +234,11 @@ + # + # this should be configurable from the user + # +- OS_TEST := arm ++ ifeq ($(USE_64),1) ++ OS_TEST := aarch64 ++ else ++ OS_TEST := arm ++ endif + OS_ARCH = Android + ifndef OS_TARGET_RELEASE + OS_TARGET_RELEASE := 8 |