Remove openssl compilation from Makefile

This commit is contained in:
Igor Katson 2023-12-09 10:14:47 +00:00
parent 98d6a6f054
commit 71a425ce66
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
3 changed files with 16 additions and 25 deletions

11
Cargo.lock generated
View file

@ -1670,6 +1670,15 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
version = "300.1.2+3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94773a6131a4d91f737a31debb0b3258964a47d923ef539c8be1d496dfb5145d"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
version = "0.9.97"
@ -1678,6 +1687,7 @@ checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b"
dependencies = [
"cc",
"libc",
"openssl-src",
"pkg-config",
"vcpkg",
]
@ -2014,6 +2024,7 @@ dependencies = [
"console-subscriber",
"futures",
"librqbit",
"openssl",
"parking_lot",
"parse_duration",
"regex",

View file

@ -1,7 +1,4 @@
OPENSSL_VERSION=3.1.1
# I'm lazy to type "webui-build" so made it default
all: webui-build
all:
@PHONY: webui-deps
webui-deps:
@ -61,28 +58,13 @@ release-windows:
# brew install mingw-w64
cargo build --target x86_64-pc-windows-gnu --profile release-github
target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz:
mkdir -p target/openssl-linux
curl -L https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -o $@
target/openssl-linux/$(TARGET)/lib/libssl.a: target/openssl-linux/openssl-$(OPENSSL_VERSION).tar.gz
export OPENSSL_ROOT=$(PWD)/target/openssl-linux/$(TARGET)/ && \
mkdir -p $${OPENSSL_ROOT}/src && \
cd $${OPENSSL_ROOT}/src/ && \
tar xf ../../openssl-$(OPENSSL_VERSION).tar.gz && \
cd openssl-$(OPENSSL_VERSION) && \
./Configure $(OPENSSL_CONFIGURE_NAME) --prefix="$${OPENSSL_ROOT}" --openssldir="$${OPENSSL_ROOT}" no-shared \
--cross-compile-prefix=$(CROSS_COMPILE_PREFIX)- && \
make install_dev -j
@PHONY: release-linux-current-target
release-linux-current-target: target/openssl-linux/$(TARGET)/lib/libssl.a
release-linux-current-target:
CC_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-gcc \
CXX_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-g++ \
AR_$(TARGET_SNAKE_CASE)=$(CROSS_COMPILE_PREFIX)-ar \
CARGO_TARGET_$(TARGET_SNAKE_UPPER_CASE)_LINKER=$(CROSS_COMPILE_PREFIX)-gcc \
OPENSSL_DIR=$(PWD)/target/openssl-linux/$(TARGET)/ \
cargo build --profile release-github --target=$(TARGET)
cargo build --profile release-github --target=$(TARGET) --features=openssl-vendored
@PHONY: release-linux
release-linux: release-linux-x86_64 release-linux-aarch64 release-linux-armv6 release-linux-armv7
@ -93,7 +75,6 @@ release-linux-x86_64:
TARGET_SNAKE_CASE=x86_64_unknown_linux_gnu \
TARGET_SNAKE_UPPER_CASE=X86_64_UNKNOWN_LINUX_GNU \
CROSS_COMPILE_PREFIX=x86_64-unknown-linux-gnu \
OPENSSL_CONFIGURE_NAME=linux-generic64 \
$(MAKE) release-linux-current-target
@PHONY: release-linux-aarch64
@ -102,7 +83,6 @@ release-linux-aarch64:
TARGET_SNAKE_CASE=aarch64_unknown_linux_gnu \
TARGET_SNAKE_UPPER_CASE=AARCH64_UNKNOWN_LINUX_GNU \
CROSS_COMPILE_PREFIX=aarch64-unknown-linux-gnu \
OPENSSL_CONFIGURE_NAME=linux-aarch64 \
$(MAKE) release-linux-current-target
@PHONY: release-linux-armv6
@ -111,7 +91,6 @@ release-linux-armv6:
TARGET_SNAKE_CASE=arm_unknown_linux_gnueabihf \
TARGET_SNAKE_UPPER_CASE=ARM_UNKNOWN_LINUX_GNUEABIHF \
CROSS_COMPILE_PREFIX=arm-linux-gnueabihf \
OPENSSL_CONFIGURE_NAME=linux-generic32 \
LDFLAGS=-latomic \
$(MAKE) release-linux-current-target
@ -122,7 +101,6 @@ release-linux-armv7:
TARGET_SNAKE_CASE=armv7_unknown_linux_gnueabihf \
TARGET_SNAKE_UPPER_CASE=ARMV7_UNKNOWN_LINUX_GNUEABIHF \
CROSS_COMPILE_PREFIX=armv7-linux-gnueabihf \
OPENSSL_CONFIGURE_NAME=linux-generic32 \
$(MAKE) release-linux-current-target

View file

@ -13,6 +13,7 @@ readme = "README.md"
[features]
default = ["sha1-system", "default-tls", "webui"]
openssl-vendored = ["openssl/vendored"]
tokio-console = ["console-subscriber", "tokio/tracing"]
webui = ["librqbit/webui"]
timed_existence = ["librqbit/timed_existence"]
@ -39,6 +40,7 @@ serde = {version = "1", features=["derive"]}
serde_json = "1"
size_format = "1"
bytes = "1.5.0"
openssl = {version = "0.10", features = ["vendored"], optional=true}
[dev-dependencies]
futures = {version = "0.3"}