]> granicus.if.org Git - php/commitdiff
use /Ox flag for release build (all optimizations on).
authorWez Furlong <wez@php.net>
Fri, 5 Dec 2003 02:41:00 +0000 (02:41 +0000)
committerWez Furlong <wez@php.net>
Fri, 5 Dec 2003 02:41:00 +0000 (02:41 +0000)
If no php_build dir is specified, then look for either of the two
"standard" things in reasonable locations.
Allow CHECK_LIB to search for the "same" library using a ; separated
list of alternatives.
Tweak nsapi config and remove redundant or unused flags.
Add ZTS checks for both isapi and nsapi configs.

sapi/isapi/config.w32
sapi/nsapi/config.w32
win32/build/config.w32
win32/build/confutils.js

index 957fd016355c276743385ca56cdadb5790e9f23d..1a6cfd3be837c7bc9ae6e369fcd91f5be7a38c52 100644 (file)
@@ -4,6 +4,10 @@
 ARG_ENABLE('isapi', 'Build ISAPI version of PHP', 'no');
 
 if (PHP_ISAPI == "yes") {
+       if (PHP_ZTS == "no") {
+               ERROR("ISAPI module requires an --enable-zts build of PHP");
+       }
+
        SAPI('isapi', 'php4isapi.c', 'php' + PHP_VERSION + 'isapi.dll', '/D PHP4ISAPI_EXPORTS');
        ADD_FLAG('LDFLAGS_ISAPI', '/DEF:sapi\\isapi\\php4isapi.def');
 }
index 61bbcd400878847a313384563f45efce4a8ac637..cb5357513c1ed8f2f058aca67dff3c47e3c249dc 100644 (file)
@@ -6,23 +6,21 @@ ARG_ENABLE('nsapi', 'Build NSAPI for Netscape/iPlanet/SunONE webservers', 'no');
 ARG_WITH('nsapi-includes', 'Where to find NSAPI headers', null);
 ARG_WITH('nsapi-libs', 'Where to find NSAPI libraries', null);
 
-if (PHP_NSAPI == "yes") {
+if (PHP_NSAPI != "no") {
 
-       if (!CHECK_HEADER_ADD_INCLUDE("nsapi.h", "CFLAGS_NSAPI", php_usual_include_suspects + ";" + PHP_NSAPI_INCLUDES)) {
+       if (PHP_ZTS == "no") {
+               ERROR("NSAPI module requires an --enable-zts build of PHP");
+       }
+
+       if (!CHECK_HEADER_ADD_INCLUDE("nsapi.h", "CFLAGS_NSAPI",
+                       PHP_NSAPI + ';' + PHP_NSAPI_INCLUDES)) {
                ERROR("Could not find NSAPI headers");
        }
 
-       if (!CHECK_LIB("ns-httpd40.lib", "nsapi", php_usual_lib_suspects + ";" + PHP_NSAPI_LIBS)) {
-               if (!CHECK_LIB("ns-httpd36.lib", "nsapi", php_usual_lib_suspects + ";" + PHP_NSAPI_LIBS)) {
-                       if (!CHECK_LIB("ns-httpd35.lib", "nsapi", php_usual_lib_suspects + ";" + PHP_NSAPI_LIBS)) {
-                               if (!CHECK_LIB("ns-httpd30.lib", "nsapi", php_usual_lib_suspects + ";" + PHP_NSAPI_LIBS)) {
-                                       ERROR("Could not find NSAPI libraries");
-                               }
-                       }
-               }
+       if (!CHECK_LIB("ns-httpd40.lib;ns-httpd36.lib;ns-httpd35.lib;ns-httpd30.lib",
+                       "nsapi", PHP_NSAPI + ";" + PHP_NSAPI_LIBS)) {
+               ERROR("Could not find NSAPI libraries");
        }
        
-       SAPI('nsapi', 'nsapi.c',
-               'php' + PHP_VERSION + 'nsapi.dll',
-               '/D "XP_WIN32" /D "php' + PHP_VERSION + 'nsapi_EXPORTS"');
+       SAPI('nsapi', 'nsapi.c', 'php' + PHP_VERSION + 'nsapi.dll', '/D XP_WIN32 ');
 }
index 800133466486b24aa1cfe8f22028a4f48d1cd6d4..db080d0bcf327b7c7cb638757e504d92210c8971 100644 (file)
@@ -54,7 +54,7 @@ if (PHP_DEBUG == "yes") {
        ADD_FLAG("PHP_LDFLAGS", "/nodefaultlib:msvcrt");
 } else {
        // Equivalent to Release_TSInline build -> best optimization
-       ADD_FLAG("CFLAGS", "/LD /MD /W3 /O2 /D NDebug /D NDEBUG \
+       ADD_FLAG("CFLAGS", "/LD /MD /W3 /Ox /D NDebug /D NDEBUG \
 /D ZEND_WIN32_FORCE_INLINE /GB /GF /D ZEND_DEBUG=0");
        // if you have VS.Net /GS hardens the binary against buffer overruns
        // ADD_FLAG("CFLAGS", "/GS");
@@ -90,6 +90,14 @@ if (PHP_DEBUG == "yes" && PHP_ZTS == "yes") {
 // that we need
 ARG_WITH('php-build', 'Path to where you extracted http://www.php.net/extra/win32build.zip. Assumes that it is a sibling of this source dir (..\\php_build) if not specified', 'no');
 
+if (PHP_PHP_BUILD == 'no') {
+       if (FSO.FolderExists("..\\php_build")) {
+               PHP_PHP_BUILD = "..\\php_build";
+       } else if (FSO.FolderExists("..\\win32build")) {
+               PHP_PHP_BUILD = "..\\win32build";
+       }
+}
+
 ARG_WITH('extra-includes', 'Extra include path to use when building everything', '');
 ARG_WITH('extra-libs', 'Extra library path to use when linking everything', '');
 
index bca6fc508241b41310be03547e62eaafb9d53ce6..a126817b26b267dbc4569af4c4667417f6ca3816 100644 (file)
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-// $Id: confutils.js,v 1.16 2003-12-04 17:03:20 fmk Exp $
+// $Id: confutils.js,v 1.17 2003-12-05 02:41:00 wez Exp $
 
 var STDOUT = WScript.StdOut;
 var STDERR = WScript.StdErr;
@@ -362,33 +362,44 @@ function PATH_PROG(progname, def, additional_paths)
        return place;
 }
 
-function CHECK_LIB(libname, target, path_to_check)
+function CHECK_LIB(libnames, target, path_to_check)
 {
        if (path_to_check == null) {
                path_to_check = php_usual_lib_suspects;
        } else {
                path_to_check += ";" + php_usual_lib_suspects;
        }
-       
-       var p = search_paths(libname, path_to_check, "LIB");
        var have = 0;
+       var p;
+       var i;
+       var libname;
 
-       if (typeof(p) == "string") {
-               ADD_FLAG("LDFLAGS_" + target.toUpperCase(), '/libpath:"' + p + '" ');
-               ADD_FLAG("LIBS_" + target.toUpperCase(), libname);
-               have = 1;
-       } else if (p == true) {
-               ADD_FLAG("LIBS_" + target.toUpperCase(), libname);
-               have = 1;
-       } else {
-               /* not found in the defaults or the explicit paths,
-                * so check the general extra libs; if we find
-                * it here, no need to add another /libpath: for it as we
-                * already have it covered, but we need to add the lib
-                * to LIBS_XXX */
-               if (false != search_paths(libname, PHP_EXTRA_LIBS, null)) {
+       libnames = libnames.split(';');
+       for (i = 0; i < libnames.length; i++) {
+               libname = libnames[i];
+               p = search_paths(libname, path_to_check, "LIB");
+
+               if (typeof(p) == "string") {
+                       ADD_FLAG("LDFLAGS_" + target.toUpperCase(), '/libpath:"' + p + '" ');
                        ADD_FLAG("LIBS_" + target.toUpperCase(), libname);
                        have = 1;
+               } else if (p == true) {
+                       ADD_FLAG("LIBS_" + target.toUpperCase(), libname);
+                       have = 1;
+               } else {
+                       /* not found in the defaults or the explicit paths,
+                        * so check the general extra libs; if we find
+                        * it here, no need to add another /libpath: for it as we
+                        * already have it covered, but we need to add the lib
+                        * to LIBS_XXX */
+                       if (false != search_paths(libname, PHP_EXTRA_LIBS, null)) {
+                               ADD_FLAG("LIBS_" + target.toUpperCase(), libname);
+                               have = 1;
+                       }
+               }
+
+               if (have) {
+                       break;
                }
        }