aboutsummaryrefslogtreecommitdiff
path: root/winbuild
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-03-10 12:59:36 +0100
committerDaniel Stenberg <daniel@haxx.se>2017-05-24 08:27:12 +0200
commitdf45f2c33e1c916d62d7f5e794c6015fc3b51c01 (patch)
tree59f5d2ac1055801193c7da9a872521f86b4e2dba /winbuild
parent63cd0d60ea24a7c7de4289a4240d40fa4ac46ff2 (diff)
winbuild: fix the nghttp2 build
Closes #1321
Diffstat (limited to 'winbuild')
-rw-r--r--winbuild/Makefile.vc21
-rw-r--r--winbuild/MakefileBuild.vc23
2 files changed, 28 insertions, 16 deletions
diff --git a/winbuild/Makefile.vc b/winbuild/Makefile.vc
index f78da4343..9ef7c1457 100644
--- a/winbuild/Makefile.vc
+++ b/winbuild/Makefile.vc
@@ -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:
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index f8296718b..83f92374e 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -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)