pajoye Wed Jul 2 20:54:10 2008 UTC Modified files: /php-src/win32/build confutils.js Log: - MFB: Add summary info http://cvs.php.net/viewvc.cgi/php-src/win32/build/confutils.js?r1=1.73&r2=1.74&diff_format=u Index: php-src/win32/build/confutils.js diff -u php-src/win32/build/confutils.js:1.73 php-src/win32/build/confutils.js:1.74 --- php-src/win32/build/confutils.js:1.73 Wed May 14 03:32:27 2008 +++ php-src/win32/build/confutils.js Wed Jul 2 20:54:10 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -// $Id: confutils.js,v 1.73 2008/05/14 03:32:27 auroraeosrose Exp $ +// $Id: confutils.js,v 1.74 2008/07/02 20:54:10 pajoye Exp $ var STDOUT = WScript.StdOut; var STDERR = WScript.StdErr; @@ -27,6 +27,19 @@ var SYSTEM_DRIVE = WshShell.Environment("Process").Item("SystemDrive"); var PROGRAM_FILES = WshShell.Environment("Process").Item("ProgramFiles"); +var extensions_enabled = new Array(); +var sapi_enabled = new Array(); + +// 12 is VC6 +// 13 is vs.net 2003 +// 14 is vs.net 2005 +// 15 is vs.net 2008 +var VC_VERSIONS = new Array(); +VC_VERSIONS[12] = 'VC6'; +VC_VERSIONS[13] = 'Visual C++ 2003'; +VC_VERSIONS[14] = 'Visual C++ 2005'; +VC_VERSIONS[15] = 'Visual C++ 2008'; + if (PROGRAM_FILES == null) { PROGRAM_FILES = "C:\\Program Files"; } @@ -416,7 +429,11 @@ } } if (force) { - argval = "no"; + if (arg.defval == '') { + argval = ''; + } else { + argval = "no"; + } shared = false; } } @@ -1001,6 +1018,7 @@ } MFO.WriteBlankLines(1); + sapi_enabled[sapi_enabled.length] = [sapiname]; } function ADD_DIST_FILE(filename) @@ -1045,7 +1063,7 @@ if (optional) { if (dep_present == "no") - return; + return false; } var ext_shared = eval("PHP_" + EXT + "_SHARED"); @@ -1053,7 +1071,7 @@ if (dep_shared) { if (!ext_shared) { if (optional) { - return; + return false; } ERROR("static " + extname + " cannot depend on shared " + dependson); } @@ -1064,11 +1082,14 @@ if (dep_present == "no") { if (ext_shared) { WARNING(extname + " has a missing dependency: " + dependson); + return false; } else { ERROR("Cannot build " + extname + "; " + dependson + " not enabled"); + return false; } } - } // dependency is statically built-in to PHP + } // dependency is statically built-in to PHP + return true; } function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) @@ -1160,6 +1181,7 @@ DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')'); } ADD_FLAG("CFLAGS_" + EXT, cflags); + extensions_enabled[extensions_enabled.length] = [extname, shared ? 'shared' : 'static']; } function ADD_SOURCES(dir, file_list, target, obj_dir) @@ -1277,6 +1299,104 @@ outfile.Close(); } +function output_as_table(header, ar_out) +{ + var l = header.length; + var cols = 80; + var fixedlenght = ""; + var t = 0; + var i,j,k,m; + var out = "| "; + var min = new Array(l); + var max = new Array(l); + + if (l != ar_out[0].length) { + STDOUT.WriteLine("Invalid header argument, can't output the table " + l + " " + ar_out[0].length ); + return; + } + for (j=0; j < l; j++) { + var tmax, tmin; + + /*Figure out the max length per column */ + tmin = 0; + tmax = 0; + for (k = 0; k < ar_out.length; k++) { + var t = ar_out[k][j].length; + if (t > tmax) tmax = t; + else if (t < tmin) tmin = t; + } + if (tmax > header[j].length) { + max[j] = tmax; + } else { + max[j] = header[j].length; + } + if (tmin < header[j].length) { + min[j] = header[j].length; + } + } + + sep = ""; + k = 0; + for (i = 0; i < l; i++) { + k += max[i] + 3; + } + k++; + + for (j=0; j < k; j++) { + sep += "-"; + } + + STDOUT.WriteLine(sep); + out = "|"; + for (j=0; j < l; j++) { + out += " " + header[j]; + for (var i = 0; i < (max[j] - header[j].length); i++){ + out += " "; + } + out += " |"; + } + STDOUT.WriteLine(out); + + STDOUT.WriteLine(sep); + + out = "|"; + for (i=0; i < ar_out.length; i++) { + line = ar_out[i]; + for (j=0; j < l; j++) { + out += " " + line[j]; + for (var k = 0; k < (max[j] - line[j].length); k++){ + out += " "; + } + out += " |"; + } + STDOUT.WriteLine(out); + out = "|"; + } + + STDOUT.WriteLine(sep); +} + +function write_summary() +{ + var ar = new Array(); + + STDOUT.WriteBlankLines(2); + + STDOUT.WriteLine("Enabled extensions:"); + output_as_table(["Extension", "Mode"], extensions_enabled); + STDOUT.WriteBlankLines(2); + + STDOUT.WriteLine("Enabled SAPI:"); + output_as_table(["Sapi Name"], sapi_enabled); + STDOUT.WriteBlankLines(2); + + ar[0] = ['Compiler', VC_VERSIONS[VCVERS]]; + ar[1] = ['Architecture', X64 ? 'x64' : 'x86']; + + output_as_table(["",""], ar); + STDOUT.WriteBlankLines(2); +} + function generate_files() { var i, dir, bd, last; @@ -1302,15 +1422,16 @@ FSO.CreateFolder(bd); } } - + STDOUT.WriteLine("Generating files..."); generate_makefile(); generate_internal_functions(); generate_config_h(); - - STDOUT.WriteLine("Done."); STDOUT.WriteBlankLines(1); + + write_summary(); + if (PHP_SNAPSHOT_BUILD != "no") { STDOUT.WriteLine("Type 'nmake snap' to build a PHP snapshot"); } else { @@ -1467,6 +1588,11 @@ } } +function MESSAGE(msg) +{ + STDOUT.WriteLine("" + msg); +} + function ERROR(msg) { STDERR.WriteLine("ERROR: " + msg);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php