@@ -8,6 +8,9 @@ SQLITE3 ?= sqlite3
88# set curl version to download and build
99CURL_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
1215ifeq ($(OS ) ,Windows_NT)
1316 PLATFORM := windows
@@ -115,10 +118,9 @@ else ifeq ($(PLATFORM),android)
115118
116119 OPENSSL := $(BIN)/../sysroot/usr/include/openssl
117120 CC = $(BIN)/$(ARCH)-linux-$(ANDROID_ABI)-clang
118- 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"
121+ 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
119122 TARGET := $(DIST_DIR)/cloudsync.so
120- CFLAGS += -fPIC
121- LDFLAGS += -shared -fPIC -lssl -lcrypto
123+ LDFLAGS += -shared -lssl -lcrypto
122124 STRIP = $(BIN)/llvm-strip --strip-unneeded $@
123125else ifeq ($(PLATFORM),ios)
124126 TARGET := $(DIST_DIR)/cloudsync.dylib
@@ -220,16 +222,23 @@ endif
220222unittest : $(TARGET ) $(DIST_DIR ) /unit$(EXE )
221223 @./$(DIST_DIR ) /unit$(EXE )
222224
223- $( OPENSSL ) :
224- git clone https://github.com/openssl/openssl.git $(CURL_DIR ) /src/openssl
225+ OPENSSL_TARBALL = $( CURL_DIR ) /src/ $( OPENSSL_VERSION ) .tar.gz
226+ OPENSSL_SRC = $(CURL_DIR ) /src/$( OPENSSL_VERSION )
225227
226- cd $(CURL_DIR)/src/openssl && \
228+ $(OPENSSL_TARBALL ) :
229+ mkdir -p $(CURL_DIR ) /src
230+ curl -L -o $(OPENSSL_TARBALL ) https://github.com/openssl/openssl/releases/download/$(OPENSSL_VERSION ) /$(OPENSSL_VERSION ) .tar.gz
231+
232+ $(OPENSSL ) : $(OPENSSL_TARBALL )
233+ mkdir -p $(CURL_DIR ) /src
234+ tar -xzf $(OPENSSL_TARBALL ) -C $(CURL_DIR ) /src
235+ cd $(OPENSSL_SRC ) && \
227236 ./Configure android-$(if $(filter aarch64,$(ARCH ) ) ,arm64,$(if $(filter armv7a,$(ARCH ) ) ,arm,$(ARCH ) ) ) \
228237 --prefix=$(BIN ) /../sysroot/usr \
229238 no-shared no-unit-test \
230- -fPIC \
231239 -D__ANDROID_API__=26 && \
232240 $(MAKE ) && $(MAKE ) install_sw
241+ rm -rf $(OPENSSL_SRC )
233242
234243ifeq ($(PLATFORM ) ,android)
235244$(CURL_LIB ) : $(OPENSSL )
0 commit comments