winbuild: add initial wolfSSL support

Ref: https://datagirl.xyz/posts/wolfssl_curl_w2k.html

Closes #15264
This commit is contained in:
Viktor Szakats 2024-10-11 11:13:40 +02:00
parent b4e162566f
commit 4de627ab09
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
3 changed files with 37 additions and 2 deletions

View File

@ -95,7 +95,7 @@ USE_SSPI = false
!ENDIF !ENDIF
!IFNDEF ENABLE_SCHANNEL !IFNDEF ENABLE_SCHANNEL
!IF DEFINED(WITH_SSL) || DEFINED(WITH_MBEDTLS) !IF DEFINED(WITH_SSL) || DEFINED(WITH_MBEDTLS) || DEFINED(WITH_WOLFSSL)
USE_SCHANNEL = false USE_SCHANNEL = false
!ELSE !ELSE
USE_SCHANNEL = $(USE_SSPI) USE_SCHANNEL = $(USE_SSPI)
@ -173,6 +173,11 @@ USE_MBEDTLS = true
MBEDTLS = $(WITH_MBEDTLS) MBEDTLS = $(WITH_MBEDTLS)
!ENDIF !ENDIF
!IF "$(WITH_WOLFSSL)"=="dll" || "$(WITH_WOLFSSL)"=="static"
USE_WOLFSSL = true
WOLFSSL = $(WITH_WOLFSSL)
!ENDIF
!IF "$(WITH_CARES)"=="dll" !IF "$(WITH_CARES)"=="dll"
USE_CARES = true USE_CARES = true
CARES = dll CARES = dll
@ -227,6 +232,10 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-mbedtls-$(MBEDTLS) CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-mbedtls-$(MBEDTLS)
!ENDIF !ENDIF
!IF "$(USE_WOLFSSL)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-wolfssl-$(WOLFSSL)
!ENDIF
!IF "$(USE_CARES)"=="true" !IF "$(USE_CARES)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES) CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES)
!ENDIF !ENDIF

View File

@ -203,6 +203,22 @@ MBEDTLS_CFLAGS = /DUSE_MBEDTLS /I"$(MBEDTLS_INC_DIR)"
MBEDTLS_LIBS = mbedtls.lib mbedcrypto.lib mbedx509.lib MBEDTLS_LIBS = mbedtls.lib mbedcrypto.lib mbedx509.lib
!ENDIF !ENDIF
!IFDEF WOLFSSL_PATH
WOLFSSL_INC_DIR = $(WOLFSSL_PATH)\include
WOLFSSL_LIB_DIR = $(WOLFSSL_PATH)\lib
WOLFSSL_LFLAGS = $(WOLFSSL_LFLAGS) "/LIBPATH:$(WOLFSSL_LIB_DIR)"
!ELSE
WOLFSSL_INC_DIR = $(DEVEL_INCLUDE)
WOLFSSL_LIB_DIR = $(DEVEL_LIB)
!ENDIF
!IF "$(WITH_WOLFSSL)"=="dll" || "$(WITH_WOLFSSL)"=="static"
USE_WOLFSSL = true
WOLFSSL = $(WITH_WOLFSSL)
WOLFSSL_CFLAGS = /DUSE_WOLFSSL /I"$(WOLFSSL_INC_DIR)"
WOLFSSL_LIBS = wolfssl.lib
!ENDIF
!IFDEF CARES_PATH !IFDEF CARES_PATH
CARES_INC_DIR = $(CARES_PATH)\include CARES_INC_DIR = $(CARES_PATH)\include
@ -479,6 +495,11 @@ CFLAGS = $(CFLAGS) $(MBEDTLS_CFLAGS)
LFLAGS = $(LFLAGS) $(MBEDTLS_LFLAGS) $(MBEDTLS_LIBS) LFLAGS = $(LFLAGS) $(MBEDTLS_LFLAGS) $(MBEDTLS_LIBS)
!ENDIF !ENDIF
!IF "$(USE_WOLFSSL)"=="true"
CFLAGS = $(CFLAGS) $(WOLFSSL_CFLAGS)
LFLAGS = $(LFLAGS) $(WOLFSSL_LFLAGS) $(WOLFSSL_LIBS)
!ENDIF
!IF "$(USE_CARES)"=="true" !IF "$(USE_CARES)"=="true"
CFLAGS = $(CFLAGS) $(CARES_CFLAGS) CFLAGS = $(CFLAGS) $(CARES_CFLAGS)
LFLAGS = $(LFLAGS) $(CARES_LFLAGS) $(CARES_LIBS) LFLAGS = $(LFLAGS) $(CARES_LFLAGS) $(CARES_LIBS)
@ -528,7 +549,10 @@ LFLAGS = $(LFLAGS) $(LFLAGS_PDB)
!IF ( "$(USE_SSL)"=="true" && "$(USE_SCHANNEL)"=="true" ) \ !IF ( "$(USE_SSL)"=="true" && "$(USE_SCHANNEL)"=="true" ) \
|| ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \ || ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \
|| ( "$(USE_MBEDTLS)"=="true" && "$(USE_SCHANNEL)"=="true" ) || ( "$(USE_SSL)"=="true" && "$(USE_WOLFSSL)"=="true" ) \
|| ( "$(USE_MBEDTLS)"=="true" && "$(USE_WOLFSSL)"=="true" ) \
|| ( "$(USE_MBEDTLS)"=="true" && "$(USE_SCHANNEL)"=="true" ) \
|| ( "$(USE_WOLFSSL)"=="true" && "$(USE_SCHANNEL)"=="true" )
CFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL CFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL
!ENDIF !ENDIF

View File

@ -87,6 +87,7 @@ where `<options>` is one or many of:
- `WITH_NGHTTP2=<dll/static>` - Enable HTTP/2 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_MSH3=<dll/static>` - Enable (experimental) HTTP/3 support, DLL or static
- `WITH_MBEDTLS=<dll/static>` - Enable mbedTLS support, DLL or static - `WITH_MBEDTLS=<dll/static>` - Enable mbedTLS support, DLL or static
- `WITH_WOLFSSL=<dll/static>` - Enable wolfSSL support, DLL or static
- `WITH_CARES=<dll/static>` - Enable c-ares 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 - `WITH_ZLIB=<dll/static>` - Enable zlib support, DLL or static
- `WITH_SSH=<dll/static>` - Enable libssh support, DLL or static - `WITH_SSH=<dll/static>` - Enable libssh support, DLL or static
@ -108,6 +109,7 @@ where `<options>` is one or many of:
- `MACHINE=<x86/x64/arm64>` - Target architecture (default is x86) - `MACHINE=<x86/x64/arm64>` - Target architecture (default is x86)
- `CARES_PATH=<path>` - Custom path for c-ares - `CARES_PATH=<path>` - Custom path for c-ares
- `MBEDTLS_PATH=<path>` - Custom path for mbedTLS - `MBEDTLS_PATH=<path>` - Custom path for mbedTLS
- `WOLFSSL_PATH=<path>` - Custom path for wolfSSL
- `NGHTTP2_PATH=<path>` - Custom path for nghttp2 - `NGHTTP2_PATH=<path>` - Custom path for nghttp2
- `MSH3_PATH=<path>` - Custom path for msh3 - `MSH3_PATH=<path>` - Custom path for msh3
- `SSH2_PATH=<path>` - Custom path for libssh2 - `SSH2_PATH=<path>` - Custom path for libssh2