From: Viktor Szakats Date: Mon, 25 Oct 2021 19:10:55 +0000 (+0000) Subject: Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options X-Git-Tag: curl-7_80_0~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13bbf81c59fd2c5c9ba552ced4eec8dbcf7028d9;p=thirdparty%2Fcurl.git Makefile.m32: fix to not require OpenSSL with -libssh2 or -rtmp options Previously, -libssh2/-rtmp options assumed that OpenSSL is also enabled (and then failed with an error when not finding expected OpenSSL headers), but this isn't necessarly true, e.g. when building both libssh2 and curl against Schannel. This patch makes sure to only enable the OpenSSL backend with -libssh2/-rtmp, when there was no SSL option explicitly selected. - Re-implement the logic as a single block of script. - Also fix an indentation while there. Assisted-by: Jay Satiro Closes #7895 --- diff --git a/docs/examples/Makefile.m32 b/docs/examples/Makefile.m32 index 45ec8679c0..c27b35f83c 100644 --- a/docs/examples/Makefile.m32 +++ b/docs/examples/Makefile.m32 @@ -178,12 +178,10 @@ ARES = 1 endif ifeq ($(findstring -rtmp,$(CFG)),-rtmp) RTMP = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssh2,$(CFG)),-ssh2) SSH2 = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssl,$(CFG)),-ssl) @@ -230,6 +228,13 @@ ifeq ($(findstring -ngtcp2,$(CFG)),-ngtcp2) NGTCP2 = 1 endif +# SSH2 and RTMP require an SSL library; assume OpenSSL if none specified +ifneq ($(SSH2)$(RTMP),) + ifeq ($(SSL)$(WINSSL),) + SSL = 1 + endif +endif + INCLUDES = -I. -I$(PROOT) -I$(PROOT)/include -I$(PROOT)/lib ifdef DYN @@ -284,7 +289,7 @@ ifdef SSL endif endif ifneq "$(wildcard $(OPENSSL_INCLUDE)/openssl/opensslv.h)" "$(OPENSSL_INCLUDE)/openssl/opensslv.h" - $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) + $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) endif ifndef OPENSSL_LIBPATH OPENSSL_LIBS = -lssl -lcrypto diff --git a/lib/Makefile.m32 b/lib/Makefile.m32 index 9f1f5963d5..d78614da33 100644 --- a/lib/Makefile.m32 +++ b/lib/Makefile.m32 @@ -179,12 +179,10 @@ SYNC = 1 endif ifeq ($(findstring -rtmp,$(CFG)),-rtmp) RTMP = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssh2,$(CFG)),-ssh2) SSH2 = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssl,$(CFG)),-ssl) @@ -237,6 +235,13 @@ ifeq ($(findstring -unicode,$(CFG)),-unicode) UNICODE = 1 endif +# SSH2 and RTMP require an SSL library; assume OpenSSL if none specified +ifneq ($(SSH2)$(RTMP),) + ifeq ($(SSL)$(WINSSL),) + SSL = 1 + endif +endif + INCLUDES = -I. -I../include CFLAGS += -DBUILDING_LIBCURL ifdef SSL @@ -299,7 +304,7 @@ ifdef SSL endif endif ifneq "$(wildcard $(OPENSSL_INCLUDE)/openssl/opensslv.h)" "$(OPENSSL_INCLUDE)/openssl/opensslv.h" - $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) + $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) endif ifndef OPENSSL_LIBPATH ifeq "$(wildcard $(OPENSSL_PATH)/out)" "$(OPENSSL_PATH)/out" diff --git a/src/Makefile.m32 b/src/Makefile.m32 index 380d264e70..d769bad759 100644 --- a/src/Makefile.m32 +++ b/src/Makefile.m32 @@ -187,12 +187,10 @@ SYNC = 1 endif ifeq ($(findstring -rtmp,$(CFG)),-rtmp) RTMP = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssh2,$(CFG)),-ssh2) SSH2 = 1 -SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssl,$(CFG)),-ssl) @@ -242,6 +240,13 @@ ifeq ($(findstring -unicode,$(CFG)),-unicode) UNICODE = 1 endif +# SSH2 and RTMP require an SSL library; assume OpenSSL if none specified +ifneq ($(SSH2)$(RTMP),) + ifeq ($(SSL)$(WINSSL),) + SSL = 1 + endif +endif + INCLUDES = -I. -I../include -I../lib ifdef SSL ifdef WINSSL @@ -309,7 +314,7 @@ ifdef SSL endif endif ifneq "$(wildcard $(OPENSSL_INCLUDE)/openssl/opensslv.h)" "$(OPENSSL_INCLUDE)/openssl/opensslv.h" - $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) + $(error Invalid path to OpenSSL package: $(OPENSSL_PATH)) endif ifndef OPENSSL_LIBPATH OPENSSL_LIBS = -lssl -lcrypto