diff --git a/android/external/Makefile b/android/external/Makefile index 05a61b0..4f80df6 100644 --- a/android/external/Makefile +++ b/android/external/Makefile @@ -66,8 +66,8 @@ CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib - -CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1 +#-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1 +CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -g -O0 LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie # change 'release' to 'debug' for unoptimized debug builds @@ -105,7 +105,7 @@ showsetup: #------------------------------------------------------------------------------# # libgpg-error -EXTERNAL_GIT_REPOS += libgpg-error|git://git.gnupg.org/libgpg-error.git?libgpg-error-1.20 +EXTERNAL_GIT_REPOS += libgpg-error|git://git.gnupg.org/libgpg-error.git?libgpg-error-1.32 libgpg-error/configure: libgpg-error.src.stamp libgpg-error/configure.ac cd libgpg-error && ./autogen.sh @@ -124,15 +124,15 @@ libgpg-error/Makefile: libgpg-error/configure --prefix=$(LOCAL) ls -l libgpg-error/libtool # brute force and ignorance to make libtool comply with android style - sed -i 's,^fast_install=.*,fast_install=needless,' libgpg-error/libtool - sed -i 's,^version_type=.*,version_type=none,' libgpg-error/libtool - sed -i 's,^shlibpath_overrides_runpath=.*,shlibpath_overrides_runpath=yes,' libgpg-error/libtool - sed -i 's,^library_names_spec=.*,library_names_spec="\\$$libname\\$$release\\$$shared_ext",' libgpg-error/libtool - sed -i 's,^soname_spec=.*,soname_spec="\\$$libname\\$$release\\$$shared_ext",' libgpg-error/libtool - sed -i 's,^finish_cmds=.*,finish_cmds="",' libgpg-error/libtool - sed -i 's,^sys_lib_dlsearch_path_spec=.*,sys_lib_dlsearch_path_spec="/lib /usr/lib",' libgpg-error/libtool - -libgpg-error/src/.libs/libgpg-error.so: libgpg-error/Makefile + #sed -i 's,^fast_install=.*,fast_install=needless,' libgpg-error/libtool + #sed -i 's,^version_type=.*,version_type=none,' libgpg-error/libtool + #sed -i 's,^shlibpath_overrides_runpath=.*,shlibpath_overrides_runpath=yes,' libgpg-error/libtool + #sed -i 's,^library_names_spec=.*,library_names_spec="\\$$libname\\$$release\\$$shared_ext",' libgpg-error/libtool + #sed -i 's,^soname_spec=.*,soname_spec="\\$$libname\\$$release\\$$shared_ext",' libgpg-error/libtool + #sed -i 's,^finish_cmds=.*,finish_cmds="",' libgpg-error/libtool + #sed -i 's,^sys_lib_dlsearch_path_spec=.*,sys_lib_dlsearch_path_spec="/lib /usr/lib",' libgpg-error/libtool + +libgpg-error/src/.libs/libgpg-error.so: libgpg-error/Makefile $(MAKE) -C libgpg-error libgpg-error-build: libgpg-error/src/.libs/libgpg-error.so @@ -146,23 +146,27 @@ libgpg-error-install: $(LOCAL)/lib/libgpg-error.so #------------------------------------------------------------------------------# # libgcrypt -EXTERNAL_GIT_REPOS += libgcrypt|git://git.gnupg.org/libgcrypt.git?libgcrypt-1.6.4 +EXTERNAL_GIT_REPOS += libgcrypt|git://git.gnupg.org/libgcrypt.git?libgcrypt-1.8.3 -libgcrypt/configure: libgcrypt.src.stamp libgcrypt/configure.ac +libgcrypt/configure: libgcrypt.src.stamp libgcrypt/configure.ac cd libgcrypt && ./autogen.sh -libgcrypt/Makefile: libgcrypt/configure +libgcrypt/Makefile: libgcrypt/configure -patch -N -p1 --reject-file=- libgcrypt/Makefile.am libgcrypt-disable-docs.patch + -sed -i 's/$$(doc) tests//' libgcrypt/Makefile.am + cd libgcrypt && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ - --enable-maintainer-mode \ --host=$(HOST) \ --with-gpg-error-prefix=$(LOCAL) \ --prefix=$(LOCAL) -patch -N -p1 --reject-file=- libgcrypt/tests/random.c libgcrypt-disable-hanging-random-test.patch # force use of /dev/urandom -sed -i 's/NAME_OF_DEV_RANDOM/NAME_OF_DEV_URANDOM/' libgcrypt/random/rndlinux.c + -sed -i 's/doc tests//' libgcrypt/Makefile + -sed -i 's/$$(doc) tests//' libgcrypt/Makefile + libgcrypt/src/.libs/libgcrypt.so: $(LOCAL)/lib/libgpg-error.so libgcrypt/Makefile $(MAKE) -C libgcrypt @@ -178,21 +182,22 @@ libgcrypt-install: $(LOCAL)/lib/libgcrypt.so #------------------------------------------------------------------------------# # libassuan -EXTERNAL_GIT_REPOS += libassuan|git://git.gnupg.org/libassuan.git?libassuan-2.3.0 +EXTERNAL_GIT_REPOS += libassuan|git://git.gnupg.org/libassuan.git?libassuan-2.5.1 -libassuan/configure: libassuan.src.stamp libassuan/configure.ac +libassuan/configure: libassuan.src.stamp libassuan/configure.ac cd libassuan && ./autogen.sh && autoreconf --install --force --verbose libassuan/Makefile: libassuan/configure -patch -N -p1 --reject-file=- libassuan/m4/libtool.m4 libtool-Add-Android-Linux-support.patch + -sed -i 's/$$(doc) tests//' libassuan/Makefile.am cd libassuan && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ - --enable-maintainer-mode \ - --disable-largefile \ + -F-disable-largefile \ --host=$(HOST) \ --with-gpg-error-prefix=$(LOCAL) \ --prefix=$(LOCAL) + -sed -i 's/$$(doc) tests//' libassuan/Makefile libassuan/src/.libs/libassuan.so: $(LOCAL)/lib/libgpg-error.so libassuan/Makefile $(MAKE) -C libassuan @@ -208,20 +213,23 @@ libassuan-install: $(LOCAL)/lib/libassuan.so #------------------------------------------------------------------------------# # libksba -EXTERNAL_GIT_REPOS += libksba|git://git.gnupg.org/libksba.git?libksba-1.3.4 +EXTERNAL_GIT_REPOS += libksba|git://git.gnupg.org/libksba.git?libksba-1.3.5 -libksba/configure: libksba.src.stamp libksba/configure.ac +libksba/configure: libksba.src.stamp libksba/configure.ac cd libksba && ./autogen.sh libksba/Makefile: $(LOCAL)/lib/libgpg-error.so libksba/configure -patch -N -p1 --reject-file=- libksba/m4/libtool.m4 libtool-Add-Android-Linux-support.patch + -sed -i 's/$${tests} doc//' libksba/Makefile.am + cd libksba && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ - --enable-maintainer-mode \ --host=$(HOST) \ --with-gpg-error-prefix=$(LOCAL) \ --prefix=$(LOCAL) + -sed -i 's/$${tests} doc//' libksba/Makefile + libksba/src/.libs/libksba.so: libksba/Makefile $(MAKE) -C libksba @@ -238,7 +246,7 @@ libksba-install: $(LOCAL)/lib/libksba.so #------------------------------------------------------------------------------# # npth -EXTERNAL_GIT_REPOS += npth|git://git.gnupg.org/npth.git?npth-1.2 +EXTERNAL_GIT_REPOS += npth|git://git.gnupg.org/npth.git?npth-1.6 npth/configure: npth.src.stamp npth/configure.ac cd npth && ./autogen.sh @@ -247,11 +255,11 @@ npth/Makefile: $(LOCAL)/lib/libgpg-error.so npth/configure cd npth && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure $(CONFIGURE_ARGS) \ - --enable-maintainer-mode \ --host=$(HOST) \ --with-gpg-error-prefix=$(LOCAL) \ --prefix=$(LOCAL) + npth/src/.libs/libnpth.so: npth/Makefile $(MAKE) -C npth @@ -268,7 +276,7 @@ npth-install: $(LOCAL)/lib/libnpth.so EXTERNAL_GIT_REPOS += curl|https://github.com/bagder/curl?curl-7_45_0 -curl/configure: curl.src.stamp curl/configure.ac +curl/configure: curl.src.stamp curl/configure.ac cd curl && ./buildconf curl/Makefile: curl/configure @@ -338,7 +346,6 @@ libiconv/Makefile: libiconv.src.stamp CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ --enable-static \ - --enable-maintainer-mode \ --host=$(HOST) \ --with-gnu-ld \ --prefix=$(LOCAL) @@ -357,9 +364,9 @@ libiconv-install: $(LOCAL)/lib/libiconv.so #------------------------------------------------------------------------------# # gnupg -EXTERNAL_GIT_REPOS += gnupg|git://git.gnupg.org/gnupg.git?gnupg-2.0.30 +EXTERNAL_GIT_REPOS += gnupg|git://git.gnupg.org/gnupg.git?gnupg-2.2.10 -gnupg/configure: gnupg.src.stamp gnupg/configure.ac +gnupg/configure: gnupg.src.stamp gnupg/configure.ac cd gnupg && ./autogen.sh gnupg/Makefile: gnupg/configure @@ -382,16 +389,16 @@ gnupg/Makefile: gnupg/configure --disable-gpgsm \ --prefix=$(prefix) -gnupg/g10/gpg2: $(LOCAL)/lib/libgpg-error.so $(LOCAL)/lib/libgcrypt.so $(LOCAL)/lib/libksba.so $(LOCAL)/lib/libnpth.so $(LOCAL)/lib/libassuan.so $(LOCAL)/lib/libcurl.so $(LOCAL)/lib/libiconv.so gnupg/Makefile +gnupg/g10/gpg: $(LOCAL)/lib/libgpg-error.so $(LOCAL)/lib/libgcrypt.so $(LOCAL)/lib/libksba.so $(LOCAL)/lib/libnpth.so $(LOCAL)/lib/libassuan.so $(LOCAL)/lib/libnpth.so $(LOCAL)/lib/libcurl.so $(LOCAL)/lib/libiconv.so gnupg/Makefile $(MAKE) -C gnupg -$(LOCAL)/bin/gpg2: gnupg/g10/gpg2 gnupg/configure +$(LOCAL)/bin/gpg: gnupg/g10/gpg gnupg/configure $(MAKE) -C gnupg prefix=$(LOCAL) install - ls -l $(LOCAL)/bin/gpg2 + ls -l $(LOCAL)/bin/gpg -gnupg-build: gnupg/g10/gpg2 +gnupg-build: gnupg/g10/gpg -gnupg-install: $(LOCAL)/bin/gpg2 +gnupg-install: $(LOCAL)/bin/gpg install -d $(LOCAL)/etc/gnupg install -d $(LOCAL)/var/run/gnupg install -d $(LOCAL)/var/cache/gnupg @@ -399,7 +406,7 @@ gnupg-install: $(LOCAL)/bin/gpg2 #------------------------------------------------------------------------------# # gpgme -EXTERNAL_GIT_REPOS += gpgme|git://git.gnupg.org/gpgme.git?gpgme-1.8.0 +EXTERNAL_GIT_REPOS += gpgme|git://git.gnupg.org/gpgme.git?gpgme-1.12.0 gpgme/configure: gpgme.src.stamp gpgme/configure.ac cd gpgme && ./autogen.sh @@ -412,6 +419,8 @@ endif gpgme/Makefile: gpgme/configure -patch -N -p1 --reject-file=- gpgme/m4/libtool.m4 libtool-Add-Android-Linux-support.patch + -sed -i 's/$${tests} doc//' gpgme/Makefile.am + cd gpgme && \ CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure \ @@ -420,6 +429,7 @@ gpgme/Makefile: gpgme/configure --enable-maintainer-mode \ --with-gpg-error-prefix=$(LOCAL) \ --with-libassuan-prefix=$(LOCAL) \ + --with-npth-prefix=$(LOCAL) \ --enable-fixed-path=$(prefix)/bin \ --disable-glibtest \ --disable-gpg-test \ @@ -428,6 +438,7 @@ gpgme/Makefile: gpgme/configure --disable-g13-test \ --prefix=$(prefix) \ --enable-languages=cl + -sed -i 's/$${tests} doc//' gpgme/Makefile gpgme/src/.libs/libgpgme.so: gpgme/Makefile @@ -438,7 +449,7 @@ $(LOCAL)/lib/libgpgme.so: gpgme/src/.libs/libgpgme.so gpgme-build: gpgme/src/.libs/libgpgme.so -gpgme-install: $(LOCAL)/bin/gpg2 $(LOCAL)/lib/libgpgme.so +gpgme-install: $(LOCAL)/bin/gpg $(LOCAL)/lib/libgpgme.so #------------------------------------------------------------------------------# # libetpan diff --git a/android/jni/Android.mk b/android/jni/Android.mk index bad76b9..7951e5e 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -7,6 +7,11 @@ LOCAL_MODULE := libassuan LOCAL_SRC_FILES := $(GPGBUILD)/lib/libassuan.so include $(PREBUILT_SHARED_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := libnpth +LOCAL_SRC_FILES := $(GPGBUILD)/lib/libnpth.so +include $(PREBUILT_SHARED_LIBRARY) + include $(CLEAR_VARS) LOCAL_MODULE := libcurl LOCAL_SRC_FILES := $(GPGBUILD)/lib/libcurl.so @@ -56,7 +61,7 @@ $(shell sh $(ENGINE_PATH)/build-android/takeOutHeaderFiles.sh $(ENGINE_PATH)) include $(CLEAR_VARS) LOCAL_MODULE := pEpJNI -LOCAL_SHARED_LIBRARIES := libgpgme libassuan libcurl libgcrypt libgpg-error +LOCAL_SHARED_LIBRARIES := libgpgme libassuan libcurl libgcrypt libgpg-error libnpth LOCAL_STATIC_LIBRARIES := pEpEngine libetpan libiconv libuuid LOCAL_CPP_FEATURES += exceptions LOCAL_CFLAGS += -DHAVE_PTHREADS diff --git a/android/jni/Application.mk b/android/jni/Application.mk index 2740c89..0e7d1e7 100644 --- a/android/jni/Application.mk +++ b/android/jni/Application.mk @@ -1,4 +1,4 @@ -APP_STL := c++_static +APP_STL := c++_shared APP_OPTIM := debug APP_PLATFORM=android-18 APP_ABI := armeabi-v7a diff --git a/android/jni/org_pEp_jniadapter_AndroidHelper.cc b/android/jni/org_pEp_jniadapter_AndroidHelper.cc index 28e37c6..4c3b6d9 100644 --- a/android/jni/org_pEp_jniadapter_AndroidHelper.cc +++ b/android/jni/org_pEp_jniadapter_AndroidHelper.cc @@ -25,7 +25,7 @@ JNIEXPORT jint JNICALL Java_org_pEp_jniadapter_AndroidHelper_nativeSetup gpgme_set_global_flag("debug", cdebugflag); env->ReleaseStringUTFChars(debugflag, cdebugflag); gpgme_set_global_flag ("disable-gpgconf", ""); - gpgme_set_global_flag ("gpg-name", "gpg2"); + gpgme_set_global_flag ("gpg-name", "gpg"); return 0; } diff --git a/android/src/org/pEp/jniadapter/AndroidHelper.java b/android/src/org/pEp/jniadapter/AndroidHelper.java index ec8b8a0..ebbf7a3 100644 --- a/android/src/org/pEp/jniadapter/AndroidHelper.java +++ b/android/src/org/pEp/jniadapter/AndroidHelper.java @@ -27,9 +27,9 @@ public class AndroidHelper { public static File binDir; public static File libDir; private static File tmpDir; - + // TODO : Increment when needed. - public static int ENGINE_VERSION_CODE = 2779; + public static int ENGINE_VERSION_CODE = 3052; private static File shareDir;