office-gobmx/external/nss/nss-android.patch.1
Jan-Marek Glogowski d2f9c55e06 nss: restore manual pre-dependency build
We had some seldom build failures on Windows, with errors like:
PermissionError: [WinError 32] The process cannot access the file
because it is being used by another process: '..../nssckmdt.h'.

This happens, because of the "." / parent shell hack. Thinking
about it again, it doesn't prevent the parent make to run in
parallel to the "." directory make. So I tried to use a terminal
match-all rule like

ifneq (,$(filter .,$(DIRS)))
%::
	# empty terminal rule triggered
$(error can't happen)
endif

to stop the original parent make, but that doesn't work and the
$(error ...) is triggered.

So AFAIK I'm out of options here and have to restore the old
manual pre-dependency build variant - still much better then no
parallel build.

An alternative idea was to put the rest of the rules.mk in the
"else" of the terminal rule, to skip all normal rules, but this
still leaves out all rules from the rest of the make-files,
which might result in some hard to debug errors.

This reverts my upstream patch 15608:744881490c78.

Change-Id: I9e2e9e1ec9f35697c7853c92f60434f514cba5ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103777
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-10-02 13:38:10 +02:00

93 lines
3.6 KiB
Groff

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,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.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
diff -ur nss.org/nspr/configure nss/nspr/configure
--- nss.org/nspr/configure 2017-09-07 15:29:45.018246359 +0200
+++ nss/nspr/configure 2017-09-07 15:31:47.604075663 +0200
@@ -2737,18 +2739,15 @@
esac
AS="$android_toolchain"/bin/"$android_tool_prefix"-as
- CC="$android_toolchain"/bin/"$android_tool_prefix"-gcc
- CXX="$android_toolchain"/bin/"$android_tool_prefix"-g++
- CPP="$android_toolchain"/bin/"$android_tool_prefix"-cpp
+ CC="$CC"
+ CXX="$CXX"
+ CPP="$CC" -E
LD="$android_toolchain"/bin/"$android_tool_prefix"-ld
AR="$android_toolchain"/bin/"$android_tool_prefix"-ar
RANLIB="$android_toolchain"/bin/"$android_tool_prefix"-ranlib
STRIP="$android_toolchain"/bin/"$android_tool_prefix"-strip
CPPFLAGS="-I$android_platform/usr/include $CPPFLAGS"
- CFLAGS="-mandroid -I$android_platform/usr/include -fno-short-enums -fno-exceptions $CFLAGS"
- CXXFLAGS="-mandroid -I$android_platform/usr/include -fpic -fno-short-enums -fno-exceptions $CXXFLAGS"
- LDFLAGS="-mandroid -L$android_platform/usr/lib -Wl,-rpath-link=$android_platform/usr/lib --sysroot=$android_platform $LDFLAGS"
$as_echo "#define ANDROID 1" >>confdefs.h
diff -ur nss.org/nss/Makefile nss/nss/Makefile
--- nss.org/nss/Makefile 2017-09-07 15:29:44.933245745 +0200
+++ nss/nss/Makefile 2017-09-07 15:32:04.347181076 +0200
@@ -62,7 +62,7 @@
ifeq ($(OS_TARGET),Android)
NSPR_CONFIGURE_OPTS += --with-android-ndk=$(ANDROID_NDK) \
- --target=$(ANDROID_PREFIX) \
+ --with-arch=toolchain-default \
--with-android-version=$(OS_TARGET_RELEASE) \
--with-android-toolchain=$(ANDROID_TOOLCHAIN) \
--with-android-platform=$(ANDROID_SYSROOT)
--- nss/nss/Makefile.orig 2019-11-26 14:52:15.934561202 +0100
+++ nss/nss/Makefile 2019-11-26 14:52:20.538559612 +0100
@@ -140,7 +140,6 @@
build_nspr: $(NSPR_CONFIG_STATUS)
$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/pr/tests
install_nspr: build_nspr
$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
--- nss/nss/lib/ckfw/builtins/manifest.mn.orig 2019-11-26 15:18:22.185985193 +0100
+++ nss/nss/lib/ckfw/builtins/manifest.mn 2019-11-26 15:18:29.281982387 +0100
@@ -5,7 +5,7 @@
CORE_DEPTH = ../../..
-DIRS = testlib
+DIRS =
MODULE = nss
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,15 @@
#
# this should be configurable from the user
#
- OS_TEST := arm
+ ifneq (,$(filter x86 x86_64,$(ANDROID_APP_ABI)))
+ OS_TEST := $(ANDROID_APP_ABI)
+ else
+ ifeq ($(USE_64),1)
+ OS_TEST := aarch64
+ else
+ OS_TEST := arm
+ endif
+ endif
OS_ARCH = Android
ifndef OS_TARGET_RELEASE
OS_TARGET_RELEASE := 8