mirror of
https://github.com/PurpleI2P/i2pd-android.git
synced 2025-01-24 13:34:18 +00:00
update libraries, add binary build files
Signed-off-by: r4sas <r4sas@i2pmail.org>
This commit is contained in:
parent
1a686fe979
commit
0191d6a228
@ -16,7 +16,8 @@ LOCAL_LDLIBS := -lz
|
||||
LOCAL_SRC_FILES := \
|
||||
DaemonAndroid.cpp \
|
||||
i2pd_android.cpp \
|
||||
$(IFADDRS_PATH)/ifaddrs.c \
|
||||
$(IFADDRS_PATH)/ifaddrs.cpp \
|
||||
$(IFADDRS_PATH)/boinic_netlink.cpp \
|
||||
$(wildcard $(LIB_SRC_PATH)/*.cpp) \
|
||||
$(wildcard $(LIB_CLIENT_SRC_PATH)/*.cpp) \
|
||||
$(wildcard $(LANG_SRC_PATH)/*.cpp) \
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 41f6ba66f28c3e321e640c249071f332f91f57f6
|
||||
Subproject commit f302cc7ead971d4068661d34c2f3ba06063d8ea2
|
@ -2,27 +2,32 @@
|
||||
|
||||
set -e
|
||||
|
||||
CMAKE_VERSION=3.18.1
|
||||
|
||||
function build_one {
|
||||
mkdir -p out/${CPU}
|
||||
cd out/${CPU}
|
||||
|
||||
cmake \
|
||||
-DANDROID_NATIVE_API_LEVEL=${API} \
|
||||
-DANDROID_ABI=${CPU} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DANDROID_NDK=${ANDROID_NDK_HOME} \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
|
||||
../..
|
||||
cmake \
|
||||
-DUPNPC_BUILD_SHARED=False \
|
||||
-DUPNPC_BUILD_TESTS=False \
|
||||
-DUPNPC_BUILD_SAMPLE=False \
|
||||
-DANDROID_NATIVE_API_LEVEL=${API} \
|
||||
-DANDROID_ABI=${CPU} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DANDROID_NDK=${ANDROID_NDK_HOME} \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
|
||||
../..
|
||||
|
||||
echo "Building..."
|
||||
cmake --build . -- libminiupnpc-static
|
||||
echo "Building..."
|
||||
cmake --build . -- libminiupnpc-static
|
||||
|
||||
cd ../..
|
||||
cd ../..
|
||||
|
||||
if [[ -n 'out/include' ]]; then
|
||||
mkdir -p out/include/miniupnpc
|
||||
cp include/* out/include/miniupnpc
|
||||
fi
|
||||
if [[ -n 'out/include' ]]; then
|
||||
mkdir -p out/include/miniupnpc
|
||||
cp include/* out/include/miniupnpc
|
||||
fi
|
||||
}
|
||||
|
||||
function checkPreRequisites {
|
||||
@ -50,7 +55,7 @@ cd miniupnp/miniupnpc
|
||||
rm -rf out
|
||||
|
||||
# add cmake from Android SDK to PATH
|
||||
PATH=$ANDROID_SDK_ROOT/cmake/3.10.2.4988404/bin:$PATH
|
||||
PATH=$ANDROID_SDK_ROOT/cmake/${CMAKE_VERSION}/bin:$PATH
|
||||
|
||||
function build {
|
||||
for arg in "$@"; do
|
||||
|
@ -18,6 +18,7 @@ function build_one {
|
||||
echo "Building OpenSSL for ${CPU}..."
|
||||
make -j $(nproc) > output/build.log
|
||||
|
||||
echo "Installing to temporary directory..."
|
||||
make install_sw >> output/build.log
|
||||
|
||||
cp output/lib/*.a out/${CPU}
|
||||
@ -48,7 +49,12 @@ function checkPreRequisites {
|
||||
checkPreRequisites
|
||||
|
||||
cd openssl
|
||||
rm -rf out
|
||||
rm -rf out output
|
||||
|
||||
if [[ -f 'Makefile' ]]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
|
||||
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
||||
|
||||
|
79
binary/jni/Android.mk
Normal file
79
binary/jni/Android.mk
Normal file
@ -0,0 +1,79 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := i2pd
|
||||
LOCAL_CPP_FEATURES := rtti exceptions
|
||||
LOCAL_C_INCLUDES += $(IFADDRS_PATH) $(LIB_SRC_PATH) $(LIB_CLIENT_SRC_PATH) $(LANG_SRC_PATH) $(DAEMON_SRC_PATH)
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
boost_system \
|
||||
boost_date_time \
|
||||
boost_filesystem \
|
||||
boost_program_options \
|
||||
crypto \
|
||||
ssl \
|
||||
miniupnpc
|
||||
LOCAL_LDLIBS := -lz
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
$(IFADDRS_PATH)/ifaddrs.cpp \
|
||||
$(IFADDRS_PATH)/bionic_netlink.cpp \
|
||||
$(wildcard $(LIB_SRC_PATH)/*.cpp) \
|
||||
$(wildcard $(LIB_CLIENT_SRC_PATH)/*.cpp) \
|
||||
$(wildcard $(LANG_SRC_PATH)/*.cpp) \
|
||||
$(DAEMON_SRC_PATH)/UnixDaemon.cpp \
|
||||
$(DAEMON_SRC_PATH)/Daemon.cpp \
|
||||
$(DAEMON_SRC_PATH)/UPnP.cpp \
|
||||
$(DAEMON_SRC_PATH)/HTTPServer.cpp \
|
||||
$(DAEMON_SRC_PATH)/I2PControl.cpp \
|
||||
$(DAEMON_SRC_PATH)/i2pd.cpp \
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := boost_system
|
||||
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_system.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := boost_date_time
|
||||
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_date_time.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := boost_filesystem
|
||||
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_filesystem.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := boost_program_options
|
||||
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_program_options.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := crypto
|
||||
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libcrypto.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := ssl
|
||||
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libssl.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
|
||||
LOCAL_STATIC_LIBRARIES := crypto
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := miniupnpc
|
||||
LOCAL_SRC_FILES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/libminiupnpc.a
|
||||
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/include
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
34
binary/jni/Application.mk
Normal file
34
binary/jni/Application.mk
Normal file
@ -0,0 +1,34 @@
|
||||
APP_ABI += all
|
||||
#APP_ABI += arm64-v8a
|
||||
#APP_ABI += armeabi-v7a
|
||||
#APP_ABI += x86_64
|
||||
#APP_ABI += x86
|
||||
|
||||
APP_PLATFORM := android-16
|
||||
#APP_PLATFORM := android-21
|
||||
|
||||
NDK_TOOLCHAIN_VERSION := clang
|
||||
APP_STL := c++_static
|
||||
|
||||
# Enable c++17 extensions in source code
|
||||
APP_CPPFLAGS += -std=c++17 -fexceptions -frtti
|
||||
|
||||
APP_CPPFLAGS += -DANDROID_BINARY -DANDROID -D__ANDROID__ -DUSE_UPNP -Wno-deprecated-declarations
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
APP_CPPFLAGS += -DANDROID_ARM7A
|
||||
endif
|
||||
|
||||
APP_LDFLAGS += -fPIE
|
||||
|
||||
IFADDRS_PATH = $(NDK_MODULE_PATH)/android-ifaddrs
|
||||
BOOST_PATH = $(NDK_MODULE_PATH)/boost
|
||||
MINIUPNP_PATH = $(NDK_MODULE_PATH)/miniupnp
|
||||
OPENSSL_PATH = $(NDK_MODULE_PATH)/openssl
|
||||
|
||||
# don't change me
|
||||
I2PD_SRC_PATH = $(NDK_MODULE_PATH)/i2pd
|
||||
|
||||
LIB_SRC_PATH = $(I2PD_SRC_PATH)/libi2pd
|
||||
LIB_CLIENT_SRC_PATH = $(I2PD_SRC_PATH)/libi2pd_client
|
||||
LANG_SRC_PATH = $(I2PD_SRC_PATH)/i18n
|
||||
DAEMON_SRC_PATH = $(I2PD_SRC_PATH)/daemon
|
1
binary/jni/android-ifaddrs
Symbolic link
1
binary/jni/android-ifaddrs
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/android-ifaddrs
|
1
binary/jni/boost
Symbolic link
1
binary/jni/boost
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/boost
|
1
binary/jni/build_boost.sh
Symbolic link
1
binary/jni/build_boost.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/build_boost.sh
|
1
binary/jni/build_miniupnpc.sh
Symbolic link
1
binary/jni/build_miniupnpc.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/build_miniupnpc.sh
|
1
binary/jni/build_openssl.sh
Symbolic link
1
binary/jni/build_openssl.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/build_openssl.sh
|
1
binary/jni/i2pd
Symbolic link
1
binary/jni/i2pd
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/i2pd
|
1
binary/jni/miniupnp
Symbolic link
1
binary/jni/miniupnp
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/miniupnp
|
1
binary/jni/openssl
Symbolic link
1
binary/jni/openssl
Symbolic link
@ -0,0 +1 @@
|
||||
../../app/jni/openssl
|
Loading…
x
Reference in New Issue
Block a user