diff --git a/android/external/Makefile b/android/external/Makefile index 42913f1..6ff5f38 100644 --- a/android/external/Makefile +++ b/android/external/Makefile @@ -23,7 +23,7 @@ endif all: build -build: +build: libiconv-1.15.tar.gz $(MAKE) -C armeabi-v7a $(MAKE) -C arm64-v8a @@ -31,5 +31,7 @@ clean: $(MAKE) -C armeabi-v7a clean $(MAKE) -C arm64-v8a clean +libiconv-1.15.tar.gz: + $(MAKE) -C common assets: diff --git a/android/external/Makefile.conf b/android/external/Makefile.conf index e0f26fd..7e692b4 100644 --- a/android/external/Makefile.conf +++ b/android/external/Makefile.conf @@ -17,3 +17,24 @@ endif OPENSSL_VERSION=1.1.1b GMP_VERSION=6.1.2 NETTLE_VERSION=3.4.1 + +### Git deps repos +EXTERNAL_GIT_REPOS += libetpan|https://github.com/fdik/libetpan.git?HEAD +EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/husspEp/sequoia.git?master + +### Common variables +#### Source code targets +EXTERNAL_SRCS += libiconv-src +EXTERNAL_SRCS += uuid-src +EXTERNAL_SRCS += openssl-src +EXTERNAL_SRCS += gmp-src +EXTERNAL_SRCS += nettle-src + +#### Clean source code targets. +EXTERNAL_SRCS_CLEAN += libiconv-clean +EXTERNAL_SRCS_CLEAN += uuid-clean +EXTERNAL_SRCS_CLEAN += openssl-clean +EXTERNAL_SRCS_CLEAN += gmp-clean +EXTERNAL_SRCS_CLEAN += nettle-clean +EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean + diff --git a/android/external/arm64-v8a/Makefile b/android/external/arm64-v8a/Makefile index fc97c11..74cc591 100644 --- a/android/external/arm64-v8a/Makefile +++ b/android/external/arm64-v8a/Makefile @@ -96,12 +96,9 @@ showsetup: #EXTERNAL_GIT_REPOS += libiconv|git://git.savannah.gnu.org/libiconv.git?5365cc8 # using released package instead -libiconv-1.15.tar.gz: - wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz - touch $@ -libiconv.src.stamp: libiconv-1.15.tar.gz - tar xvfz libiconv-1.15.tar.gz +libiconv.src.stamp: ../libiconv-1.15.tar.gz + tar xvfz ../libiconv-1.15.tar.gz mv libiconv-1.15 libiconv touch $@ @@ -111,15 +108,7 @@ libiconv-clean: rm -rf libiconv rm -rf libiconv.src.stamp -EXTERNAL_SRCS += libiconv-src -EXTERNAL_SRCS_CLEAN += libiconv-clean - libiconv/Makefile: libiconv.src.stamp - -patch -N -p1 --reject-file=- libiconv/m4/libtool.m4 ../libtool-Add-Android-Linux-support-iconv.patch - cp ../config.sub libiconv/build-aux - cp ../config.guess libiconv/build-aux - cp ../config.sub libiconv/libcharset/build-aux - cp ../config.guess libiconv/libcharset/build-aux cd libiconv && \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ @@ -144,8 +133,6 @@ libiconv-install: $(LOCAL)/lib/libiconv.a #------------------------------------------------------------------------------# # libetpan -EXTERNAL_GIT_REPOS += libetpan|https://github.com/fdik/libetpan.git?HEAD - libetpan/Makefile: libetpan.src.stamp | libiconv-install cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh mv libetpan/build-android/libetpan-android-1.zip ../ @@ -176,9 +163,6 @@ uuid-clean: rm -rf uuid rm -rf uuid.src.stamp -EXTERNAL_SRCS += uuid-src -EXTERNAL_SRCS_CLEAN += uuid-clean - uuid/Makefile: uuid.src.stamp $(SED) -i 's,AC_CHECK_VA_COPY(),,' uuid/uuid.ac cd uuid && autoconf @@ -237,10 +221,6 @@ openssl-clean: rm -rf openssl rm -rf openssl.src.stamp -EXTERNAL_SRCS += openssl-src -EXTERNAL_SRCS_CLEAN += openssl-clean - - OPENSSL_ARCHITECTURE:=android-arm64 openssl/Makefile: openssl.src.stamp @@ -281,9 +261,6 @@ gmp-clean: rm -rf gmp rm -rf gmp.src.stamp -EXTERNAL_SRCS += gmp-src -EXTERNAL_SRCS_CLEAN += gmp-clean - gmp/Makefile: gmp.src.stamp cd gmp && \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ @@ -327,9 +304,6 @@ nettle-clean: rm -rf nettle rm -rf nettle.src.stamp -EXTERNAL_SRCS += nettle-src -EXTERNAL_SRCS_CLEAN += nettle-clean - nettle/Makefile: nettle.src.stamp -patch -N -p1 --reject-file=- nettle/configure.ac ../nettle-3.4.1-remove-so-versioning.patch -patch -N -p1 --reject-file=- nettle/Makefile.in ../nettle-3.4.1-remove-so-versioning-link.patch @@ -354,7 +328,6 @@ nettle-install: $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libhogweed.so #------------------------------------------------------------------------------# # Sequoia-ffi -EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/husspEp/sequoia.git?master CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/build/$(APP_ABI) @@ -362,8 +335,6 @@ sequoia-ffi-clean: rm -rf sequoia rm -rf sequoia.src.stamp -EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean - $(CARGO_TARGET_DIR)/aarch64-linux-android/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ diff --git a/android/external/armeabi-v7a/Makefile b/android/external/armeabi-v7a/Makefile index 9988fc3..1572b32 100644 --- a/android/external/armeabi-v7a/Makefile +++ b/android/external/armeabi-v7a/Makefile @@ -100,8 +100,8 @@ libiconv-1.15.tar.gz: wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz touch $@ -libiconv.src.stamp: libiconv-1.15.tar.gz - tar xvfz libiconv-1.15.tar.gz +libiconv.src.stamp: ../libiconv-1.15.tar.gz + tar xvfz ../libiconv-1.15.tar.gz mv libiconv-1.15 libiconv touch $@ @@ -111,15 +111,7 @@ libiconv-clean: rm -rf libiconv rm -rf libiconv.src.stamp -EXTERNAL_SRCS += libiconv-src -EXTERNAL_SRCS_CLEAN += libiconv-clean - libiconv/Makefile: libiconv.src.stamp - -patch -N -p1 --reject-file=- libiconv/m4/libtool.m4 ../libtool-Add-Android-Linux-support-iconv.patch - cp ../config.sub libiconv/build-aux - cp ../config.guess libiconv/build-aux - cp ../config.sub libiconv/libcharset/build-aux - cp ../config.guess libiconv/libcharset/build-aux cd libiconv && \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ @@ -144,8 +136,6 @@ libiconv-install: $(LOCAL)/lib/libiconv.a #------------------------------------------------------------------------------# # libetpan -EXTERNAL_GIT_REPOS += libetpan|https://github.com/fdik/libetpan.git?HEAD - libetpan/Makefile: libetpan.src.stamp | libiconv-install cd libetpan/build-android; ICONV_PREFIX=$(LOCAL) bash ./build.sh mv libetpan/build-android/libetpan-android-1.zip ../ @@ -176,9 +166,6 @@ uuid-clean: rm -rf uuid rm -rf uuid.src.stamp -EXTERNAL_SRCS += uuid-src -EXTERNAL_SRCS_CLEAN += uuid-clean - uuid/Makefile: uuid.src.stamp $(SED) -i 's,AC_CHECK_VA_COPY(),,' uuid/uuid.ac cd uuid && autoconf @@ -240,9 +227,6 @@ openssl-clean: rm -rf openssl rm -rf openssl.src.stamp -EXTERNAL_SRCS += openssl-src -EXTERNAL_SRCS_CLEAN += openssl-clean - OPENSSL_ARCHITECTURE:=android-arm @@ -284,9 +268,6 @@ gmp-clean: rm -rf gmp rm -rf gmp.src.stamp -EXTERNAL_SRCS += gmp-src -EXTERNAL_SRCS_CLEAN += gmp-clean - gmp/Makefile: gmp.src.stamp cd gmp && \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ @@ -327,9 +308,6 @@ nettle-clean: rm -rf nettle rm -rf nettle.src.stamp -EXTERNAL_SRCS += nettle-src -EXTERNAL_SRCS_CLEAN += nettle-clean - nettle/Makefile: nettle.src.stamp -patch -N -p1 --reject-file=- nettle/configure.ac ../nettle-3.4.1-remove-so-versioning.patch -patch -N -p1 --reject-file=- nettle/Makefile.in ../nettle-3.4.1-remove-so-versioning-link.patch @@ -354,16 +332,12 @@ nettle-install: $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libhogweed.so #------------------------------------------------------------------------------# # Sequoia-ffi -EXTERNAL_GIT_REPOS += sequoia|https://gitlab.com/husspEp/sequoia.git?master - CARGO_TARGET_DIR=$(EXTERNAL_ROOT)/../build/$(APP_ABI) sequoia-ffi-clean: rm -rf sequoia rm -rf sequoia.src.stamp -EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean - $(CARGO_TARGET_DIR)/armv7-linux-androideabi/release/libsequoia_openpgp_ffi.so: sequoia.src.stamp sequoia-deps-build cd sequoia && PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ diff --git a/android/external/common/Makefile b/android/external/common/Makefile new file mode 100644 index 0000000..fd9e7d3 --- /dev/null +++ b/android/external/common/Makefile @@ -0,0 +1,28 @@ +# Copyright 2019, pEp Foundation +# This file is part of pEpJNIAdapter for Android - ARM64 v8a build +# This file may be used under the terms of the GNU General Public License version 3 +# see LICENSE.txt + +include ../Makefile.conf + +#------------------------------------------------------------------------------# +# Makefile to build deps for use with pEpEngine +# based on gnupg-for-android/external/Makefile +#------------------------------------------------------------------------------# + +#------------------------------------------------------------------------------# +# Build parameters + +all: download-iconv #download-uuid build-etpan download sequoia + +download-iconv: ../libiconv-1.15.tar.gz + + +# Download source and patch it +../libiconv-1.15.tar.gz: + wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz -P ../ + +clean: + rm -rf ../libiconv-1.15.tar.gz + +.PHONY: clean download-iconv \ No newline at end of file