mirror of
https://github.com/php/php-src.git
synced 2024-11-24 18:34:21 +08:00
use /Ox flag for release build (all optimizations on).
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.
This commit is contained in:
parent
b842917d84
commit
6201a56070
@ -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');
|
||||
}
|
||||
|
@ -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 ');
|
||||
}
|
||||
|
@ -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', '');
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user