Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip]

Before this patch `-nghttp3`/`-ngtcp2` had an effect only when `-ssl`
was also enabled. `-ssl` meaning OpenSSL (and its forks). After
8a13be227e nghttp3/ngtcp2 can also be
used together with wolfSSL. This patch adds the ability to enable
`-nghttp3`/`-ngtcp2` independently from `-ssl` (OpenSSL), allowing to
use it with wolfSSL or other, future TLS backends.

Before this patch, it was fine to enable `-nghttp3`/`-ngtcp2`
unconditionally. After this patch, this is no longer the case, and now
it's the user's responsibility to enable `-nghttp3`/`-ngtcp2` only
together with a compatible TLS backend.

When using a TLS backend other than OpenSSL, the TLS-specific ngtcp2
library must be configured manually, e.g.:
  `export CURL_LDFLAG_EXTRAS=-lngtcp2_crypto_wolfssl`

(or via `NGTCP2_LIBS`)

Closes #9314
This commit is contained in:
Viktor Szakats 2022-08-15 02:49:59 +00:00
parent 8a13be227e
commit 5fd7cd7302
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
4 changed files with 50 additions and 44 deletions

View file

@ -275,21 +275,23 @@ ifdef SSH2
endif
endif
endif
ifdef SSL
ifdef NGHTTP3
CFLAGS += -DUSE_NGHTTP3
curl_LDADD += -L"$(NGHTTP3_PATH)/lib" -lnghttp3
ifdef NGTCP2
CFLAGS += -DUSE_NGTCP2
curl_LDADD += -L"$(NGTCP2_PATH)/lib"
ifdef NGTCP2_LIBS
curl_LDADD += $(NGTCP2_LIBS)
else
curl_LDADD += -lngtcp2 -lngtcp2_crypto_openssl
ifdef NGHTTP3
CFLAGS += -DUSE_NGHTTP3
curl_LDADD += -L"$(NGHTTP3_PATH)/lib" -lnghttp3
ifdef NGTCP2
CFLAGS += -DUSE_NGTCP2
curl_LDADD += -L"$(NGTCP2_PATH)/lib"
ifdef NGTCP2_LIBS
curl_LDADD += $(NGTCP2_LIBS)
else
curl_LDADD += -lngtcp2
ifdef SSL
curl_LDADD += -lngtcp2_crypto_openssl
endif
endif
endif
endif
ifdef SSL
ifndef OPENSSL_INCLUDE
ifeq "$(wildcard $(OPENSSL_PATH)/outinc)" "$(OPENSSL_PATH)/outinc"
OPENSSL_INCLUDE = $(OPENSSL_PATH)/outinc