winbuild: fix the nghttp2 build

Closes #1321
This commit is contained in:
Anatol Belski 2017-03-10 12:59:36 +01:00 committed by Daniel Stenberg
parent 63cd0d60ea
commit df45f2c33e
2 changed files with 28 additions and 16 deletions

View File

@ -21,8 +21,7 @@ CFGSET=true
!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
!MESSAGE Uncompress them into the deps folder.
!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
!MESSAGE ENABLE_NGHTTP2=<yes or no> - Enable HTTP/2 support, defaults to no
!MESSAGE Requires OpenSSL
!MESSAGE WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
!MESSAGE WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
!MESSAGE WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
!MESSAGE WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
@ -114,10 +113,17 @@ USE_SSL = true
SSL = static
!ENDIF
!IF "$(USE_SSL)"=="true"
!IF "$(ENABLE_NGHTTP2)"=="yes"
# compatibility bit, WITH_NGHTTP2 is the correct flag
WITH_NGHTTP2 = dll
USE_NGHTTP2 = true
NGHTTP2 = dll
!ELSEIF "$(WITH_NGHTTP2)"=="dll"
USE_NGHTTP2 = true
!ENDIF
NGHTTP2 = dll
!ELSEIF "$(WITH_NGHTTP2)"=="static"
USE_NGHTTP2 = true
NGHTTP2 = static
!ENDIF
!IFNDEF USE_NGHTTP2
@ -205,6 +211,10 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl
!ENDIF
!IF "$(USE_NGHTTP2)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-nghttp2-$(NGHTTP2)
!ENDIF
!MESSAGE configuration name: $(CONFIG_NAME_LIB)
BUILD_DIR=../builds/$(CONFIG_NAME_LIB)
@ -233,6 +243,9 @@ $(MODE):
@SET USE_IPV6=$(USE_IPV6)
@SET USE_SSPI=$(USE_SSPI)
@SET USE_WINSSL=$(USE_WINSSL)
# compatibility bit
@SET WITH_NGHTTP2=$(WITH_NGHTTP2)
@$(MAKE) /NOLOGO /F MakefileBuild.vc
copy_from_lib:

View File

@ -131,22 +131,16 @@ USE_SSL = true
SSL = static
!ENDIF
!IFNDEF USE_NGHTTP2
USE_NGHTTP2 = false
!ENDIF
!IFDEF USE_SSL
SSL_CFLAGS = /DUSE_OPENSSL /I"$(DEVEL_INCLUDE)/openssl"
!IF "$(USE_NGHTTP2)"=="yes"
USE_NGHTTP2 = true
!ENDIF
!IF "$(USE_NGHTTP2)"=="true"
SSL_CFLAGS = $(SSL_CFLAGS) /DUSE_NGHTTP2
SSL_LIBS = $(SSL_LIBS) nghttp2.lib
!ENDIF
!IF "$(WITH_NGHTTP2)"=="dll"
NGHTTP2_CFLAGS = /DUSE_NGHTTP2
NGHTTP2_LIBS = nghttp2.lib
!ELSEIF "$(WITH_NGHTTP2)"=="static"
NGHTTP2_CFLAGS = /DUSE_NGHTTP2 /DNGHTTP2_STATICLIB
NGHTTP2_LIBS = nghttp2_static.lib
!ENDIF
!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"
@ -381,6 +375,11 @@ CFLAGS = $(CFLAGS) $(IPV6_CFLAGS)
CFLAGS = $(CFLAGS) $(SSPI_CFLAGS)
!ENDIF
!IF "$(USE_NGHTTP2)"=="true"
CFLAGS = $(CFLAGS) $(NGHTTP2_CFLAGS)
LFLAGS = $(LFLAGS) $(NGHTTP2_LFLAGS) $(NGHTTP2_LIBS)
!ENDIF
!IF "$(GEN_PDB)"=="true"
CFLAGS = $(CFLAGS) $(CFLAGS_PDB) /Fd"$(LIB_DIROBJ)\$(PDB)"
LFLAGS = $(LFLAGS) $(LFLAGS_PDB)