Skip to content

Commit ec19294

Browse files
committed
fix(android): use OpenSSL specific version
1 parent d713fba commit ec19294

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

Makefile

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ SQLITE3 ?= sqlite3
88
# set curl version to download and build
99
CURL_VERSION ?= 8.12.1
1010

11+
# set OpenSSL version to download and build
12+
OPENSSL_VERSION ?= openssl-3.6.0
13+
1114
# Set default platform if not specified
1215
ifeq ($(OS),Windows_NT)
1316
PLATFORM := windows
@@ -107,10 +110,9 @@ else ifeq ($(PLATFORM),android)
107110

108111
OPENSSL := $(BIN)/../sysroot/usr/include/openssl
109112
CC = $(BIN)/$(ARCH)-linux-$(ANDROID_ABI)-clang
110-
CURL_CONFIG = --host $(ARCH)-linux-$(ANDROID_ABI) --with-openssl=$(BIN)/../sysroot/usr LIBS="-lssl -lcrypto" AR=$(BIN)/llvm-ar AS=$(BIN)/llvm-as CC=$(CC) CXX=$(BIN)/$(ARCH)-linux-$(ANDROID_ABI)-clang++ LD=$(BIN)/ld RANLIB=$(BIN)/llvm-ranlib STRIP=$(BIN)/llvm-strip CFLAGS="-fPIC"
113+
CURL_CONFIG = --host $(ARCH)-linux-$(ANDROID_ABI) --with-openssl=$(BIN)/../sysroot/usr LIBS="-lssl -lcrypto" AR=$(BIN)/llvm-ar AS=$(BIN)/llvm-as CC=$(CC) CXX=$(BIN)/$(ARCH)-linux-$(ANDROID_ABI)-clang++ LD=$(BIN)/ld RANLIB=$(BIN)/llvm-ranlib STRIP=$(BIN)/llvm-strip
111114
TARGET := $(DIST_DIR)/cloudsync.so
112-
CFLAGS += -fPIC
113-
LDFLAGS += -shared -fPIC -lssl -lcrypto
115+
LDFLAGS += -shared -lssl -lcrypto
114116
STRIP = $(BIN)/llvm-strip --strip-unneeded $@
115117
else ifeq ($(PLATFORM),ios)
116118
TARGET := $(DIST_DIR)/cloudsync.dylib
@@ -205,16 +207,23 @@ ifneq ($(COVERAGE),false)
205207
genhtml $(COV_DIR)/coverage.info --output-directory $(COV_DIR)
206208
endif
207209

208-
$(OPENSSL):
209-
git clone https://github.com/openssl/openssl.git $(CURL_DIR)/src/openssl
210+
OPENSSL_TARBALL = $(CURL_DIR)/src/$(OPENSSL_VERSION).tar.gz
211+
OPENSSL_SRC = $(CURL_DIR)/src/$(OPENSSL_VERSION)
210212

211-
cd $(CURL_DIR)/src/openssl && \
213+
$(OPENSSL_TARBALL):
214+
mkdir -p $(CURL_DIR)/src
215+
curl -L -o $(OPENSSL_TARBALL) https://github.com/openssl/openssl/releases/download/$(OPENSSL_VERSION)/$(OPENSSL_VERSION).tar.gz
216+
217+
$(OPENSSL): $(OPENSSL_TARBALL)
218+
mkdir -p $(CURL_DIR)/src
219+
tar -xzf $(OPENSSL_TARBALL) -C $(CURL_DIR)/src
220+
cd $(OPENSSL_SRC) && \
212221
./Configure android-$(if $(filter aarch64,$(ARCH)),arm64,$(if $(filter armv7a,$(ARCH)),arm,$(ARCH))) \
213222
--prefix=$(BIN)/../sysroot/usr \
214223
no-shared no-unit-test \
215-
-fPIC \
216224
-D__ANDROID_API__=26 && \
217225
$(MAKE) && $(MAKE) install_sw
226+
rm -rf $(OPENSSL_SRC)
218227

219228
ifeq ($(PLATFORM),android)
220229
$(CURL_LIB): $(OPENSSL)

0 commit comments

Comments
 (0)