]> granicus.if.org Git - apache/blobdiff - Makefile.win
Xforms.
[apache] / Makefile.win
index 141b9c5f4a2e7f603d02f201fbf9db0e9605d809..774d7f29a191863d825a872b406cd180eba182d8 100644 (file)
@@ -1,14 +1,18 @@
 # Makefile for Windows NT and Windows 95/98/2000
 
 # Targets are:
-#   _buildr   - build Apache in Release mode
-#   _buildd   - build Apache in Debug mode
-#   installr   - build and install a Release build
-#   installd   - build and install a Debug build
-#   clean      - remove (most) generated files
-#   _cleanr    - remove (most) files generated by a Release build
-#   _cleand    - remove (most) files generated by a Debug build
-#   _browse    - build the browse info file
+#   _buildr     - build Apache in Release mode
+#   _buildd     - build Apache in Debug mode
+#   installr    - build and install a Release build
+#   installd    - build and install a Debug build
+#   clean       - remove (most) generated files
+#   _cleanr     - remove (most) files generated by a Release build
+#   _cleand     - remove (most) files generated by a Debug build
+#   _browse     - build the browse info file
+#   _fixshebang - add proper shebang lines to activate installed 
+#                 printenv files
+#                 Note: _fixshebang must be run separately and is not
+#                 run by any of the above install* targets.
 #
 # The following install defaults may be customized;
 #
@@ -42,7 +46,7 @@
 # so the server root should be given in forward slashes (quoted),
 # preferably with the drive designation!
 
-!IF EXIST("httpd.vcproj") && ([devenv /help > NUL 2>&1] == 0) \
+!IF EXIST("Apache.sln") && ([devenv /help > NUL 2>&1] == 0) \
     && !defined(USEMAK) && !defined(USEDSW)
 USESLN=1
 USEMAK=0
@@ -77,7 +81,7 @@ TLP=Apache
 UTILDIR=apr-util
 !ENDIF
 
-!IF !EXIST("srclib\expat") && !EXIST("srclib\apr-util\xml\expat)
+!IF !EXIST("srclib\expat") && !EXIST("srclib\apr-util\xml\expat")
 !MESSAGE Please check out or download and unpack the current expat library source
 !MESSAGE under your srclib dir for apr 2.x, or srclib\apr-util\xml\expat for apr 1.x
 !MESSAGE Apache cannot build without this library!
@@ -187,6 +191,35 @@ _tryzlib:
 
 !ENDIF
 
+!IF EXIST("srclib\libxml2")
+
+_tryxml:
+!IF $(USEMAK) == 1
+       cd modules\filters
+       $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+!ELSEIF $(USESLN) == 1
+       devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
+       devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
+!ELSE
+       @msdev $(TLP).dsw /USEENV /MAKE \
+               "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
+       @msdev $(TLP).dsw /USEENV /MAKE \
+               "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+#     NOT EXIST("srclib\libxml2")
+
+_tryxml:
+       @echo -----
+       @echo mod_proxy_html and mod_xml2enc will not build unless libxml2 is 
+       @echo built in srclib\libxml2. Version 2.7.7 and later available from
+       @echo http://xmlsoft.org/ will satisfy this requirement.
+
+!ENDIF
+
 
 !IF EXIST("srclib\lua")
 
@@ -379,6 +412,8 @@ _build:
        cd ..\..
        cd modules\aaa
         $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_allowhandlers.mak CFG="mod_allowhandlers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak  CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_auth_form.mak   CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -387,6 +422,8 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak   CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak   CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authn_file.mak  CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak  CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_authnz_fcgi.mak CFG="mod_authnz_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_core.mak  CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak   CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -402,6 +439,7 @@ _build:
        cd modules\cache
         $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak  CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak  CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
 #       $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak  CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -409,6 +447,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\core
+        $(MAKE) $(MAKEOPT) -f mod_macro.mak    CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_watchdog.mak    CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\cluster
@@ -446,12 +485,17 @@ _build:
        cd modules\filters
         $(MAKE) $(MAKEOPT) -f mod_buffer.mak      CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_data.mak        CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
 !IF EXIST("srclib\zlib")
         $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
 !ENDIF
         $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_filter.mak      CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!IF EXIST("srclib\libxml2")
+        $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak     CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak     CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
         $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak   CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_reflector.mak   CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak  CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -471,6 +515,7 @@ _build:
        cd ..\..
        cd modules\loggers
         $(MAKE) $(MAKEOPT) -f mod_log_config.mak  CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_log_debug.mak  CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_logio.mak       CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
@@ -508,10 +553,12 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak   CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak  CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak  CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak  CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak  CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
 !IF EXIST("srclib\serf")
         $(MAKE) $(MAKEOPT) -f mod_serf.mak        CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
 !ENDIF
@@ -588,6 +635,13 @@ _build:
 !IF EXIST("srclib\lua")
        devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
 !ENDIF
+!IF EXIST("srclib\libxml2")
+       devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
+       devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
+!ENDIF
+!IF EXIST("srclib\serf")
+       devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
+!ENDIF
 
 !ELSE
 
@@ -627,6 +681,16 @@ _build:
        @msdev $(TLP).dsw /USEENV /MAKE \
                "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
+!IF EXIST("srclib\libxml2")
+       @msdev $(TLP).dsw /USEENV /MAKE \
+               "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
+       @msdev $(TLP).dsw /USEENV /MAKE \
+               "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+!IF EXIST("srclib\serf")
+       @msdev $(TLP).dsw /USEENV /MAKE \
+               "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
 
 !ENDIF
 
@@ -649,8 +713,14 @@ _copybin:
 !IF EXIST("srclib\serf")
        copy srclib\serf\$(LONG)\libserf.$(src_dll)             "$(inst_dll)" <.y
 !ENDIF
+!IF "$(SHORT)" == "D"
+       copy srclib\pcre\pcred.$(src_dll)                       "$(inst_dll)" <.y
+!ELSE
        copy srclib\pcre\pcre.$(src_dll)                        "$(inst_dll)" <.y
+!ENDIF 
        copy modules\aaa\$(LONG)\mod_access_compat.$(src_so)    "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_allowhandlers.$(src_so)    "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so)     "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so)       "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so)      "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_auth_form.$(src_so)        "$(inst_so)" <.y
@@ -659,6 +729,8 @@ _copybin:
        copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so)        "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so)        "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authn_file.$(src_so)       "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so)    "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_authnz_fcgi.$(src_so)      "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so)        "$(inst_so)" <.y
@@ -671,11 +743,13 @@ _copybin:
        copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so)     "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_cache.$(src_so)          "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_cache_disk.$(src_so)     "$(inst_so)" <.y
+       copy modules\cache\$(LONG)\mod_cache_socache.$(src_so)  "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_file_cache.$(src_so)     "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so)    "$(inst_so)" <.y
 #      copy modules\cache\$(LONG)\mod_socache_dc.$(src_so)     "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so)  "$(inst_so)" <.y
+       copy modules\core\$(LONG)\mod_macro.$(src_so)   "$(inst_so)" <.y
        copy modules\core\$(LONG)\mod_watchdog.$(src_so)        "$(inst_so)" <.y
        copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so)    "$(inst_so)" <.y
        copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
@@ -696,6 +770,7 @@ _copybin:
 !ENDIF
        copy modules\filters\$(LONG)\mod_buffer.$(src_so)       "$(inst_so)" <.y
        copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
+       copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
 !IF EXIST("srclib\zlib")
        copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
@@ -705,6 +780,13 @@ _copybin:
        copy modules\filters\$(LONG)\mod_ext_filter.$(src_so)   "$(inst_so)" <.y
        copy modules\filters\$(LONG)\mod_filter.$(src_so)       "$(inst_so)" <.y
        copy modules\filters\$(LONG)\mod_include.$(src_so)      "$(inst_so)" <.y
+!IF EXIST("srclib\libxml2")
+       copy modules\filters\$(LONG)\mod_proxy_html.$(src_so)   "$(inst_so)" <.y
+       copy modules\filters\$(LONG)\mod_xml2enc.$(src_so)      "$(inst_so)" <.y
+!IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
+       copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)                   "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
        copy modules\filters\$(LONG)\mod_ratelimit.$(src_so)    "$(inst_so)" <.y
        copy modules\filters\$(LONG)\mod_reflector.$(src_so)    "$(inst_so)" <.y
        copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so)   "$(inst_so)" <.y
@@ -719,6 +801,7 @@ _copybin:
        copy modules\http\$(LONG)\mod_mime.$(src_so)            "$(inst_so)" <.y
        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
        copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
        copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
 !IF EXIST("srclib\lua")
@@ -751,10 +834,12 @@ _copybin:
        copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so)      "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so)  "$(inst_so)" <.y
+       copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so)  "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so)     "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so)     "$(inst_so)" <.y
+       copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so)         "$(inst_so)" <.y
 !IF EXIST("srclib\serf")
        copy modules\proxy\$(LONG)\mod_serf.$(src_so)           "$(inst_so)" <.y
 !ENDIF
@@ -865,10 +950,10 @@ BEGIN {
 <<
        copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
 
- Apache HTTP Server 2.3 Limited OpenSSL Distribution
+ Apache HTTP Server 2.5 Limited OpenSSL Distribution
 
  This binary distribution includes the minimal components of OpenSSL required
- to support mod_ssl for Apache HTTP Server version 2.3 (details are listed 
+ to support mod_ssl for Apache HTTP Server version 2.5 (details are listed 
  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
  versions of OpenSSL, please refer to the definative source,
  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
@@ -884,7 +969,7 @@ BEGIN {
            + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
        copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
 
- Apache HTTP Server 2.3 Limited OpenSSL Distribution
+ Apache HTTP Server 2.5 Limited OpenSSL Distribution
 
  This binary installation of OpenSSL is a limited distribution of the
  files derived from the OpenSSL project:
@@ -898,7 +983,7 @@ BEGIN {
    bin\openssl.exe
 
  These are the minimal libraries and tools required to use mod_ssl as 
- distributed with Apache HTTP Server version 2.3.  No library link files, 
+ distributed with Apache HTTP Server version 2.5.  No library link files, 
  headers or sources are distributed with this binary distribution.  Please 
  refer to the <http://www.openssl.org/> site for complete source or binary 
  distributions.
@@ -981,19 +1066,8 @@ BEGIN {
        cd ..\..
 !ENDIF
        copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
-       -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
-    BEGIN { 
-       if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
-           gsub( /\\/, "/", perlroot );
-           print "#!" perlroot;
-       }
-    }
-    {
-       if ( $$0 !~ /^#!/ ) {
-           print $$0;
-       }
-    }
-<<
+       copy docs\cgi-examples\printenv.vbs "$(INSTDIR)\cgi-bin\printenv.vbs" <.y
+       copy docs\cgi-examples\printenv.wsf "$(INSTDIR)\cgi-bin\printenv.wsf" <.y
        xcopy docs\error        "$(INSTDIR)\error" /s /d < .a
        xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
        xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
@@ -1009,6 +1083,7 @@ BEGIN {
                include\*.h \
                os\win32\os.h \
                modules\cache\mod_cache.h \
+               modules\cache\cache_common.h \
                modules\core\mod_so.h \
                modules\core\mod_watchdog.h \
                modules\database\mod_dbd.h \
@@ -1021,6 +1096,7 @@ BEGIN {
                modules\proxy\mod_proxy.h \
                modules\proxy\mod_serf.h \
                modules\ssl\mod_ssl.h \
+               modules\ssl\mod_ssl_openssl.h \
           ) do \
            @copy %f "$(INSTDIR)\include" < .y > nul
        copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
@@ -1066,3 +1142,46 @@ BEGIN {
 <<
        del .y
        del .a
+
+_fixshebang:
+!IF EXIST("$(INSTDIR)\cgi-bin")
+       -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
+    BEGIN { 
+       if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
+           gsub( /\\/, "/", perlroot );
+           print "#!" perlroot;
+       }
+    }
+    {
+       if ( $$0 !~ /^#!/ ) {
+           print $$0;
+       }
+    }
+<<
+       -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.vbs" "$(INSTDIR)\cgi-bin\printenv.vbs"
+    Dim fso, f, c
+    Set fso = CreateObject("Scripting.FileSystemObject")
+    Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
+    f.SkipLine
+    c = f.ReadAll
+    f.Close
+    Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
+    f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
+    f.Write c
+    f.Close
+<<
+       -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.wsf" "$(INSTDIR)\cgi-bin\printenv.wsf"
+    Dim fso, f, c
+    Set fso = CreateObject("Scripting.FileSystemObject")
+    Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
+    f.SkipLine
+    c = f.ReadAll
+    f.Close
+    Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
+    f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
+    f.Write c
+    f.Close
+<<
+!ENDIF
+
+