From 7b0eb7c6c0ca78df5c42bd128b4ee7f4aed034f2 Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Wed, 26 Aug 2015 22:56:19 +0300 Subject: [PATCH] Separate makefile to ocmpile prebuilt libraries, only libiconv, libicu, and openssl are compiled currently --- changeAppSettings.sh | 4 ++++ project/jni/Makefile.prebuilt | 34 ++++++++++++++++++++++++++++++++++ project/jni/iconv/src | 2 +- project/jni/icuuc/src | 2 +- project/jni/openssl/.gitignore | 1 + project/jni/shmem | 2 +- 6 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 project/jni/Makefile.prebuilt create mode 100644 project/jni/openssl/.gitignore diff --git a/changeAppSettings.sh b/changeAppSettings.sh index f064d268b..bfa314bdd 100755 --- a/changeAppSettings.sh +++ b/changeAppSettings.sh @@ -968,4 +968,8 @@ if uname -s | grep -i "darwin" > /dev/null ; then find project/src -name "*.killme.tmp" -delete fi +echo Compiling prebuilt libraries + +make -C project/jni -f Makefile.prebuilt + echo Done diff --git a/project/jni/Makefile.prebuilt b/project/jni/Makefile.prebuilt new file mode 100644 index 000000000..a38bb7f1d --- /dev/null +++ b/project/jni/Makefile.prebuilt @@ -0,0 +1,34 @@ +# Makefile to build precompiled libraries, which cannot be built using standard NDK makefiles +# TODO: libboost, libffmpeg, libpython (used only in GemRB) + +ARCHES32 := armeabi armeabi-v7a x86 mips +ARCHES64 := arm64-v8a x86_64 + +ICONV := $(foreach ARCH, $(ARCHES32), iconv/lib/$(ARCH)/libiconv.so iconv/lib/$(ARCH)/libcharset.so) + +ICU_LIBS := data i18n io le lx test tu uc +ICU := $(foreach ARCH, $(ARCHES32), $(foreach NAME, $(ICU_LIBS), icuuc/lib/$(ARCH)/libicu$(NAME).a)) + +OPENSSL := $(foreach ARCH, $(ARCHES32) $(ARCHES64), openssl/lib-$(ARCH)/libcrypto.a openssl/lib-$(ARCH)/libssl.a) + +LIBS := $(ICONV) $(ICU) $(OPENSSL) + +prebuilt-libraries: $(LIBS) + +.NOTPARALLEL: $(LIBS) + +$(ICONV) $(ICU): + cd iconv/src && \ + ./build.sh && \ + for ARCH in $(ARCHES32); do \ + mkdir -p ../lib/$$ARCH ; \ + cp -f $$ARCH/libiconv.so $$ARCH/libcharset.so ../lib/$$ARCH/ ; \ + cp -f $$ARCH/include/*.h ../include/ ; \ + mkdir -p ../../icuuc/lib/$$ARCH ../../icuuc/include/layout ../../icuuc/include/unicode ; \ + cp -f $$ARCH/libicu*.a ../../icuuc/$$ARCH/ ; \ + cp -f $$ARCH/include/layout/*.h ../../icuuc/include/layout/ ; \ + cp -f $$ARCH/include/unicode/*.h ../../icuuc/include/unicode/ ; \ + done + +$(OPENSSL): + cd openssl && ./compile.sh diff --git a/project/jni/iconv/src b/project/jni/iconv/src index cf5739f0d..a63fa87d2 160000 --- a/project/jni/iconv/src +++ b/project/jni/iconv/src @@ -1 +1 @@ -Subproject commit cf5739f0da682fff11137fb7d327ebb32fd97837 +Subproject commit a63fa87d2e1658428d3eace6432e9d6a206ea393 diff --git a/project/jni/icuuc/src b/project/jni/icuuc/src index cf5739f0d..a63fa87d2 160000 --- a/project/jni/icuuc/src +++ b/project/jni/icuuc/src @@ -1 +1 @@ -Subproject commit cf5739f0da682fff11137fb7d327ebb32fd97837 +Subproject commit a63fa87d2e1658428d3eace6432e9d6a206ea393 diff --git a/project/jni/openssl/.gitignore b/project/jni/openssl/.gitignore new file mode 100644 index 000000000..c2c2afc15 --- /dev/null +++ b/project/jni/openssl/.gitignore @@ -0,0 +1 @@ +openssl/ diff --git a/project/jni/shmem b/project/jni/shmem index c2a28f528..f6b49516c 160000 --- a/project/jni/shmem +++ b/project/jni/shmem @@ -1 +1 @@ -Subproject commit c2a28f528d0b1b2528dda125e8fe8018609e7e9a +Subproject commit f6b49516cf4b13f455a19ec989626be5472830c5