diff options
author | Nick Banks <nibanks@microsoft.com> | 2022-04-10 18:21:37 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2022-04-10 18:23:04 +0200 |
commit | 37492ebbfa24ba4e700e6655b3dbc2bdd65c894a (patch) | |
tree | e0850c91ec4a66c654463d2ede04cd9c038288fd /winbuild | |
parent | 7befbe9ce97d6f9a1525a0fcbf5cbc5ad50546e3 (diff) | |
download | curl-37492ebbfa24ba4e700e6655b3dbc2bdd65c894a.tar.gz |
msh3: add support for QUIC and HTTP/3 using msh3
Considered experimental, as the other HTTP/3 backends.
Closes #8517
Diffstat (limited to 'winbuild')
-rw-r--r-- | winbuild/Makefile.vc | 22 | ||||
-rw-r--r-- | winbuild/MakefileBuild.vc | 26 | ||||
-rw-r--r-- | winbuild/README.md | 2 |
3 files changed, 50 insertions, 0 deletions
diff --git a/winbuild/Makefile.vc b/winbuild/Makefile.vc index 54da51e10..48b0acc37 100644 --- a/winbuild/Makefile.vc +++ b/winbuild/Makefile.vc @@ -149,6 +149,23 @@ NGHTTP2 = static USE_NGHTTP2 = false !ENDIF +!IF "$(ENABLE_MSH3)"=="yes" +# compatibility bit, WITH_MSH3 is the correct flag +WITH_MSH3 = dll +USE_MSH3 = true +MSH3 = dll +!ELSEIF "$(WITH_MSH3)"=="dll" +USE_MSH3 = true +MSH3 = dll +!ELSEIF "$(WITH_MSH3)"=="static" +USE_MSH3 = true +MSH3 = static +!ENDIF + +!IFNDEF USE_MSH3 +USE_MSH3 = false +!ENDIF + !IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static" USE_MBEDTLS = true MBEDTLS = $(WITH_MBEDTLS) @@ -240,6 +257,10 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-schannel CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-nghttp2-$(NGHTTP2) !ENDIF +!IF "$(USE_MSH3)"=="true" +CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-msh3 +!ENDIF + !MESSAGE configuration name: $(CONFIG_NAME_LIB) BUILD_DIR=../builds/$(CONFIG_NAME_LIB) @@ -261,6 +282,7 @@ $(MODE): @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB) @SET MACHINE=$(MACHINE) @SET USE_NGHTTP2=$(USE_NGHTTP2) + @SET USE_MSH3=$(USE_MSH3) @SET USE_IDN=$(USE_IDN) @SET USE_IPV6=$(USE_IPV6) @SET USE_SSPI=$(USE_SSPI) diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc index c4b8fc94b..33f779467 100644 --- a/winbuild/MakefileBuild.vc +++ b/winbuild/MakefileBuild.vc @@ -164,6 +164,26 @@ NGHTTP2_LIBS = nghttp2.lib !ENDIF
!ENDIF
+!IFDEF MSH3_PATH
+MSH3_INC_DIR = $(MSH3_PATH)\include
+MSH3_LIB_DIR = $(MSH3_PATH)\lib
+MSH3_LFLAGS = $(MSH3_LFLAGS) "/LIBPATH:$(MSH3_LIB_DIR)"
+!ELSE
+MSH3_INC_DIR = $(DEVEL_INCLUDE)
+MSH3_LIB_DIR = $(DEVEL_LIB)
+!ENDIF
+
+!IF "$(WITH_MSH3)"=="dll"
+MSH3_CFLAGS = /DUSE_MSH3 /I"$(MSH3_INC_DIR)"
+MSH3_LIBS = msh3.lib
+!ELSEIF "$(WITH_MSH3)"=="static"
+MSH3_CFLAGS = /DUSE_MSH3 /DMSH3_STATICLIB /I"$(MSH3_INC_DIR)"
+!IF EXISTS("$(NGHTTP2_LIB_DIR)\msh3_static.lib")
+MSH3_LIBS = msh3_static.lib
+!ELSE
+MSH3_LIBS = msh3.lib
+!ENDIF
+!ENDIF
!IFDEF MBEDTLS_PATH
MBEDTLS_INC_DIR = $(MBEDTLS_PATH)\include
@@ -492,6 +512,11 @@ CFLAGS = $(CFLAGS) $(NGHTTP2_CFLAGS) LFLAGS = $(LFLAGS) $(NGHTTP2_LFLAGS) $(NGHTTP2_LIBS)
!ENDIF
+!IF "$(USE_MSH3)"=="true"
+CFLAGS = $(CFLAGS) $(MSH3_CFLAGS)
+LFLAGS = $(LFLAGS) $(MSH3_LFLAGS) $(MSH3_LIBS)
+!ENDIF
+
!IF "$(GEN_PDB)"=="true"
CFLAGS = $(CFLAGS) $(CFLAGS_PDB) /Fd"$(LIB_DIROBJ)\$(PDB)"
LFLAGS = $(LFLAGS) $(LFLAGS_PDB)
@@ -545,6 +570,7 @@ package: $(TARGET) $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DIRDIST)
@echo Using SSL: $(USE_SSL)
@echo Using NGHTTP2: $(USE_NGHTTP2)
+ @echo Using MSH3: $(USE_MSH3)
@echo Using c-ares: $(USE_CARES)
@echo Using SSH2: $(USE_SSH2)
@echo Using SSH: $(USE_SSH)
diff --git a/winbuild/README.md b/winbuild/README.md index 4c33d4ff6..3f664c010 100644 --- a/winbuild/README.md +++ b/winbuild/README.md @@ -80,6 +80,7 @@ where `<options>` is one or many of: Uncompress them into the deps folder.
- `WITH_SSL=<dll/static>` - Enable OpenSSL support, DLL or static
- `WITH_NGHTTP2=<dll/static>` - Enable HTTP/2 support, DLL or static
+ - `WITH_MSH3=<dll/static>` - Enable (experimental) HTTP/3 support, DLL or static
- `WITH_MBEDTLS=<dll/static>` - Enable mbedTLS support, DLL or static
- `WITH_CARES=<dll/static>` - Enable c-ares support, DLL or static
- `WITH_ZLIB=<dll/static>` - Enable zlib support, DLL or static
@@ -103,6 +104,7 @@ where `<options>` is one or many of: - `CARES_PATH=<path>` - Custom path for c-ares
- `MBEDTLS_PATH=<path>` - Custom path for mbedTLS
- `NGHTTP2_PATH=<path>` - Custom path for nghttp2
+ - `MSH3_PATH=<path>` - Custom path for msh3
- `SSH2_PATH=<path>` - Custom path for libSSH2
- `SSL_PATH=<path>` - Custom path for OpenSSL
- `ZLIB_PATH=<path>` - Custom path for zlib
|