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');
}
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 ');
}
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");
// 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', '');
+----------------------------------------------------------------------+
*/
-// $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;
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;
}
}