]> granicus.if.org Git - apache/blobdiff - Makefile.win
* Ensure refresh parameter is numeric to prevent a possible XSS attack caused
[apache] / Makefile.win
index 11ff281c87d1654074f4e7a54879edd3beca6f59..df916833a26ef17fc4679df81c8dc093169c01be 100644 (file)
 # 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
 #
@@ -124,8 +126,14 @@ _tryzlib:
 !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 +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]'
@@ -523,14 +533,13 @@ _copybin:
        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
@@ -558,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"
@@ -566,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"
@@ -578,7 +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
+       -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
        type << >> "$(INSTDIR)\NOTICE.txt"
 
   This binary distribution includes cryptographic software written by
@@ -596,7 +606,7 @@ BEGIN {
    }
 }
 <<
-       copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
+       copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
 
  Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
@@ -612,7 +622,8 @@ 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.3 Limited OpenSSL Distribution
 
@@ -645,7 +656,9 @@ BEGIN {
  OpenSSL support page.
 
 --------------------------------------------------------------------------------
+
 <<
+       -copy "$(INSTDIR)\OPENSSL-README.txt" + srclib\openssl\README
 !ENDIF
 !IF EXIST("srclib\zlib")
        type << >> "$(INSTDIR)\NOTICE.txt"
@@ -662,9 +675,9 @@ BEGIN {
            print "For the mod_deflate zlib compression component:";
            while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
                print $$0;
-            }
-            exit 0;
-        }
+           }
+           exit 0;
+       }
     }
     exit 1;
 }
@@ -676,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"
@@ -703,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
@@ -723,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::/ ) {