]> granicus.if.org Git - apache/blobdiff - Makefile.win
Shift declaration logic of LDAP_DECLARE to ap_ldap.h from util_ldap.h
[apache] / Makefile.win
index e0836d5dfa2b96bc2707479e15bc527a51419154..1d3f025617a741bd84d4e6939c32255de02840f4 100644 (file)
@@ -1,8 +1,8 @@
 # Makefile for Windows NT and Windows 95/98/2000
 
 # Targets are:
-#   _apacher   - build Apache in Release mode
-#   _apached   - build Apache in Debug mode
+#   _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
 # The following install defaults may be customized;
 #
 #   Option      Default
-#   INSTDIR     /Apache23
+#   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
 #
+# Provide a DBD_LIST argument after configuring LIB and INCLUDE with
+# the SDK paths of the corresponding client support libraries.
+# The ODBC driver is always built on Windows
+#
+#     DBD_LIST="sqlite3 pgsql oracle mysql freetds"
+#
+# Provide a DBM_LIST argument after configuring LIB and INCLUDE with
+# the SDK paths of the corresponding client support libraries.
+# The sdbm driver is always built in.
+#
+#     DBM_LIST="db gdbm"
+#
 # For example;
 #
 #   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
@@ -43,13 +57,13 @@ USEMAK=0
 USEDSW=1
 !ENDIF
 
-default: _apacher
+default: _buildr
 
 !IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
 CTARGET=/build
 !ENDIF
 
-!IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
+!IF !EXIST("srclib\apr") || (!(EXIST("srclib\apr\include\apu.hw") || !EXIST("srclib\apr-util")) && !EXIST("srclib\apr-iconv"))
 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
 !MESSAGE Apache cannot build without these libraries!
@@ -57,9 +71,20 @@ CTARGET=/build
 !ERROR Need srclib\  apr, apr-iconv and apr-util
 !ENDIF
 
-# Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
-#      the build, since conditional dependencies aren't supported.
+!IF !EXIST("srclib\pcre")
+!MESSAGE Please check out or download and unpack the current PCRE library source
+!MESSAGE under your srclib dir, and compile the pcre.dll with CMake options
+!MESSAGE BUILD_SHARED_LIBS and CMAKE_BUILD_TYPE RelWithDebInfo.
+!MESSAGE Apache cannot build without this library!
+!MESSAGE 
+!ERROR Need srclib\pcre
+!ENDIF
+
+
+# Note; _tryfoo: blocks are used only by the msvc developer studio environment 
+#      to 'fix up' the build, since conditional dependencies aren't supported.
 #
+
 !IF EXIST("srclib\openssl")
 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
 SSLBIN=out32dll.dbg
@@ -95,6 +120,33 @@ _tryssl:
        @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
        @echo Available from http://www.openssl.org/
 !ENDIF
+#     NOT EXIST("srclib\openssl")
+
+!IF EXIST("srclib\serf")
+
+_tryserf:
+!IF $(USEMAK) == 1
+       cd modules\proxy
+       $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+!ELSEIF $(USESLN) == 1
+       devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_serf
+!ELSE
+       @msdev Apache.dsw /USEENV /MAKE \
+               "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+#     NOT EXIST("srclib\serf")
+
+_tryserf:
+       @echo -----
+       @echo mod_serf will not build unless libserf.dll is built in srclib\serf
+       @echo For purposes of alpha, libserf release 0.3.0 works, but only with
+       @echo http://people.apache.org/~wrowe/fixserf-win32-0.3.0.patch
+
+!ENDIF
+#     NOT EXIST("srclib\serf")
 
 !IF EXIST("srclib\zlib")
 
@@ -115,17 +167,73 @@ _tryzlib:
 
 _tryzlib:
        @echo -----
-       @echo mod_deflate will not build unless zlib is installed in srclib\zlib.  
+       @echo mod_deflate will not build unless zlib is built in srclib\zlib.  
        @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
        @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
 
 !ENDIF
 
+
+!IF EXIST("srclib\lua")
+
+_trylua:
+!IF $(USEMAK) == 1
+       cd modules\lua
+       $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+!ELSEIF $(USESLN) == 1
+       devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_lua
+!ELSE
+       @msdev Apache.dsw /USEENV /MAKE \
+               "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+#     NOT EXIST("srclib\lua")
+
+_trylua:
+       @echo -----
+       @echo mod_lua will not build unless lua is installed in srclib\lua.
+       @echo Version 5.1 includes an etc\luavs.bat that will satisfy this requirement.
+
+!ENDIF
+
+
+_trydb:
+!IF $(USEMAK) == 1
+       cd srclib\apr-util\dbd
+       for %d in (odbc $(DBD_LIST)) do \
+         $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\dbm
+       for %d in ($(DBM_LIST) x) do if not %d == x \
+         $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..\..
+!ELSEIF $(USESLN) == 1
+       for %d in (odbc $(DBD_LIST)) do \
+         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
+       for %d in ($(DBM_LIST) x) do if not %d == x \
+         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
+!ELSE
+       @for %d in (odbc $(DBD_LIST)) do \
+         msdev Apache.dsw /USEENV /MAKE \
+               "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
+       @for %d in ($(DBM_LIST) x) do if not %d == x \
+         msdev Apache.dsw /USEENV /MAKE \
+               "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+
 !IF "$(INSTDIR)" == ""
 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
@@ -136,11 +244,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,10 +277,10 @@ _browse:
          bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
        cd ..
 
-_apacher: 
+_buildr: 
        @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
 
-_apached: 
+_buildd: 
        @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
 
 installr: 
@@ -219,10 +329,17 @@ _build:
        cd ..\..\..
         $(MAKE) $(MAKEOPT) -f aprutil.mak         CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f libaprutil.mak      CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-       cd ..\..
-       cd srclib\pcre
-        $(MAKE) $(MAKEOPT) -f dftables.mak        CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f pcre.mak            CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ldap
+        $(MAKE) $(MAKEOPT) -f apr_ldap.mak        CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..
+       cd dbd
+         for %d in (odbc $(DBD_LIST)) do \
+           $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak   CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..
+       cd dbm
+         for %d in ($(DBM_LIST) x) do if not %d == x \
+           $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak   CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..
        cd ..\..
        cd server
         $(MAKE) $(MAKEOPT) -f gen_test_char.mak   CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -240,17 +357,16 @@ _build:
         $(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_auth_form.mak   CFG="mod_auth_form - 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)
@@ -261,9 +377,19 @@ _build:
        cd ..\..\..
        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_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_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)
+        $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\core
+        $(MAKE) $(MAKEOPT) -f mod_watchdog.mak    CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\cluster
+        $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak   CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\dav\main
         $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -287,15 +413,14 @@ _build:
        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.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)
+        $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak    CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
 !ENDIF
-       cd modules\experimental
-        $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-       cd ..\..
        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)
 !IF EXIST("srclib\zlib")
         $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -303,6 +428,12 @@ _build:
         $(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_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)
+        $(MAKE) $(MAKEOPT) -f mod_request.mak     CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_sed.mak         CFG="mod_sed - 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)
@@ -319,6 +450,11 @@ _build:
         $(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 ..\..
+!IF EXIST("srclib\lua")
+       cd modules\lua
+        $(MAKE) $(MAKEOPT) -f mod_lua.mak         CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+!ENDIF
        cd modules\mappers
         $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_alias.mak       CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -337,6 +473,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_headers.mak     CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_ident.mak       CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak  CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_remoteip.mak    CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_setenvif.mak    CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_unique_id.mak   CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -350,8 +487,35 @@ _build:
         $(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)
+!IF EXIST("srclib\serf")
+        $(MAKE) $(MAKEOPT) -f mod_serf.mak        CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+       cd ..\..
+       cd modules\proxy\balancers
+        $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak  CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak  CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..\..
+!IFDEF ALL
+       cd modules\proxy\examples
+        $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..\..
+!ENDIF
+       cd modules\session
+        $(MAKE) $(MAKEOPT) -f mod_session.mak        CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak    CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\slotmem
+        $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak  CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak    CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
 !IF EXIST("srclib\openssl")
+#      cd modules\session
+#       $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+#      cd ..\..
        cd modules\ssl
         $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
@@ -361,6 +525,7 @@ _build:
 !ENDIF
        cd support
         $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+#       $(MAKE) $(MAKEOPT) -f fcgistarter.mak     CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f htcacheclean.mak    CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -396,6 +561,9 @@ _build:
 !IF EXIST("srclib\zlib")
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
 !ENDIF
+!IF EXIST("srclib\lua")
+       devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_lua
+!ENDIF
 
 !ELSE
 
@@ -429,6 +597,10 @@ _build:
        @msdev Apache.dsw /USEENV /MAKE \
                "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
+!IF EXIST("srclib\lua")
+       @msdev Apache.dsw /USEENV /MAKE \
+               "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
 
 !ENDIF
 
@@ -439,30 +611,46 @@ _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 srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
+!IF EXIST("srclib\serf")
+       copy srclib\serf\$(LONG)\libserf.$(src_dll)             "$(inst_dll)" <.y
+!ENDIF
+       for %d in (odbc $(DBD_LIST)) do ( \
+         copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
+       )
+       for %d in ($(DBM_LIST) x) do if not %d == x ( \
+         copy srclib\apr-util\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
+       )
+       copy srclib\pcre\pcre.$(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_auth_form.$(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\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_file_cache.$(src_so)     "$(inst_so)" <.y
-       copy modules\cache\$(LONG)\mod_mem_cache.$(src_so)      "$(inst_so)" <.y
-       copy modules\cache\$(LONG)\mod_disk_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_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
        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
@@ -473,11 +661,12 @@ _copybin:
        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
+       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
+       copy modules\examples\$(LONG)\mod_example_ipc.$(src_so)    "$(inst_so)" <.y
 !ENDIF
-       copy modules\experimental\$(LONG)\mod_substitute.$(src_so)      "$(inst_so)" <.y
+       copy modules\filters\$(LONG)\mod_buffer.$(src_so)       "$(inst_so)" <.y
        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
@@ -488,6 +677,12 @@ _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
+       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
+       copy modules\filters\$(LONG)\mod_request.$(src_so)      "$(inst_so)" <.y
+       copy modules\filters\$(LONG)\mod_sed.$(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
@@ -498,6 +693,12 @@ _copybin:
        copy modules\loggers\$(LONG)\mod_log_config.$(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")
+       copy modules\lua\$(LONG)\mod_lua.$(src_so)              "$(inst_so)" <.y
+!IF EXIST("srclib\lua\src\lua51.$(src_dll)")
+       copy srclib\lua\src\lua51.$(src_dll)                    "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
        copy modules\mappers\$(LONG)\mod_actions.$(src_so)      "$(inst_so)" <.y
        copy modules\mappers\$(LONG)\mod_alias.$(src_so)        "$(inst_so)" <.y
        copy modules\mappers\$(LONG)\mod_dir.$(src_so)          "$(inst_so)" <.y
@@ -513,6 +714,7 @@ _copybin:
        copy modules\metadata\$(LONG)\mod_headers.$(src_so)     "$(inst_so)" <.y
        copy modules\metadata\$(LONG)\mod_ident.$(src_so)       "$(inst_so)" <.y
        copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so)  "$(inst_so)" <.y
+       copy modules\metadata\$(LONG)\mod_remoteip.$(src_so)    "$(inst_so)" <.y
        copy modules\metadata\$(LONG)\mod_setenvif.$(src_so)    "$(inst_so)" <.y
        copy modules\metadata\$(LONG)\mod_unique_id.$(src_so)   "$(inst_so)" <.y
        copy modules\metadata\$(LONG)\mod_usertrack.$(src_so)   "$(inst_so)" <.y
@@ -524,15 +726,32 @@ _copybin:
        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
+!IF EXIST("srclib\serf")
+       copy modules\proxy\$(LONG)\mod_serf.$(src_so)           "$(inst_so)" <.y
+!ENDIF
+       copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
+       copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
+       copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so)  "$(inst_so)" <.y
+       copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so)  "$(inst_so)" <.y
+!IFDEF ALL
+       copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
+!ENDIF
+       copy modules\session\$(LONG)\mod_session.$(src_so)        "$(inst_so)" <.y
+       copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
+       copy modules\session\$(LONG)\mod_session_dbd.$(src_so)    "$(inst_so)" <.y
+       copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so)    "$(inst_so)" <.y
+       copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(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\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.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)\fcgistarter.$(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
@@ -560,6 +779,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"
@@ -568,37 +789,51 @@ _install:
        -mkdir "$(INSTDIR)\lib"
        -mkdir "$(INSTDIR)\logs"
        -mkdir "$(INSTDIR)\modules"
-       -mkdir "$(INSTDIR)\proxy"
-       -mkdir "$(INSTDIR)\symbols"
-       -mkdir "$(INSTDIR)\symbols\exe"
-       -mkdir "$(INSTDIR)\symbols\dll"
-       -mkdir "$(INSTDIR)\symbols\so"
        copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
        copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
        copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
        copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
        copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
        copy README       "$(INSTDIR)\README.txt" <.y
+       type << >> "$(INSTDIR)\NOTICE.txt"
+
+Regular expression support is provided by the PCRE library package,
+which is open source software, written by Philip Hazel, and copyright
+by the University of Cambridge, England. The original software is
+available from
+  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+<<
+       -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+    print "";
+    print "For the pcre.dll component:";
+    print "";
+    while ( getline > 0 ) {
+       if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
+       print $$0;
+   }
+}
+<<
 !IF EXIST("srclib\openssl")
-       copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
+       -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
        type << >> "$(INSTDIR)\NOTICE.txt"
 
-  This binary distribution includes cryptographic software written by
-  Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
-  (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
-  for use in the OpenSSL Toolkit <http://www.openssl.org/>.
+This binary distribution includes cryptographic software written by
+Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
+(tjh@cryptsoft.com), and software developed by the OpenSSL Project 
+for use in the OpenSSL Toolkit <http://www.openssl.org/>.
 <<
        -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.3 Limited OpenSSL Distribution
 
@@ -613,15 +848,18 @@ BEGIN {
  support for the patented encryption methods IDEA, MDC-2 or RC5.
 
 --------------------------------------------------------------------------------
+
 <<
-       copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
+       -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
+           + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
+       copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
 
  Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
  This binary installation of OpenSSL is a limited distribution of the
  files derived from the OpenSSL project:
 
-   OPENSSL-LICENSE.txt
+   LICENSE.txt (includes openssl LICENSE)
    OPENSSL-NEWS.txt
    OPENSSL-README.txt
    conf\openssl.cnf
@@ -647,14 +885,17 @@ BEGIN {
  OpenSSL support page.
 
 --------------------------------------------------------------------------------
+
 <<
+       -copy "$(INSTDIR)\OPENSSL-README.txt" \
+           + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
 !ENDIF
 !IF EXIST("srclib\zlib")
        type << >> "$(INSTDIR)\NOTICE.txt"
 
-  This binary distribution of mod_deflate.so includes zlib compression code
-  <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
-  and Mark Adler (madler@alumni.caltech.edu) .
+This binary distribution of mod_deflate.so includes zlib compression code
+<http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
+and Mark Adler (madler@alumni.caltech.edu) .
 <<
        -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
 BEGIN {
@@ -664,13 +905,33 @@ BEGIN {
            print "For the mod_deflate zlib compression component:";
            while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
                print $$0;
-            }
-            exit 0;
-        }
+           }
+           exit 0;
+       }
     }
     exit 1;
 }
 <<
+!ENDIF
+!IF EXIST("srclib\lua")
+       type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution of mod_lua.so includes the Lua language, 
+developed at Lua.org, a laboratory of the Department of Computer Science 
+of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
+For complete information, visit Lua's web site at http://www.lua.org/
+<<
+       -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+    print "";
+    print "For the mod_lua language component:";
+    print "";
+    while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
+       print $$0;
+    }
+    exit 0;
+}
+<<
 !ENDIF
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
                _copybin src_exe=exe src_dll=dll src_so=so             \
@@ -678,7 +939,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"
@@ -705,85 +966,54 @@ 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 \
+!IF EXIST("srclib\serf")
+               srclib\serf\*.h \
+!ENDIF
+               include\*.h \
+               os\win32\os.h \
+               modules\cache\mod_cache.h \
+               modules\core\mod_so.h \
+               modules\core\mod_watchdog.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\mappers\mod_rewrite.h \
+               modules\proxy\mod_proxy.h \
+               modules\proxy\mod_serf.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
        copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
        copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
        copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
+!IF EXIST("srclib\serf")
+       copy srclib\serf\$(LONG)\libserf.lib            "$(INSTDIR)\lib" <.y
+       copy srclib\serf\$(LONG)\libserf.exp            "$(INSTDIR)\lib" <.y
+!ENDIF
        copy $(LONG)\libhttpd.exp                       "$(INSTDIR)\lib" <.y
        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::/ ) {