diff options
-rw-r--r-- | Apache-apr2.dsw | 18 | ||||
-rw-r--r-- | Apache.dsw | 21 | ||||
-rw-r--r-- | BuildBin.dsp | 4 | ||||
-rw-r--r-- | Makefile.win | 32 | ||||
-rw-r--r-- | build/installwinconf.awk | 1 | ||||
-rw-r--r-- | modules/http2/mod_h2.dsp | 211 | ||||
-rw-r--r-- | os/win32/BaseAddr.ref | 1 |
7 files changed, 286 insertions, 2 deletions
diff --git a/Apache-apr2.dsw b/Apache-apr2.dsw index b10babca4d..4a3e187d50 100644 --- a/Apache-apr2.dsw +++ b/Apache-apr2.dsw @@ -1744,6 +1744,24 @@ Package=<4> ############################################################################### +Project: "mod_h2"=.\modules\http2\mod_h2.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libhttpd + End Project Dependency +}}} + +############################################################################### + Project: "mod_headers"=.\modules\metadata\mod_headers.dsp - Package Owner=<4> Package=<5> diff --git a/Apache.dsw b/Apache.dsw index e20ed5b17b..213feffaac 100644 --- a/Apache.dsw +++ b/Apache.dsw @@ -2065,6 +2065,27 @@ Package=<4> ############################################################################### +Project: "mod_h2"=.\modules\http2\mod_h2.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libapr + End Project Dependency + Begin Project Dependency + Project_Dep_Name libaprutil + End Project Dependency + Begin Project Dependency + Project_Dep_Name libhttpd + End Project Dependency +}}} + +############################################################################### + Project: "mod_headers"=.\modules\metadata\mod_headers.dsp - Package Owner=<4> Package=<5> diff --git a/BuildBin.dsp b/BuildBin.dsp index 0a557ea74a..84143ca124 100644 --- a/BuildBin.dsp +++ b/BuildBin.dsp @@ -39,7 +39,7 @@ CFG=BuildBin - Win32 Debug # PROP Use_Debug_Libraries 0 # PROP Output_Dir "" # PROP Intermediate_Dir "" -# PROP Cmd_Line "NMAKE /f makefile.win INSTDIR="\Apache2" LONG=Release _trydb _trylua _tryxml _tryssl _tryzlib _tryserf _dummy" +# PROP Cmd_Line "NMAKE /f makefile.win INSTDIR="\Apache2" LONG=Release _trydb _trylua _tryxml _tryssl _tryzlib _trynghttp2 _tryserf _dummy" # PROP Rebuild_Opt "" # PROP Target_File "\Apache2\bin\httpd.exe" # PROP Bsc_Name ".\Browse\httpd.bsc" @@ -58,7 +58,7 @@ CFG=BuildBin - Win32 Debug # PROP Use_Debug_Libraries 1 # PROP Output_Dir "" # PROP Intermediate_Dir "" -# PROP Cmd_Line "NMAKE /f makefile.win INSTDIR="\Apache2" LONG=Debug _trydb _trylua _tryxml _tryssl _tryzlib _tryserf _dummy" +# PROP Cmd_Line "NMAKE /f makefile.win INSTDIR="\Apache2" LONG=Debug _trydb _trylua _tryxml _tryssl _tryzlib _trynghttp2 _tryserf _dummy" # PROP Rebuild_Opt "" # PROP Target_File "\Apache2\bin\httpd.exe" # PROP Bsc_Name ".\Browse\httpd.bsc" diff --git a/Makefile.win b/Makefile.win index 774d7f29a1..78ffd58f27 100644 --- a/Makefile.win +++ b/Makefile.win @@ -245,6 +245,30 @@ _trylua: !ENDIF +!IF EXIST("srclib\nghttp2") + +_trynghttp2: +!IF $(USEMAK) == 1 + cd modules\http2 + $(MAKE) $(MAKEOPT) -f mod_h2.mak CFG="mod_h2 - Win32 $(LONG)" RECURSE=0 $(CTARGET) + cd ..\.. +!ELSEIF $(USESLN) == 1 + devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_h2 +!ELSE + @msdev $(TLP).dsw /USEENV /MAKE \ + "mod_h2 - Win32 $(LONG)" /NORECURSE $(CTARGET) +!ENDIF + +!ELSE +# NOT EXIST("srclib\lua") + +_trynghttp2: + @echo ----- + @echo mod_h2 will not build unless nghttp2 is installed in srclib\nghttp2. + @echo Version 1.0 includes an lib\makefile.msvc that will satisfy this + @echo requirement. + +!ENDIF _trydb: !IF $(USEMAK) == 1 @@ -799,6 +823,14 @@ _copybin: copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y +!IF EXIST("srclib\nghttp2") + copy modules\http2\$(LONG)\mod_h2.$(src_so) "$(inst_so)" <.y +!IF "$(SHORT)" == "D" + copy srclib\nghttp2\lib\MSVC_obj\nghttp2d.$(src_dll) "$(inst_dll)" <.y +!ELSE + copy srclib\nghttp2\lib\MSVC_obj\nghttp2.$(src_dll) "$(inst_dll)" <.y +!ENDIF +!ENDIF copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y diff --git a/build/installwinconf.awk b/build/installwinconf.awk index 465f839f3b..0ce729d9d9 100644 --- a/build/installwinconf.awk +++ b/build/installwinconf.awk @@ -139,6 +139,7 @@ BEGIN { print "#LoadModule ext_filter_module modules/mod_ext_filter.so" > dstfl; print "#LoadModule file_cache_module modules/mod_file_cache.so" > dstfl; print "#LoadModule filter_module modules/mod_filter.so" > dstfl; + print "#LoadModule h2_module modules/mod_h2.so" > dstfl; print "#LoadModule headers_module modules/mod_headers.so" > dstfl; print "#LoadModule heartbeat_module modules/mod_heartbeat.so" > dstfl; print "#LoadModule heartmonitor_module modules/mod_heartmonitor.so" > dstfl; diff --git a/modules/http2/mod_h2.dsp b/modules/http2/mod_h2.dsp new file mode 100644 index 0000000000..7147e2d563 --- /dev/null +++ b/modules/http2/mod_h2.dsp @@ -0,0 +1,211 @@ +# Microsoft Developer Studio Project File - Name="mod_h2" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=mod_h2 - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mod_h2.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mod_h2.mak" CFG="mod_h2 - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mod_h2 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "mod_h2 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mod_h2 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "ssize_t=long" /FD /c +# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/nghttp2/lib/includes" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ssize_t=long" /Fd"Release\mod_h2_src" /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /fo"Release/mod_h2.res" /i "../../include" /i "../../srclib/apr/include" /d "NDEBUG" /d BIN_NAME="mod_h2.so" /d LONG_NAME="http2_module for Apache" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib nghttp2.lib /nologo /subsystem:windows /dll /libpath:"..\..\srclib\nghttp2\lib\MSVC_obj" /out:".\Release\mod_h2.so" /base:@..\..\os\win32\BaseAddr.ref,mod_h2.so +# ADD LINK32 kernel32.lib nghttp2.lib /nologo /subsystem:windows /dll /libpath:"..\..\srclib\nghttp2\lib\MSVC_obj" /incremental:no /debug /out:".\Release\mod_h2.so" /base:@..\..\os\win32\BaseAddr.ref,mod_h2.so /opt:ref +# Begin Special Build Tool +TargetPath=.\Release\mod_h2.so +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ELSEIF "$(CFG)" == "mod_h2 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "ssize_t=long" /FD /c +# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../../include" /I "../../srclib/apr/include" /I "../../srclib/apr-util/include" /I "../../srclib/nghttp2/lib/includes" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ssize_t=long" /Fd"Debug\mod_h2_src" /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /fo"Debug/mod_h2.res" /i "../../include" /i "../../srclib/apr/include" /d "_DEBUG" /d BIN_NAME="mod_h2.so" /d LONG_NAME="http2_module for Apache" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib nghttp2d.lib /nologo /subsystem:windows /dll /libpath:"..\..\srclib\nghttp2\lib\MSVC_obj" /incremental:no /debug /out:".\Debug\mod_h2.so" /base:@..\..\os\win32\BaseAddr.ref,mod_h2.so +# ADD LINK32 kernel32.lib nghttp2d.lib /nologo /subsystem:windows /dll /libpath:"..\..\srclib\nghttp2\lib\MSVC_obj" /incremental:no /debug /out:".\Debug\mod_h2.so" /base:@..\..\os\win32\BaseAddr.ref,mod_h2.so +# Begin Special Build Tool +TargetPath=.\Debug\mod_h2.so +SOURCE="$(InputPath)" +PostBuild_Desc=Embed .manifest +PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "mod_h2 - Win32 Release" +# Name "mod_h2 - Win32 Debug" +# Begin Source File + +SOURCE=./h2_alt_svc.c +# End Source File +# Begin Source File + +SOURCE=./h2_config.c +# End Source File +# Begin Source File + +SOURCE=./h2_conn.c +# End Source File +# Begin Source File + +SOURCE=./h2_conn_io.c +# End Source File +# Begin Source File + +SOURCE=./h2_ctx.c +# End Source File +# Begin Source File + +SOURCE=./h2_from_h1.c +# End Source File +# Begin Source File + +SOURCE=./h2_h2.c +# End Source File +# Begin Source File + +SOURCE=./h2_io.c +# End Source File +# Begin Source File + +SOURCE=./h2_io_set.c +# End Source File +# Begin Source File + +SOURCE=./h2_mplx.c +# End Source File +# Begin Source File + +SOURCE=./h2_request.c +# End Source File +# Begin Source File + +SOURCE=./h2_response.c +# End Source File +# Begin Source File + +SOURCE=./h2_session.c +# End Source File +# Begin Source File + +SOURCE=./h2_stream.c +# End Source File +# Begin Source File + +SOURCE=./h2_stream_set.c +# End Source File +# Begin Source File + +SOURCE=./h2_switch.c +# End Source File +# Begin Source File + +SOURCE=./h2_task.c +# End Source File +# Begin Source File + +SOURCE=./h2_task_input.c +# End Source File +# Begin Source File + +SOURCE=./h2_task_output.c +# End Source File +# Begin Source File + +SOURCE=./h2_task_queue.c +# End Source File +# Begin Source File + +SOURCE=./h2_to_h1.c +# End Source File +# Begin Source File + +SOURCE=./h2_util.c +# End Source File +# Begin Source File + +SOURCE=./h2_worker.c +# End Source File +# Begin Source File + +SOURCE=./h2_workers.c +# End Source File +# Begin Source File + +SOURCE=./h2_workers.c +# End Source File +# Begin Source File + +SOURCE=./mod_h2.c +# End Source File +# Begin Source File + +SOURCE=..\..\build\win32\httpd.rc +# End Source File +# End Target +# End Project diff --git a/os/win32/BaseAddr.ref b/os/win32/BaseAddr.ref index 3c7d43d61b..8eb160bae8 100644 --- a/os/win32/BaseAddr.ref +++ b/os/win32/BaseAddr.ref @@ -132,3 +132,4 @@ mod_optional_hook_export.so 0x70C40000 0x00010000 mod_optional_hook_import.so 0x70C50000 0x00010000 mod_policy.so 0x70C60000 0x00020000 mod_ssl_ct.so 0x70C80000 0x00020000 +mod_h2.so 0x70D00000 0x00020000 |