wez             Thu Dec  4 08:38:48 2003 EDT

  Modified files:              
    /php-src/ext/libxml config.w32 
    /php-src/sapi/apache        config.w32 
    /php-src/sapi/isapi config.w32 
    /php-src/win32/build        buildconf.js confutils.js template.rc 
  Log:
  Fix libxml to use static lib if found.
  Disable apache and isapi by default.
  Add some smarts so that we can really build extensions and SAPI found in 
php-src/pecl and/or php-src/../pecl.
  Only include a logo in the resources if we are building an .exe.
  
  
Index: php-src/ext/libxml/config.w32
diff -u php-src/ext/libxml/config.w32:1.3 php-src/ext/libxml/config.w32:1.4
--- php-src/ext/libxml/config.w32:1.3   Wed Dec  3 09:29:42 2003
+++ php-src/ext/libxml/config.w32       Thu Dec  4 08:38:45 2003
@@ -1,16 +1,17 @@
-// $Id: config.w32,v 1.3 2003/12/03 14:29:42 wez Exp $
+// $Id: config.w32,v 1.4 2003/12/04 13:38:45 wez Exp $
 // vim:ft=javascript
 
 ARG_WITH("libxml", "LibXML support", "yes");
 
 if (PHP_LIBXML == "yes") {
-       EXTENSION("libxml", "libxml.c", false /* never shared */);
-       AC_DEFINE("HAVE_LIBXML", 1, "LibXML support");
 
-       CHECK_LIB("iconv.lib", "libxml");
-       CHECK_LIB("libxml2.lib", "libxml");
-       CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS");
-       ADD_FLAG("CFLAGS", "/D LIBXML_THREAD_ENABLED");
+       if ((CHECK_LIB("libxml2_a.lib", "libxml") || CHECK_LIB("libxml2.lib", 
"libxml")) &&
+                       CHECK_LIB("iconv.lib", "libxml") &&
+                       CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS")) {
+               EXTENSION("libxml", "libxml.c", false /* never shared */);
+               AC_DEFINE("HAVE_LIBXML", 1, "LibXML support");
+               ADD_FLAG("CFLAGS", "/D LIBXML_THREAD_ENABLED");
+       }
 }
 
 
Index: php-src/sapi/apache/config.w32
diff -u php-src/sapi/apache/config.w32:1.4 php-src/sapi/apache/config.w32:1.5
--- php-src/sapi/apache/config.w32:1.4  Wed Dec  3 09:29:44 2003
+++ php-src/sapi/apache/config.w32      Thu Dec  4 08:38:45 2003
@@ -1,7 +1,7 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.4 2003/12/03 14:29:44 wez Exp $
+// $Id: config.w32,v 1.5 2003/12/04 13:38:45 wez Exp $
 
-ARG_ENABLE('apache', 'Build Apache 1.3.x version of PHP', 'yes');
+ARG_ENABLE('apache', 'Build Apache 1.3.x version of PHP', 'no');
 
 ARG_WITH('apache-includes', 'Where to find Apache 1.3 headers', null);
 ARG_WITH('apache-libs', 'Where to find Apache 1.3 libraries', null);
Index: php-src/sapi/isapi/config.w32
diff -u php-src/sapi/isapi/config.w32:1.1 php-src/sapi/isapi/config.w32:1.2
--- php-src/sapi/isapi/config.w32:1.1   Tue Dec  2 18:17:04 2003
+++ php-src/sapi/isapi/config.w32       Thu Dec  4 08:38:46 2003
@@ -1,7 +1,7 @@
 // vim:ft=javascript
-// $Id: config.w32,v 1.1 2003/12/02 23:17:04 wez Exp $
+// $Id: config.w32,v 1.2 2003/12/04 13:38:46 wez Exp $
 
-ARG_ENABLE('isapi', 'Build ISAPI version of PHP', 'yes');
+ARG_ENABLE('isapi', 'Build ISAPI version of PHP', 'no');
 
 if (PHP_ISAPI == "yes") {
        SAPI('isapi', 'php4isapi.c', 'php' + PHP_VERSION + 'isapi.dll', '/D 
PHP4ISAPI_EXPORTS');
Index: php-src/win32/build/buildconf.js
diff -u php-src/win32/build/buildconf.js:1.4 php-src/win32/build/buildconf.js:1.5
--- php-src/win32/build/buildconf.js:1.4        Wed Dec  3 20:59:46 2003
+++ php-src/win32/build/buildconf.js    Thu Dec  4 08:38:47 2003
@@ -1,4 +1,4 @@
-// $Id: buildconf.js,v 1.4 2003/12/04 01:59:46 wez Exp $
+// $Id: buildconf.js,v 1.5 2003/12/04 13:38:47 wez Exp $
 /*
   +----------------------------------------------------------------------+
   | PHP Version 5                                                        |
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: buildconf.js,v 1.4 2003/12/04 01:59:46 wez Exp $ */
+/* $Id: buildconf.js,v 1.5 2003/12/04 13:38:47 wez Exp $ */
 // This generates a configure script for win32 build
 
 WScript.StdOut.WriteLine("Rebuilding configure.js");
@@ -25,6 +25,7 @@
 var C = FSO.CreateTextFile("configure.js", true);
 
 var modules = "";
+var seen = new Array();
 
 function file_get_contents(filename)
 {
@@ -42,12 +43,34 @@
 
        var f = FSO.GetFolder(dirname);
        var     fc = new Enumerator(f.SubFolders);
-       var c;
+       var c, i, ok, n;
        for (; !fc.atEnd(); fc.moveNext())
        {
+               ok = true;
+               /* check if we already picked up a module with the same dirname;
+                * if we have, don't include it here */
+               n = FSO.GetFileName(fc.item());
+               
+               if (n == 'CVS' || n == 'tests')
+                       continue;
+                       
+       //      WScript.StdOut.WriteLine("checking " + dirname + "/" + n);
+               for (i = 0; i < seen.length; i++) {
+                       if (seen[i] == n) {
+                               ok = false;
+                               break;
+                       }
+               }
+               if (!ok) {
+                       WScript.StdOut.WriteLine("Skipping " + dirname + "/" + n + " 
-- already have a module with that name");
+                       continue;
+               }
+               seen[seen.length] = n;
+                       
                c = FSO.BuildPath(fc.item(), "config.w32");
                if (FSO.FileExists(c)) {
                        //WScript.StdOut.WriteLine(c);
+                       modules += "configure_module_dirname = 
condense_path(FSO.GetParentFolderName('" + c.replace(new RegExp('(["\\\\])', "g"), 
'\\$1') + "'));\r\n";
                        modules += file_get_contents(c);
                }
        }
@@ -69,6 +92,7 @@
 find_config_w32("sapi");
 find_config_w32("ext");
 find_config_w32("pecl");
+find_config_w32("..\\pecl");
 
 // Look for ARG_ENABLE or ARG_WITH calls
 re = new RegExp("(ARG_(ENABLE|WITH)\([^;]+\);)", "gm");
Index: php-src/win32/build/confutils.js
diff -u php-src/win32/build/confutils.js:1.14 php-src/win32/build/confutils.js:1.15
--- php-src/win32/build/confutils.js:1.14       Thu Dec  4 07:34:29 2003
+++ php-src/win32/build/confutils.js    Thu Dec  4 08:38:47 2003
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-// $Id: confutils.js,v 1.14 2003/12/04 12:34:29 rrichards Exp $
+// $Id: confutils.js,v 1.15 2003/12/04 13:38:47 wez Exp $
 
 var STDOUT = WScript.StdOut;
 var STDERR = WScript.StdErr;
@@ -31,8 +31,12 @@
        PROGRAM_FILES = "C:\\Program Files\\";
 }
 
-STDOUT.WriteLine("program files " + PROGRAM_FILES);
+if (!FSO.FileExists("README.CVS-RULES")) {
+       STDERR.WriteLine("Must be run from the root of the php source");
+       WScript.Quit(10);
+}
 
+// TODO: pick this up from configure.in
 var PHP_VERSION = 5;
 
 configure_args = new Array();
@@ -44,6 +48,20 @@
 extension_include_code = "";
 extension_module_ptrs = "";
 
+function condense_path(path)
+{
+       var cd = WshShell.CurrentDirectory;
+
+       path = FSO.GetAbsolutePathName(path);
+
+       if (path.substr(0, cd.length).toLowerCase()
+                       == cd.toLowerCase() &&
+                       (path.charCodeAt(cd.length) == 92 || 
path.charCodeAt(cd.length) == 47)) {
+               return path.substr(cd.length + 1);
+       }
+       return path;
+}
+
 function ConfigureArg(type, optname, helptext, defval)
 {
        var opptype = type == "enable" ? "disable" : "without";
@@ -425,6 +443,7 @@
        var res_prod_name = res_desc;
        var credits;
        var thanks = "";
+       var logo = "";
 
        if (FSO.FileExists(creditspath + '/CREDITS')) {
                credits = FSO.OpenTextFile(creditspath + '/CREDITS', 1);
@@ -437,9 +456,13 @@
                }
                credits.Close();
        }
+
+       if (makefiletarget.match(new RegExp("\\.exe$"))) {
+               logo = " /D WANT_LOGO ";
+       }
        
        MFO.WriteLine("$(BUILD_DIR)\\" + resname + ": win32\\build\\template.rc");
-       MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname +
+       MFO.WriteLine("\t$(RC) /fo $(BUILD_DIR)\\" + resname + logo +
                ' /d FILE_DESCRIPTION="\\"' + res_desc + '\\"" /d FILE_NAME="\\"' + 
makefiletarget +
                '\\"" /d PRODUCT_NAME="\\"' + res_prod_name + '\\"" /d 
THANKS_GUYS="\\"' +
                thanks + '\\"" win32\\build\\template.rc');
@@ -454,7 +477,7 @@
        var ldflags;
        var resname;
 
-       STDOUT.WriteLine("Enabling sapi/" + sapiname);
+       STDOUT.WriteLine("Enabling SAPI " + configure_module_dirname);
 
        MFO.WriteBlankLines(1);
        MFO.WriteLine("# objects for SAPI " + sapiname);
@@ -464,16 +487,16 @@
                ADD_FLAG('CFLAGS_' + SAPI, cflags);
        }
 
-       ADD_SOURCES("sapi/" + sapiname, file_list, sapiname);
+       ADD_SOURCES(configure_module_dirname, file_list, sapiname);
        MFO.WriteBlankLines(1);
        MFO.WriteLine("# SAPI " + sapiname);
        MFO.WriteBlankLines(1);
 
        /* generate a .res file containing version information */
-       resname = generate_version_info_resource(makefiletarget, "sapi/" + sapiname);
+       resname = generate_version_info_resource(makefiletarget, 
configure_module_dirname);
        
        MFO.WriteLine(makefiletarget + ": $(BUILD_DIR)\\" + makefiletarget);
-       MFO.WriteLine("[EMAIL PROTECTED] SAPI " + sapiname + " build complete");
+       MFO.WriteLine("[EMAIL PROTECTED] SAPI " + configure_module_dirname + "/" + 
sapiname + " build complete");
        MFO.WriteLine("$(BUILD_DIR)\\" + makefiletarget + ": $(" + SAPI + 
"_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
 
        if (makefiletarget.match(new RegExp("\\.dll$"))) {
@@ -512,11 +535,11 @@
        }
 
        if (shared) {
-               STDOUT.WriteLine("Enabling ext/" + extname + " [shared]");
+               STDOUT.WriteLine("Enabling extension " + configure_module_dirname + " 
[shared]");
                cflags = "/D COMPILE_DL_" + EXT + " /D " + EXT + "_EXPORTS=1 " + 
cflags;
                ADD_FLAG("CFLAGS_PHP", "/D COMPILE_DL_" + EXT);
        } else {
-               STDOUT.WriteLine("Enabling ext/" + extname);
+               STDOUT.WriteLine("Enabling extension " + configure_module_dirname);
        }
 
        MFO.WriteBlankLines(1);
@@ -524,13 +547,13 @@
        MFO.WriteBlankLines(1);
 
 
-       ADD_SOURCES("ext/" + extname, file_list, extname);
+       ADD_SOURCES(configure_module_dirname, file_list, extname);
        
        MFO.WriteBlankLines(1);
 
        if (shared) {
                dllname = "php_" + extname + ".dll";
-               var resname = generate_version_info_resource(dllname, "ext/" + 
extname);
+               var resname = generate_version_info_resource(dllname, 
configure_module_dirname);
        
                MFO.WriteLine("$(BUILD_DIR)\\" + dllname + ": $(" + EXT + 
"_GLOBAL_OBJS) $(BUILD_DIR)\\$(PHPLIB) $(BUILD_DIR)\\" + resname);
                MFO.WriteLine("\t$(LD) /out:$(BUILD_DIR)\\" + dllname + " 
$(DLL_LDFLAGS) $(LDFLAGS) $(LDFLAGS_" + EXT + ") $(" + EXT + "_GLOBAL_OBJS) 
$(BUILD_DIR)\\$(PHPLIB) $(LIBS_" + EXT + ") $(LIBS) $(BUILD_DIR)\\" + resname);
@@ -559,7 +582,7 @@
                        if (s.match(re)) {
                                c = file_get_contents(s);
                                if (c.match("phpext_")) {
-                                       extension_include_code += '#include "ext/' + 
extname + '/' + FSO.GetFileName(s) + '"\r\n';
+                                       extension_include_code += '#include "' + 
configure_module_dirname + '/' + FSO.GetFileName(s) + '"\r\n';
                                }
                        }
                }
Index: php-src/win32/build/template.rc
diff -u php-src/win32/build/template.rc:1.2 php-src/win32/build/template.rc:1.3
--- php-src/win32/build/template.rc:1.2 Wed Dec  3 21:12:36 2003
+++ php-src/win32/build/template.rc     Thu Dec  4 08:38:47 2003
@@ -1,5 +1,5 @@
 /* This is a template RC file.
- * $Id: template.rc,v 1.2 2003/12/04 02:12:36 wez Exp $
+ * $Id: template.rc,v 1.3 2003/12/04 13:38:47 wez Exp $
  * Do not edit with MSVC */
 #ifdef APSTUDIO_INVOKED
 # error dont edit with MSVC
@@ -15,7 +15,9 @@
 # define THANKS_GUYS ""
 #endif
 
+#ifdef WANT_LOGO
 0 ICON win32\build\php.ico
+#endif
 
 #define XSTRVER4(maj, min, rel, build) #maj "." #min "." #rel "." #build
 #define XSTRVER3(maj, min, rel) #maj "." #min "." #rel

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to