Using static curl and openssl.

This commit is contained in:
Gerhard Stein
2020-10-10 16:48:23 +00:00
parent 57a23c6a56
commit d2c77299ff
5 changed files with 30 additions and 18 deletions

View File

@@ -201,8 +201,9 @@ FirstStartMenuOptions=''
# Enable multi-ABI binary, with hardware FPU support - it will also work on old devices,
# but .apk size is 2x bigger (y) / (n) / (x86) / (all)
MultiABI='armeabi-v7a'
#MultiABI='y'
#MultiABI='armeabi-v7a'
#MultiABI='arm64-v8a'
MultiABI='y'
# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower
AppMinimumRAM=64

View File

@@ -82,10 +82,12 @@ LOCAL_MODULE:= libcurl
LOCAL_MODULE_FILENAME := libcurl-sdl # It clashes with system libcurl in Android 4.3 and older
LOCAL_SHARED_LIBRARIES := ssl crypto
#LOCAL_SHARED_LIBRARIES := ssl crypto
LOCAL_STATIC_LIBRARIES := ssl crypto
LOCAL_LDLIBS := -lz
include $(BUILD_SHARED_LIBRARY)
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)
endif

View File

@@ -7,20 +7,23 @@ LOCAL_MODULE := $(notdir $(LOCAL_PATH))
ifneq (openssl,$(LOCAL_MODULE))
ifneq ($(filter $(LOCAL_MODULE), $(APP_MODULES)),)
LOCAL_MODULE_FILENAME := lib$(notdir $(LOCAL_PATH)).so.sdl.1 # It clashes with system libcrypto and libssl in Android 4.3 and older
#LOCAL_MODULE_FILENAME := lib$(notdir $(LOCAL_PATH)).so.sdl.1 # It clashes with system libcrypto and libssl in Android 4.3 and older
#LOCAL_MODULE_FILENAME := lib$(notdir $(LOCAL_PATH)).a.sdl.1 # It clashes with system libcrypto and libssl in Android 4.3 and older
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SRC_FILES := lib-$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
#LOCAL_SRC_FILES := lib-$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
LOCAL_SRC_FILES := lib-$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).a
LOCAL_BUILT_MODULE := # This fixes a bug in NDK r10d
# NDK is buggy meh
obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so: $(LOCAL_PATH)/$(LOCAL_SRC_FILES)
cp -f $< $@
#obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so: $(LOCAL_PATH)/$(LOCAL_SRC_FILES)
# cp -f $< $@
obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.0.so: obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
cp -f $< $@
#obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.0.so: obj/local/$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
# cp -f $< $@
include $(PREBUILT_SHARED_LIBRARY)
#include $(PREBUILT_SHARED_LIBRARY)
include $(PREBUILT_STATIC_LIBRARY)
endif
endif

View File

@@ -10,6 +10,10 @@ build() {
ARCH=$1
NO_ASM=""
if [ -d "lib-$ARCH" ]; then
exit 0
fi
case $ARCH in
armeabi-v7a)
#NO_ASM="-DOPENSSL_NO_ASM=1" # Assembler in OpenSSL is broken when using clang
@@ -43,25 +47,25 @@ build() {
export CROSS_SYSROOT=$NDK/sysroot/usr
export ANDROID_NDK_HOME=$NDK
env LDFLAGS="-shared -landroid -llog" \
env LDFLAGS="" \
CFLAGS="$NO_ASM" \
../../setCrossEnvironment-$ARCH.sh \
sh -c 'env PATH=`dirname $CC`:$PATH \
./Configure shared zlib --prefix=`pwd`/dist --openssldir=. $CONFIGURE_ARCH -fPIC' \
./Configure no-shared --prefix=`pwd`/dist --openssldir=. $CONFIGURE_ARCH -fPIC' \
|| exit 1
sed -i.old 's/^CNF_CPPFLAGS=.*/CNF_CPPFLAGS=/' Makefile
sed -i.old 's/^CNF_CFLAGS=.*/CNF_CFLAGS=/' Makefile
sed -i.old 's/^CNF_CXXFLAGS=.*/CNF_CXXFLAGS=/' Makefile
sed -i.old 's/^CNF_LDFLAGS=.*/CNF_LDFLAGS=/' Makefile
sed -i.old 's/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=sdl.1.so/' Makefile
#sed -i.old 's/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=sdl.1.so/' Makefile
if [ "$ARCH" = armeabi-v7a ]; then
sed -i.old 's/-DPOLY1305_ASM //' Makefile
sed -i.old 's@crypto/poly1305/poly1305-armv4.S @@' Makefile
sed -i.old 's@crypto/poly1305/poly1305-armv4.o @@' Makefile
fi
env LDFLAGS="-shared -landroid -llog" \
env LDFLAGS="" \
CFLAGS="$NO_ASM" \
../../setCrossEnvironment-$ARCH.sh \
sh -c 'env PATH=`dirname $CC`:$PATH \
@@ -71,8 +75,10 @@ build() {
rm -rf lib-$ARCH
mkdir -p lib-$ARCH
cp build/$ARCH/libcrypto.so.sdl.1.so lib-${ARCH}/libcrypto.so.sdl.1.so || exit 1
cp build/$ARCH/libssl.so.sdl.1.so lib-${ARCH}/libssl.so.sdl.1.so || exit 1
# cp build/$ARCH/libcrypto.so.sdl.1.so lib-${ARCH}/libcrypto.so.sdl.1.so || exit 1
# cp build/$ARCH/libssl.so.sdl.1.so lib-${ARCH}/libssl.so.sdl.1.so || exit 1
cp build/$ARCH/libcrypto.a lib-${ARCH}/libcrypto.a || exit 1
cp build/$ARCH/libssl.a lib-${ARCH}/libssl.a || exit 1
}