]> granicus.if.org Git - apache/blobdiff - Makefile.win
* Ensure refresh parameter is numeric to prevent a possible XSS attack caused
[apache] / Makefile.win
index 4e71b3f787deb3bb2c749481e844108cf2481530..df916833a26ef17fc4679df81c8dc093169c01be 100644 (file)
 # The following install defaults may be customized;
 #
 #   Option      Default
-#   INSTDIR     \Apache2
+#   INSTDIR     /Apache2x
 #   PORT        80
 #   SSLPORT     443
-#   SERVERNAME  localhost
+#   DOMAINNAME  example.com
+#   SERVERNAME  www.example.com
+#   SERVERNAME  admin@example.com
+#
+#   ALL         (unset)     Includes additional modules for build testing
 #
 # For example;
 #
 #   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
 #
-# Be aware that certain awk's will not accept backslahed names,
+# Be aware that certain awk's will not accept backslashed names,
 # 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) \
+    && !defined(USEMAK) && !defined(USEDSW)
+USESLN=1
+USEMAK=0
+USEDSW=0
+!ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
+USESLN=0
+USEMAK=1
+USEDSW=0
+!ELSE
+USESLN=0
+USEMAK=0
+USEDSW=1
+!ENDIF
+
 default: _apacher
 
-!IF ("$(CTARGET)" == "") && !EXIST("httpd.mak") && EXIST("Apache.sln")
+!IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
 CTARGET=/build
 !ENDIF
 
@@ -51,14 +70,14 @@ SSLBIN=out32dll
 !ENDIF
 
 _tryssl:
-!IF EXIST("modules\ssl\mod_ssl.mak")
+!IF $(USEMAK) == 1
        cd modules\ssl
        $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd support
        $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
 !ELSE
@@ -75,18 +94,18 @@ _tryssl:
        @echo mod_ssl and ab/ssl will not build unless openssl is installed
        @echo in srclib\openssl.  They must be precompiled using the 
        @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32.  The most
-       @echo recent version confirmed to build with mod_ssl and ab is 0.9.6h.
+       @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
        @echo Available from http://www.openssl.org/
 !ENDIF
 
 !IF EXIST("srclib\zlib")
 
 _tryzlib:
-!IF EXIST("modules\filters\mod_deflate.mak")
+!IF $(USEMAK) == 1
        cd modules\filters
        $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
 !ELSE
        @msdev Apache.dsw /USEENV /MAKE \
@@ -105,10 +124,16 @@ _tryzlib:
 !ENDIF
 
 !IF "$(INSTDIR)" == ""
-INSTDIR=\Apache2
+INSTDIR=\Apache2x
 !ENDIF
+!IF "$(DOMAINNAME)" == ""
+DOMAINNAME=example.com
+!ENDIF 
 !IF "$(SERVERNAME)" == ""
-SERVERNAME=localhost
+SERVERNAME=www.$(DOMAINNAME)
+!ENDIF
+!IF "$(SERVERADMIN)" == ""
+SERVERADMIN=admin@$(DOMAINNAME)
 !ENDIF
 !IF "$(PORT)" == ""
 PORT=80
@@ -119,11 +144,13 @@ SSLPORT=443
 
 !IF "$(LONG)" == ""
 !MESSAGE
-!MESSAGE INSTDIR    = $(INSTDIR)
-!MESSAGE SERVERNAME = $(SERVERNAME)
-!MESSAGE PORT       = $(PORT)
+!MESSAGE INSTDIR     = $(INSTDIR)
+!MESSAGE DOMAINNAME  = $(DOMAINNAME)
+!MESSAGE SERVERNAME  = $(SERVERNAME)
+!MESSAGE SERVERADMIN = $(SERVERADMIN)
+!MESSAGE PORT        = $(PORT)
 !IF EXIST("srclib\openssl")
-!MESSAGE SSLPORT    = $(SSLPORT)
+!MESSAGE SSLPORT     = $(SSLPORT)
 !ENDIF
 !MESSAGE
 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
@@ -167,7 +194,7 @@ clean:      _cleanr _cleand
 y
 <<
 
-!IF EXIST("httpd.mak")
+!IF $(USEMAK) == 1
 
 _cleanr:
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
@@ -220,19 +247,24 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_dbd.mak         CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\aaa
+        $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - 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_authn_anon.mak  CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_authn_core.mak  CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(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_default.mak CFG="mod_authn_default - 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_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)
         $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak   CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_host.mak  CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_authz_user.mak  CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\arch\win32
         $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -249,19 +281,36 @@ _build:
        cd modules\dav\fs
         $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..\..
+       cd modules\dav\lock
+        $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak    CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..\..
        cd modules\debugging
+!IFDEF ALL
         $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak   CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
         $(MAKE) $(MAKEOPT) -f mod_dumpio.mak      CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-       cd modules\experimental
+       cd modules\echo
+!IFDEF ALL
+        $(MAKE) $(MAKEOPT) -f mod_echo.mak        CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+       cd ..\..
+!IFDEF ALL
+       cd modules\examples
+        $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak  CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
+!ENDIF
        cd modules\filters
         $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - 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)
+        $(MAKE) $(MAKEOPT) -f mod_substitute.mak  CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\generators
         $(MAKE) $(MAKEOPT) -f mod_asis.mak        CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -306,6 +355,7 @@ _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_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)
        cd ..\..
@@ -323,6 +373,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f httxt2dbm.mak       CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..
@@ -331,7 +382,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
 
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
 
 _cleanr:  
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
@@ -341,7 +392,11 @@ _cleand:
 
 _build:
        echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+       devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
+!ELSE
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
+!ENDIF
 !IF EXIST("srclib\openssl")
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
@@ -360,8 +415,13 @@ _cleand:
 
 _build:
        @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+       @msdev Apache.dsw /USEENV /MAKE \
+               "BuildAll - Win32 $(LONG)" $(CTARGET)
+!ELSE
        @msdev Apache.dsw /USEENV /MAKE \
                "BuildBin - Win32 $(LONG)" $(CTARGET)
+!ENDIF
 !IF "$(CTARGET)" == "/CLEAN"
        @cd srclib\apr-iconv
        @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
@@ -387,19 +447,25 @@ _copybin:
        copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
        copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll)  "$(inst_dll)" <.y
        copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll)    "$(inst_dll)" <.y
+       copy modules\aaa\$(LONG)\mod_access_compat.$(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_authn_anon.$(src_so)       "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_authn_core.$(src_so)       "$(inst_so)" <.y
        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_default.$(src_so)    "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authn_file.$(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
        copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so)        "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_default.$(src_so)    "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so)  "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_host.$(src_so)       "$(inst_so)" <.y
+       copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so)      "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authz_user.$(src_so)       "$(inst_so)" <.y
-       copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
        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_file_cache.$(src_so)     "$(inst_so)" <.y
@@ -407,9 +473,18 @@ _copybin:
        copy modules\cache\$(LONG)\mod_disk_cache.$(src_so)     "$(inst_so)" <.y
        copy modules\database\$(LONG)\mod_dbd.$(src_so)         "$(inst_so)" <.y
        copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so)        "$(inst_so)" <.y
+       copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so)    "$(inst_so)" <.y
        copy modules\dav\main\$(LONG)\mod_dav.$(src_so)         "$(inst_so)" <.y
+!IFDEF ALL
        copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so)  "$(inst_so)" <.y
+!ENDIF
        copy modules\debugging\$(LONG)\mod_dumpio.$(src_so)     "$(inst_so)" <.y
+!IFDEF ALL
+       copy modules\echo\$(LONG)\mod_echo.$(src_so)            "$(inst_so)" <.y
+       copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
+       copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so)      "$(inst_so)" <.y
+       copy modules\examples\$(LONG)\mod_example_hooks.$(src_so)       "$(inst_so)" <.y
+!ENDIF
        copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
 !IF EXIST("srclib\zlib")
        copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
@@ -418,7 +493,9 @@ _copybin:
 !ENDIF
 !ENDIF
        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
+       copy modules\filters\$(LONG)\mod_substitute.$(src_so)   "$(inst_so)" <.y
        copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
        copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
        copy modules\generators\$(LONG)\mod_cgi.$(src_so)       "$(inst_so)" <.y
@@ -452,21 +529,22 @@ _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_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
 !IF EXIST("srclib\openssl")
-       copy modules\ssl\$(LONG)\mod_ssl.$(src_so)                      "$(inst_so)" <.y
-       $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)        "$(inst_exe)" <.y
-       $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)       "$(inst_dll)" <.y
-       $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)       "$(inst_dll)" <.y
-       copy support\$(LONG)\abs.$(src_exe)     "$(inst_exe)\ab.$(src_exe)" <.y
-!ELSE
-       copy support\$(LONG)\ab.$(src_exe)                              "$(inst_exe)" <.y
+       copy modules\ssl\$(LONG)\mod_ssl.$(src_so)              "$(inst_so)" <.y
+       -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)      "$(inst_dll)" <.y
+       -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)      "$(inst_dll)" <.y
+       -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)       "$(inst_exe)" <.y
+       copy support\$(LONG)\abs.$(src_exe)                     "$(inst_exe)" <.y
 !ENDIF
+       copy support\$(LONG)\ab.$(src_exe)                      "$(inst_exe)" <.y
        copy support\$(LONG)\htcacheclean.$(src_exe)            "$(inst_exe)" <.y
        copy support\$(LONG)\htdbm.$(src_exe)                   "$(inst_exe)" <.y
        copy support\$(LONG)\htdigest.$(src_exe)                "$(inst_exe)" <.y
        copy support\$(LONG)\htpasswd.$(src_exe)                "$(inst_exe)" <.y
+       copy support\$(LONG)\httxt2dbm.$(src_exe)               "$(inst_exe)" <.y
        copy support\$(LONG)\logresolve.$(src_exe)              "$(inst_exe)" <.y
        copy support\$(LONG)\rotatelogs.$(src_exe)              "$(inst_exe)" <.y
        copy support\win32\$(LONG)\ApacheMonitor.$(src_exe)     "$(inst_exe)" <.y
@@ -489,6 +567,8 @@ _install:
        -mkdir "$(INSTDIR)\cgi-bin"
        -mkdir "$(INSTDIR)\conf"
        -mkdir "$(INSTDIR)\conf\extra"
+       -mkdir "$(INSTDIR)\conf\original"
+       -mkdir "$(INSTDIR)\conf\original\extra"
        -mkdir "$(INSTDIR)\error"
        -mkdir "$(INSTDIR)\htdocs"
        -mkdir "$(INSTDIR)\manual"
@@ -497,7 +577,6 @@ _install:
        -mkdir "$(INSTDIR)\lib"
        -mkdir "$(INSTDIR)\logs"
        -mkdir "$(INSTDIR)\modules"
-       -mkdir "$(INSTDIR)\proxy"
        -mkdir "$(INSTDIR)\symbols"
        -mkdir "$(INSTDIR)\symbols\exe"
        -mkdir "$(INSTDIR)\symbols\dll"
@@ -509,6 +588,7 @@ _install:
        copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
        copy README       "$(INSTDIR)\README.txt" <.y
 !IF EXIST("srclib\openssl")
+       -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
        type << >> "$(INSTDIR)\NOTICE.txt"
 
   This binary distribution includes cryptographic software written by
@@ -519,19 +599,19 @@ _install:
        -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
 BEGIN {
     print "";
-    print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
+    print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
     print "";
     while ( getline > 0 ) {
        print $$0;
    }
 }
 <<
-       copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
+       copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
 
- Apache HTTP Server 2.0 Limited OpenSSL Distribution
+ Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
  This binary distribution includes the minimal components of OpenSSL required
- to support mod_ssl for Apache HTTP Server version 2.0 (details are listed 
+ to support mod_ssl for Apache HTTP Server version 2.3 (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
@@ -542,19 +622,24 @@ BEGIN {
 
 --------------------------------------------------------------------------------
 <<
-       copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
+       -copy "$(INSTDIR)\OPENSSL-NEWS.txt" + srclib\openssl\NEWS
+       copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
 
- Apache HTTP Server 2.0 Limited OpenSSL Distribution
+ Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
- This binary installation of OpenSSL is a limited distribution of the documents
- OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
+ This binary installation of OpenSSL is a limited distribution of the
+ files derived from the OpenSSL project:
 
-   libeay32.dll
-   ssleay32.dll
-   openssl.exe
+   LICENSE.txt (includes openssl LICENSE)
+   OPENSSL-NEWS.txt
+   OPENSSL-README.txt
+   conf\openssl.cnf
+   bin\libeay32.dll
+   bin\ssleay32.dll
+   bin\openssl.exe
 
  These are the minimal libraries and tools required to use mod_ssl as 
- distributed with Apache HTTP Server version 2.0.  No library link files, 
+ distributed with Apache HTTP Server version 2.3.  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.
@@ -571,7 +656,9 @@ BEGIN {
  OpenSSL support page.
 
 --------------------------------------------------------------------------------
+
 <<
+       -copy "$(INSTDIR)\OPENSSL-README.txt" + srclib\openssl\README
 !ENDIF
 !IF EXIST("srclib\zlib")
        type << >> "$(INSTDIR)\NOTICE.txt"
@@ -588,9 +675,9 @@ BEGIN {
            print "For the mod_deflate zlib compression component:";
            while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
                print $$0;
-            }
-            exit 0;
-        }
+           }
+           exit 0;
+       }
     }
     exit 1;
 }
@@ -602,7 +689,7 @@ BEGIN {
                inst_dll="$(INSTDIR)\bin"                              \
                inst_so="$(INSTDIR)\modules"
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
-               _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-"  \
+               _copybin src_exe=pdb src_dll=pdb src_so=pdb            \
                inst_exe="$(INSTDIR)\bin"                              \
                inst_dll="$(INSTDIR)\bin"                              \
                inst_so="$(INSTDIR)\modules"
@@ -629,16 +716,30 @@ BEGIN {
        xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
        xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
        xcopy docs\manual       "$(INSTDIR)\manual" /s /d < .a
-       xcopy srclib\apr-util\xml\expat\lib\expat.h     "$(INSTDIR)\include" /d < .a
-       xcopy srclib\apr\include\*.h                    "$(INSTDIR)\include" /d < .a
-       xcopy srclib\apr-util\include\*.h               "$(INSTDIR)\include" /d < .a
-       xcopy include\*.h                               "$(INSTDIR)\include" /d < .a
-       copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
-       copy srclib\apr\Lib$(SHORT)\apr_src.pdb         "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
+       for %f in ( \
+               srclib\apr-util\xml\expat\lib\expat.h \
+               srclib\apr\include\*.h \
+               srclib\apr-util\include\*.h \
+               include\*.h \
+               os\win32\os.h \
+               server\mpm\winnt\mpm*.h \
+               modules\aaa\mod_auth.h \
+               modules\database\mod_dbd.h \
+               modules\dav\main\mod_dav.h \
+               modules\filters\mod_include.h \
+               modules\generators\mod_cgi.h \
+               modules\generators\mod_status.h \
+               modules\loggers\mod_log_config.h \
+               modules\http\mod_core.h \
+               modules\proxy\mod_proxy.h \
+               modules\ssl\mod_ssl.h ) do \
+           @copy %f "$(INSTDIR)\include" < .y > nul
+       copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
+       copy srclib\apr\Lib$(SHORT)\apr-1.pdb           "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb  "$(INSTDIR)\lib" <.y
        copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
        copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
        copy srclib\apr\$(LONG)\libapr-1.exp            "$(INSTDIR)\lib" <.y
        copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
@@ -649,65 +750,10 @@ BEGIN {
        copy $(LONG)\libhttpd.lib                       "$(INSTDIR)\lib" <.y
        copy modules\dav\main\$(LONG)\mod_dav.exp       "$(INSTDIR)\lib" <.y
        copy modules\dav\main\$(LONG)\mod_dav.lib       "$(INSTDIR)\lib" <.y
-       echo Y >.y
        for %f in ( charset.conv magic mime.types ) do ( \
-         copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
-         if not exist "$(INSTDIR)\conf\%f" \
-           copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
-       )
-       copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
-       -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@@ServerRoot@@/, serverroot );
-       gsub( /@@ServerName@@/, "$(SERVERNAME)" );
-       gsub( /@@Port@@/, "$(PORT)" );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\httpd.conf" \
-           copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
-       for %f in ( docs\conf\extra\*.in ) do ( \
-         copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
-         awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /SSLMutex  file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
-       gsub( /@@ServerRoot@@/,   serverroot );
-       gsub( /@exp_cgidir@/,     serverroot "/cgi-bin" );
-       gsub( /@exp_sysconfdir@/, serverroot "/conf" );
-       gsub( /@exp_errordir@/,   serverroot "/error" );
-       gsub( /@exp_htdocsdir@/,  serverroot "/htdocs" );
-       gsub( /@exp_iconsdir@/,   serverroot "/icons" );
-       gsub( /@exp_logfiledir@/, serverroot "/logs" );
-       gsub( /@exp_runtimedir@/, serverroot "/logs" );
-       gsub( /@exp_manualdir@/,  serverroot "/manual" );
-       gsub( /@rel_runtimedir@/, "logs" );
-       gsub( /@rel_logfiledir@/, "logs" );
-       gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
-       gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
-       gsub( /@@ServerName@@/, "$(SERVERNAME)" );
-       gsub( /@@Port@@/, "$(PORT)" );
-       gsub( /443/, "$(SSLPORT)" );
-       print $$0;
-    }
-<<
-       for %f in ( docs\conf\extra\*.in ) do ( \
-         if not exist "$(INSTDIR)\conf\extra\%~nf" \
-           copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
-       )
+         copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
+       awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
+           $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/ 
        copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
        -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {