From a191ea2986ea7398a617fe5f2ffe96acca309c20 Mon Sep 17 00:00:00 2001 From: Sascha Bacardit Date: Fri, 4 Nov 2022 20:29:41 +0100 Subject: [PATCH] PEMA-103 Fixed Cargo's compile arguments, added crate commands to create a .so, will review them later to see if I require "lib". Commented the compile only for device arch as it is slightly buggy on emulator. --- android/build.gradle | 4 ++-- android/external/MakefileTemplate | 11 ++++++----- android/jni/Android.mk | 5 +---- .../src/foundation/pEp/jniadapter/AndroidHelper.java | 2 -- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 538dab5..2994f49 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -11,7 +11,7 @@ def threadsToUse = 1 def pEpEngineDB = new File(new File(pEpEngineSrc), 'db') ext.archsToCompile = "arm arm64 x86 x86_64" -apply from: 'gradle/plugins/set-pep-jniadapter-archs.gradle' +//apply from: 'gradle/plugins/set-pep-jniadapter-archs.gradle' buildscript { repositories { @@ -167,7 +167,7 @@ android { buildpEpEngineSystemDB.dependsOn(buildExternal) } if(isIdeBuild()) { - buildExternal.dependsOn(setpEpJNIAdapterArchs) +// buildExternal.dependsOn(setpEpJNIAdapterArchs) } // This ensures that assets are populated before collecting resources. diff --git a/android/external/MakefileTemplate b/android/external/MakefileTemplate index 4f30ab7..7e8be26 100644 --- a/android/external/MakefileTemplate +++ b/android/external/MakefileTemplate @@ -267,12 +267,13 @@ pEpEngineSequoiaBackend.src.stamp: ../downloads/pEpEngineSequoiaBackend.tar.gz mkdir -p pEpEngineSequoiaBackend cd pEpEngineSequoiaBackend && tar xvf ../$< $(SED) -i 's,1.48.0,1.60,' pEpEngineSequoiaBackend/rust-toolchain + cp ../Cargo.toml.tmp pEpEngineSequoiaBackend/Cargo.toml mkdir -p $(LOCAL)/lib/ # This is a bad fix, we should move this to a common makefile (but not the .conf one) find -L $(ANDROID_NDK) -name libunwind.a -execdir sh -c 'echo "INPUT(-lunwind)" > $(LOCAL)/lib/libgcc.a' \; touch $@ -$(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so: pEpEngineSequoiaBackend.src.stamp $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so +$(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.a: pEpEngineSequoiaBackend.src.stamp $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so cd pEpEngineSequoiaBackend && PATH=$(TEMP_WORK_PATH) \ CC="$(CC)" LD="$(LD)" AR="$(AR)" AS="$(AS)" RANLIB=$(RANLIB) STRIP="$(STRIP)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LD_LIBRARY_PATH=$(LOCAL)/lib/ \ @@ -282,14 +283,14 @@ $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so: p ARMV7_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR="$(LOCAL)/include" \ ARMV7_LINUX_ANDROIDEABI_OPENSSL_DIR="$(LOCAL)/bin" \ CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) cargo build --target $(SEQUOIA_ARCH) -p pep_engine_sequoia_backend --release -#TODO PEMA-103 we cna move seq to static (.a) -$(LOCAL)/lib/libpep_engine_sequoia_backend.so: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so + +$(LOCAL)/lib/libpep_engine_sequoia_backend.a: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.a cp $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.* $(LOCAL)/lib/ -pEpEngineSequoiaBackend-build: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.so +pEpEngineSequoiaBackend-build: $(CARGO_TARGET_DIR)/$(SEQUOIA_ARCH)/release/libpep_engine_sequoia_backend.a -pEpEngineSequoiaBackend-install: $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libpep_engine_sequoia_backend.so +pEpEngineSequoiaBackend-install: $(LOCAL)/lib/libssl.so $(LOCAL)/lib/libnettle.so $(LOCAL)/lib/libpep_engine_sequoia_backend.a #------------------------------------------------------------------------------# # assets for Android app diff --git a/android/jni/Android.mk b/android/jni/Android.mk index a28d3e4..b4077e3 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -3,7 +3,6 @@ SRC_PATH := $(LOCAL_PATH)/../../../ ENGINE_PATH := $(LOCAL_PATH)/../../../pEpEngine LIB_PEP_ADAPTER_PATH:=$(SRC_PATH)/libpEpAdapter LIB_PEP_CXX11_PATH:=$(SRC_PATH)/libpEpCxx11 -#LIB_PEP_TRANSPORT_PATH:=$(SRC_PATH)/libpEpTransport GPGBUILD:= $(LOCAL_PATH)/../external/output/ include $(CLEAR_VARS) @@ -39,12 +38,12 @@ LOCAL_EXPORT_C_INCLUDES += $(GPGBUILD)/$(TARGET_ARCH_ABI)/include LOCAL_EXPORT_LDLIBS := -lz include $(PREBUILT_STATIC_LIBRARY) + #Take out Engine Headers $(shell sh $(ENGINE_PATH)/build-android/takeOutHeaderFiles.sh $(ENGINE_PATH)) include $(CLEAR_VARS) LOCAL_MODULE := pEpJNI -#TODO PEMA-103 we cna move seq to static LOCAL_SHARED_LIBRARIES := libnettle libhogweed libgmp LOCAL_STATIC_LIBRARIES := pEpEngine libetpan libuuid libiconv pEpAdapter pEpCxx11 libpep_engine_sequoia_backend LOCAL_CPP_FEATURES += exceptions @@ -86,7 +85,6 @@ $(info $(LOCAL_PATH)) $(warning ==== JNIADAPTER android.mk CALLING import-module uuid) $(call import-module, pEpJNIAdapter/android/external/$(TARGET_ARCH_ABI)/uuid/jni) $(warning ==== CURRENT LOCAL BUILT MODULE: $(LOCAL_BUILT_MODULE)) -MY_UUID_BUILD := $(LOCAL_BUILT_MODULE) #$(call import-module, libpEpTransport/build-android/jni/) $(warning ==== CURRENT NDK LIBS OUT: $(NDK_LIBS_OUT)) $(warning ==== CURRENT NDK OUT: $(NDK_OUT)) @@ -102,7 +100,6 @@ $(warning ==== CURRENT TARGET OUT: $(TARGET_OUT)) $(warning ==== JNIADAPTER android.mk CALLING import-module pEpEngine) $(call import-module, pEpEngine/build-android/jni/) $(warning ==== CURRENT LOCAL BUILT MODULE: $(LOCAL_BUILT_MODULE)) -#pEpEngine.ndkBuild.stamp: $(MY_UUID_BUILD) #echo "==== INSIDE RECIPE: JNIADAPTER android.mk CALLING import-module pEpEngine" $(warning ==== JNIADAPTER android.mk CALLING import-module pEpEngine) $(call import-module, pEpEngine/build-android/jni/) diff --git a/android/src/foundation/pEp/jniadapter/AndroidHelper.java b/android/src/foundation/pEp/jniadapter/AndroidHelper.java index 36aa174..e746075 100644 --- a/android/src/foundation/pEp/jniadapter/AndroidHelper.java +++ b/android/src/foundation/pEp/jniadapter/AndroidHelper.java @@ -128,8 +128,6 @@ public class AndroidHelper { System.loadLibrary("gmp"); System.loadLibrary("nettle"); System.loadLibrary("hogweed"); - //TODO PEMA-103 Check if we are required to link the shared lib here -// System.loadLibrary("libpep_engine_sequoia_backend"); migrateFromGPGToSequoiaIfNeeded(c.getFilesDir());