stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From se...@apache.org
Subject svn commit: r369270 - in /incubator/stdcxx/trunk/etc/config/windows: config.js configure.wsf data.js generate.js generate.wsf makelog.wsf msvc-config.js msvc-config_classes.js runall.wsf summary.js update.wsf
Date Sun, 15 Jan 2006 22:20:03 GMT
Author: sebor
Date: Sun Jan 15 14:19:53 2006
New Revision: 369270

URL: http://svn.apache.org/viewcvs?rev=369270&view=rev
Log:
2006-01-12  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* config.js (Solution): Added version and formatVersion fields.
	* configure.wsf (checkHeadres): Updated the header name for log
	forming mechanism, added include symbol output for "no" cases.
	(runExeTests): Removed include symbol output for "ok" cases.
	* data.js (vc80SolutionName): New global variable.
	* generate.js (defineRWBUILD): Removed as obsolete.
	(fillProjectsFromFolders): Added implementation of the /COPYDLL
	option in the postBuild tool processing.
	(fillSolutionTemplate): Added copiyng of new Solution fields, added
	implementation of the /COPYDLL option into the projectRunExamples
	projectRunTests configuring.
	(fillSolutionTemplateLight): Added copiyng of new Solution fields.
	(generateVCPROJ): New parameter "version."
	(generateSolutionVCImpl): Updated implementation to use new Solution
	fileds, updated call to generateVCPROJ function.
	(readSolutionGUIDs): updated to be able to read .sln files generated
	by MSVC 8.0.
	(solutionVC80): New global variable.
	* generate.wsf (<package>): Added /COPYDLL option description.
	(copyDll): New global variable.
	(readAndCheckArguments): Implemented the /COPYDLL option reading
	* makelog.wsf (buildLogUnicode): New variable.
	(makelog): Added check for Unicode, calls to functions updated.
	(readAndCheckArguments): added buildLogUnicode variable initialization.
	(getLibraryBuildInfo, getTestDriverBuildInfo): updated the call to
	OpenTextFile to work with Unicode files properly.
	* runall.wsf (<package>): Added descriptions for the /COPYDLL and
	/LIBDIR options.
	(currentCfg, copyDll, libdllFolder, libFileName): New variables.
	(readAndCheckArguments): Implemented the reading of the /COPYDLL
	and /LIBDIR options.
	(runAllExamples): Implemented the /COPYDLL option - added command
	for temporary dll copying, calls to readBuildLog function updated
	to support Unicode files.
	* summary.js (readBuildLog): New parameter useUnicode, calls to
	OpenTextFile updated correspondingly.
	(checkForFailures): Mew parameter useUnicode, calls to OpenTextFile
	updated correspondingly.
	* update.wsf (update): Updated error processing.
	(saveModifiedProjecs): New parameter "version", callers updated
	correspondingly, updated to use new Solution fields.
	* msvc-config.js (solutionVC80): New variable.
	(configureToolsVC80): New function.
	(configureToolsConfigure, configureToolsExamples, configureToolsTests,
	configureToolsRwTest): An obsolete comment removed.
	(configureToolsRunExamples, configureToolsRunTests): postBuildTools
	configuration changed as a part of the COPYDLL option implementation.
	* msvc-config_classes.js (CompilerVC80): New class.
	(writeSolutionSettingsCompilerVC80, getCommandLineCompilerVC80): New
	functions.

Modified:
    incubator/stdcxx/trunk/etc/config/windows/config.js
    incubator/stdcxx/trunk/etc/config/windows/configure.wsf
    incubator/stdcxx/trunk/etc/config/windows/data.js
    incubator/stdcxx/trunk/etc/config/windows/generate.js
    incubator/stdcxx/trunk/etc/config/windows/generate.wsf
    incubator/stdcxx/trunk/etc/config/windows/makelog.wsf
    incubator/stdcxx/trunk/etc/config/windows/msvc-config.js
    incubator/stdcxx/trunk/etc/config/windows/msvc-config_classes.js
    incubator/stdcxx/trunk/etc/config/windows/runall.wsf
    incubator/stdcxx/trunk/etc/config/windows/summary.js
    incubator/stdcxx/trunk/etc/config/windows/update.wsf

Modified: incubator/stdcxx/trunk/etc/config/windows/config.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/config.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/config.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/config.js Sun Jan 15 14:19:53 2006
@@ -93,6 +93,8 @@
     this.name = String(name);
     this.configurations = new Collection();
     this.projects = new Collection();
+    this.version = "7.10";
+    this.formatVersion = "8.00";
 }
 
 // perform shallow cloning of a solution

Modified: incubator/stdcxx/trunk/etc/config/windows/configure.wsf
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/configure.wsf?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/configure.wsf (original)
+++ incubator/stdcxx/trunk/etc/config/windows/configure.wsf Sun Jan 15 14:19:53 2006
@@ -676,9 +676,11 @@
         
             // determine which form of the header to #include
             var hdrname = hdr_base + ".h";
+            var hdrname2 = hdr_base + ".h";
             if (!useCHeader && !noNewHeaders)
             {
                 hdrname = "c" + hdr_base;
+                hdrname2 = "<c" + hdr_base + ">";
                 if (!noNamespaces)
                 {
                     std = "std::";
@@ -688,7 +690,7 @@
             removeFile(exeFullName);
             removeFile(objFile);        
             WScript.StdOut.Write("Checking for " + std + funname + "() in "
-                                     + hdrname + "... ");
+                                     + hdrname2 + "... ");
             var sym = "_RWSTD_NO_" + funname.toUpperCase();
             var defines = new Array("CHECK_DECL", "HDRNAME=<" + hdrname + ">"
                                 , "FUNNAME=" + funname
@@ -715,7 +717,7 @@
             {
                 // if a symbol isn't declared in the header,
                 // see if it maybe exists in the library
-                WScript.StdOut.WriteLine("\tno");
+                WScript.StdOut.WriteLine("\tno\t" + sym);
                 appendLineToOutFile("#define " + sym);
                 // that is quite strange because there is no LIBM on Windows?
                 sym = sym + "_IN_LIB" + lib.toUpperCase();
@@ -736,8 +738,8 @@
                 }
                 else
                 {
-                    WScript.StdOut.WriteLine("  no");
                     appendLineToOutFile("#define " + sym);
+                    WScript.StdOut.WriteLine("  no\t\t" + sym);
                 }
             }
         }
@@ -933,6 +935,7 @@
             if (!((result == 0) ^ negate))
             {
                 symbol = "// " + symbol;
+                outSymbol = "";
             }
             appendLineToOutFile(symbol);
             if (descText && descText != "")

Modified: incubator/stdcxx/trunk/etc/config/windows/data.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/data.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/data.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/data.js Sun Jan 15 14:19:53 2006
@@ -835,6 +835,9 @@
 // VC71 solution 
 var vc71SolutionName = "msvc-7.1";
 
+// VC80 solution 
+var vc80SolutionName = "msvc-8.0";
+
 // ICC90 solution 
 var icc90SolutionName = "icc-9.0";
 

Modified: incubator/stdcxx/trunk/etc/config/windows/generate.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/generate.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/generate.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/generate.js Sun Jan 15 14:19:53 2006
@@ -25,7 +25,6 @@
 var testsProjectFolder = "tests";
 
 var defineRWSHARED = "_RWSHARED";
-var defineRWBUILD = "_RWBUILD_std";
 
 var samplesDir = "examples";
 var testsDir = "tests";
@@ -170,18 +169,25 @@
                     var postBuildTool = config.tools[postBuildToolName];
                     if (postBuildTool)
                     {
-                        var libPlatform = libPrj.platforms[platform.name];
-                        var libConfig = 
-                            libPlatform.configurations[config.name];
-                        var dllName = 
-                            libConfig.tools[linkerToolName].outputFile;
-                        var cmdCopyDll = "copy /Y " + includeOffset + 
-                            "..\\lib" + "\\" + dllName + " $(OutDir)\\" + 
-                            dllName;
-                            
-                        postBuildTool.commands.func_remove(varCmdCopyDll);
-                        postBuildTool.commands.add(
-                            varCmdCopyDll, cmdCopyDll);
+                        if (true == copyDll)
+                        {
+                            var libPlatform = libPrj.platforms[platform.name];
+                            var libConfig = 
+                                libPlatform.configurations[config.name];
+                            var dllName = 
+                                libConfig.tools[linkerToolName].outputFile;
+                            var cmdCopyDll = "copy /Y " + includeOffset + 
+                                "..\\lib" + "\\" + dllName + " $(OutDir)\\" + 
+                                dllName;
+                                
+                            postBuildTool.commands.func_remove(varCmdCopyDll);
+                            postBuildTool.commands.add(
+                                varCmdCopyDll, cmdCopyDll);
+                        }
+                        else
+                        {
+                            config.tools.func_remove(postBuildToolName);
+                        }
                     }
                     
                     config.tools.func_remove(compilerToolName);
@@ -338,6 +344,8 @@
     var result = solution.shallowClone();
     result.generateSolution = solution.generateSolution;
     result.checkEnvironment = solution.checkEnvironment;
+    result.version = solution.version;
+    result.formatVersion = solution.formatVersion;
     // clone build configurations
     result.configurations = solution.configurations.clone();
     
@@ -560,6 +568,7 @@
                     var newCfg = oldCfg.shallowClone();
                     newCfg.type = configTypeDll;                                        
                     var tool = oldCfg.tools[customBuildToolName].clone();
+                    var toolMark = oldCfg.tools[postBuildToolName];
                     tool.output = newCfg.outputDir + "\\" + runExamplesLog;
                     
                     tool.command =
@@ -573,8 +582,23 @@
                     tool.command += 
                         " /BUILDTYPE:\"" + newCfg.outputDir + "\"";
                     tool.command += 
+                        " /CONFIG:\"" + result.name + "\"";
+                    tool.command += 
                         " /LOGFILE:\"" + newCfg.outputDir + "\\" 
-                        + runExamplesLog;
+                        + runExamplesLog + "\"";
+                        
+                    if (toolMark)
+                    {
+                        // pass true if it is neccessary to copy dll manually
+                        if (copyDll)
+                            tool.command += " /COPYDLL:false";
+                        else
+                        {
+                            tool.command += " /COPYDLL:true";
+                            tool.command +=  
+                                " /LIBDIR:\"" + outDir + "lib\\" + "\"";
+                        }
+                    }
                                                     
                     newCfg.tools.add(tool.name, tool);
                     // add a fake linker to suppress dependency on output
@@ -588,6 +612,7 @@
                     var newCfg = oldCfg.shallowClone();
                     newCfg.type = configTypeDll;                                        
                     var tool = oldCfg.tools[customBuildToolName].clone();
+                    var toolMark = oldCfg.tools[postBuildToolName];
                     tool.output = newCfg.outputDir + "\\" + runTestsLog;
                     
                     tool.command =
@@ -601,8 +626,23 @@
                     tool.command += 
                         " /BUILDTYPE:\"" + newCfg.outputDir + "\"";
                     tool.command += 
+                        " /CONFIG:\"" + result.name + "\"";
+                    tool.command += 
                         " /LOGFILE:\"" + newCfg.outputDir + "\\" 
-                        + runTestsLog;
+                        + runTestsLog + "\"";
+                        
+                    if (toolMark)
+                    {
+                        // pass true if it is neccessary to copy dll manually
+                        if (copyDll)
+                            tool.command += " /COPYDLL:false";
+                        else
+                        {
+                            tool.command += " /COPYDLL:true";
+                            tool.command +=  
+                                " /LIBDIR:\"" + outDir + "lib\\" + "\"";
+                        }
+                    }
                                                     
                     newCfg.tools.add(tool.name, tool);
                     // add a fake linker to suppress dependency on output
@@ -884,6 +924,8 @@
     var result = solution.shallowClone();
     result.generateSolution = solution.generateSolution;
     result.checkEnvironment = solution.checkEnvironment;
+    result.version = solution.version;
+    result.formatVersion = solution.formatVersion;
     // clone build configurations
     result.configurations = solution.configurations.clone();
     
@@ -933,12 +975,14 @@
             {                
                 project = solution.projects[templateProjName].shallowClone();
                 project.name = projName;
-                
+                    
                 var oldProject = oldProjects[projName];
                 if (! oldProject)
+                {
                     project.id = createUUID();
+                }
                 else
-                    project.id = oldProject.id;
+                    project.id = oldProject.id;                    
                 
                 // add files
                 switch (projName)
@@ -1044,7 +1088,7 @@
 }
 
 // generates solution for the VC
-function generateVCPROJ(project, srcDir, outDir)
+function generateVCPROJ(project, srcDir, outDir, version)
 {
     var projectPath = project.folder.length > 0 ?
         outDir + project.folder + "\\" : outDir + "";
@@ -1064,7 +1108,7 @@
         "<?xml version=\"1.0\" encoding=\"windows-1252\"?>");
     vcproj.WriteLine("<VisualStudioProject");
     vcproj.WriteLine("\tProjectType=\"Visual C++\"");
-    vcproj.WriteLine("\tVersion=\"7.10\"");
+    vcproj.WriteLine("\tVersion=\"" + version + "\"");
     vcproj.WriteLine("\tName=\"" + project.name + "\"");
     vcproj.WriteLine("\tProjectGUID=\"" + project.id +"\"");
     vcproj.WriteLine("\tRootNamespace=\"" + project.name + "\"");
@@ -1175,7 +1219,8 @@
     var sln = fso.CreateTextFile(slnFileName, true, false);
     // header
     sln.WriteLine(
-        "Microsoft Visual Studio Solution File, Format Version 8.00");
+        "Microsoft Visual Studio Solution File, Format Version " + 
+        solution.formatVersion); //8.00");
     for (i in solution.projects)
     {
         var project = solution.projects[i];
@@ -1220,7 +1265,7 @@
             
             if (true == genVCPROJs)
             {
-                generateVCPROJ(project, srcDir, outDir);
+                generateVCPROJ(project, srcDir, outDir, solution.version);
                 logStream.WriteLine(project.name + " saved");
             }
         }
@@ -1523,7 +1568,9 @@
     var solFile = fso.OpenTextFile(solFileName);
     var solLine = solFile.ReadLine();
     if (solLine != 
-        "Microsoft Visual Studio Solution File, Format Version 8.00")
+            "Microsoft Visual Studio Solution File, Format Version 8.00" &&
+        solLine != 
+            "Microsoft Visual Studio Solution File, Format Version 9.00")
     {
         solFile.Close();
         return null;
@@ -1564,6 +1611,10 @@
 var solutionVC71 = getSolution(vc71SolutionName);
 solutionVC71.generateSolution = generateSolutionVC;
 solutionVC71.checkEnvironment = checkEnvironmentVC;
+
+var solutionVC80 = getSolution(vc80SolutionName);
+solutionVC80.generateSolution = generateSolutionVC;
+solutionVC80.checkEnvironment = checkEnvironmentVC;
 
 var solutionICC90 = getSolution(icc90SolutionName);
 solutionICC90.generateSolution = generateSolutionICC;

Modified: incubator/stdcxx/trunk/etc/config/windows/generate.wsf
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/generate.wsf?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/generate.wsf (original)
+++ incubator/stdcxx/trunk/etc/config/windows/generate.wsf Sun Jan 15 14:19:53 2006
@@ -15,17 +15,20 @@
                 name="TOPDIR" required="false" type="string"/>
             <named helpstring="Output directory for modules" 
                 name="BUILDDIR" required="true" type="string"/>
+            <named helpstring="Copy dll to exe option" 
+                name="COPYDLL" required="false" type="string"/>
             <example>cscript generate.wsf /TOPDIR:"C:\stdcxx" 
                 /BUILDDIR:"C:\stdcxx\build" /CONFIG:msvc-7.1
             </example>
             <usage>
 Usage: cscript generate.wsf /CONFIG:@CONFIG 
 /BUILDDIR:@BUILDDIR [/TOPDIR:@TOPDIR] 
-[/BUILDTYPE:@BUILDTYPE] [/BUILDONLY:@BUILDONLY]
+[/BUILDTYPE:@BUILDTYPE] [/BUILDONLY:@BUILDONLY] [/COPYDLL:@COPYDLL]
 where
 @CONFIG is msvc-7.1 or icc-9.0,
 @TOPDIR - stdcxx main directory,
 @BUILDDIR - output directory for a build.
+@COPYDLL - if yes the library dll will be copied to executables folder
             </usage>
         </runtime>
         <object id="fso" progid="Scripting.FileSystemObject"/>
@@ -53,6 +56,7 @@
 var currentCfg = "";
 var buildType = "11d";
 var buildOnly = "";
+var copyDll = false;
 
 var binDir = "\\bin";
 var includeDir= "\\include";
@@ -212,6 +216,15 @@
     if (WScript.Arguments.Named.Exists("BUILDDIR"))
     {
         outDir = WScript.Arguments.Named("BUILDDIR");
+    }
+    
+    if (WScript.Arguments.Named.Exists("COPYDLL"))
+    {
+        var copyOption = WScript.Arguments.Named("COPYDLL");
+        copyOption = copyOption.toLowerCase();
+        
+        if (copyOption == "yes" || copyOption == "y")
+            copyDll = true;
     }
 }
 

Modified: incubator/stdcxx/trunk/etc/config/windows/makelog.wsf
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/makelog.wsf?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/makelog.wsf (original)
+++ incubator/stdcxx/trunk/etc/config/windows/makelog.wsf Sun Jan 15 14:19:53 2006
@@ -48,6 +48,8 @@
 var htmFolderName = "temphtm";
 var buildSummaryPrefix = "msvc-7.1-";
 
+var buildLogUnicode = 0;
+
 var libBuildDir = "src";
 var examplesBuildDir = "examples";
 var testsBuildDir = "tests";
@@ -63,14 +65,15 @@
     var sumTempFileNameEx = buildDir + "\\" + examplesBuildDir + "\\" +
         buildType + "\\" + summaryFileName;
     
+    var useUnicode = (buildCfg == "msvc-8.0") ? true : false;
     checkForFailures(buildDir + "\\" + examplesBuildDir, buildType,
-        buildlogFile, sumTempFileNameEx, htmFolderName, false);
+        buildlogFile, sumTempFileNameEx, htmFolderName, false, useUnicode);
     
     var sumTempFileNameTst = buildDir + "\\" + testsBuildDir + "\\" +
         buildType + "\\" + summaryFileName;
         
     checkForFailures(buildDir + "\\" + testsBuildDir, buildType,
-        buildlogFile, sumTempFileNameTst, htmFolderName, false);
+        buildlogFile, sumTempFileNameTst, htmFolderName, false, useUnicode);
         
     // make build summary log file
     var fSum = makeSummaryLog(buildDirBase, buildSummaryPrefix, buildType);
@@ -80,7 +83,7 @@
     // read information about library
     var libInfo = new ItemBuildInfo(".stdlib");
     getLibraryBuildInfo(buildDir + "\\" + libBuildDir, buildType, libInfo);
-        
+    
     // and test driver
     var rwtestInfo = new ItemBuildInfo(".rwtest");
     getTestDriverBuildInfo(buildDir + "\\" + rwtestBuildDir, 
@@ -153,6 +156,9 @@
             
         WScript.Quit(3);
     }
+    
+    if (buildCfg == "msvc-8.0")
+        buildLogUnicode = -1;
 }
 
 function getLibraryBuildInfo(libDir, bType, libInfo)
@@ -165,7 +171,7 @@
     if (! fso.FileExists(blogFilePath))
         return;
         
-    var blogFile = fso.OpenTextFile(blogFilePath);
+    var blogFile = fso.OpenTextFile(blogFilePath, 1, false, buildLogUnicode);
     var blogData = blogFile.ReadAll();
     
     var posTmp = getCommandLinesInfo(libInfo, blogData, 0);
@@ -183,7 +189,7 @@
     if (! fso.FileExists(blogFilePath))
         return;
         
-    var blogFile = fso.OpenTextFile(blogFilePath);
+    var blogFile = fso.OpenTextFile(blogFilePath, 1, false, buildLogUnicode);
     var blogData = blogFile.ReadAll();
     
     var posTmp = getCommandLinesInfo(rwtestInfo, blogData, 0);

Modified: incubator/stdcxx/trunk/etc/config/windows/msvc-config.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/msvc-config.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/msvc-config.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/msvc-config.js Sun Jan 15 14:19:53 2006
@@ -40,6 +40,16 @@
 // configure the solution
 configureToolsVC71();
 
+// VC80 solution configuration
+var solutionVC80 = solution.clone();
+solutionVC80.name = vc80SolutionName;
+solutionVC80.version = "8.00";
+solutionVC80.formatVersion = "9.00";
+configurations.add(solutionVC80.name, solutionVC80);
+
+// configure the solution
+configureToolsVC80();
+
 // ICC solution configuration
 
 //clone VC71 solution
@@ -72,7 +82,6 @@
         compilerReleaseConfigure.pdbName = "ICC.pdb";
     }
     
-    //var configureProj = solutionVC71.projects.get(projectConfigureName);
     var solutionCfg = getSolution(solutionName);
     var configureProj = solutionCfg.projects.get(projectConfigureName);
     var platform = configureProj.platforms.get(platformWin32Name);
@@ -181,7 +190,6 @@
     var linkerDebugExamples = linkerDebug.clone();
     var linkerReleaseExamples = linkerRelease.clone();
     
-    //var postExamplesDll = new PostBuildVC();
     var postExamplesDll = postBuildTool.clone();
     postExamplesDll.commands.add(varCmdCopyDll, varCmdCopyDll);
     
@@ -193,7 +201,6 @@
     compilerReleaseExamples.includeDirectories.add(samplesIncludeDir);
     compilerReleaseExamples.includeDirectories.add(samplesBaseAnsiIncludeDir);
     
-    //var examplesProj = solutionVC71.projects.get(projectExamplesName);
     var solutionCfg = getSolution(solutionName);
     var examplesProj = solutionCfg.projects.get(projectExamplesName);
     var platform = examplesProj.platforms.get(platformWin32Name);
@@ -319,7 +326,6 @@
     var linkerDebugTests = linkerDebug.clone();
     var linkerReleaseTests = linkerRelease.clone();
     
-    //var postTestsDll = new PostBuildVC();
     var postTestsDll = postBuildTool.clone();
     postTestsDll.commands.add(varCmdCopyDll, varCmdCopyDll);
     
@@ -331,7 +337,6 @@
     compilerReleaseTests.includeDirectories.add(testsIncludeDir);
     compilerReleaseTests.includeDirectories.add(testsBaseAnsiIncludeDir);
     
-    //var testsProj = solutionVC71.projects.get(projectTestsName);
     var solutionCfg = getSolution(solutionName);
     var testsProj = solutionCfg.projects.get(projectTestsName);
     var platform = testsProj.platforms.get(platformWin32Name);
@@ -468,7 +473,6 @@
     compilerReleaseRwTest.includeDirectories.add(includeSecondParentDir);
     compilerReleaseRwTest.includeDirectories.add(includeSecondParentAnsiDir);
     
-    //var rwTestProj = solutionVC71.projects.get(projectRwTestName);
     var solutionCfg = getSolution(solutionName);
     var rwTestProj = solutionCfg.projects.get(projectRwTestName);
     var platform = rwTestProj.platforms.get(platformWin32Name);
@@ -581,7 +585,6 @@
 {
     var customRunEx = customTool.clone();
     
-    //var runExProj = solutionVC71.projects.get(projectRunExamplesName);
     var solutionCfg = getSolution(solutionName);
     var runExProj = solutionCfg.projects.get(projectRunExamplesName);
     var platform = runExProj.platforms.get(platformWin32Name);
@@ -607,24 +610,32 @@
     configuration.tools.add(customBuildToolName, customMTReleaseStaticRunEx);   
     
     // debug dll
+    var postTestsDebugDll = postBuildTool.clone();
     var customDebugDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confDebugDllName);
     configuration.tools.add(customBuildToolName, customDebugDllRunEx);  
+    configuration.tools.add(postBuildToolName, customDebugDllRunEx);  
     
     // release dll
+    var postTestsReleaseDll = postBuildTool.clone();
     var customReleaseDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confReleaseDllName);
-    configuration.tools.add(customBuildToolName, customReleaseDllRunEx);    
+    configuration.tools.add(customBuildToolName, customReleaseDllRunEx); 
+    configuration.tools.add(postBuildToolName, postTestsReleaseDll);     
     
     // multi-threaded debug dll
+    var postTestsDebugMTDll = postBuildTool.clone();
     var customMTDebugDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confMTDebugDllName);
-    configuration.tools.add(customBuildToolName, customMTDebugDllRunEx);    
+    configuration.tools.add(customBuildToolName, customMTDebugDllRunEx);
+    configuration.tools.add(postBuildToolName, postTestsDebugMTDll);      
     
     // multi-threaded release dll
+    var postTestsReleaseMTDll = postBuildTool.clone();
     var customMTReleaseDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confMTReleaseDllName);
-    configuration.tools.add(customBuildToolName, customMTReleaseDllRunEx);  
+    configuration.tools.add(customBuildToolName, customMTReleaseDllRunEx); 
+    configuration.tools.add(postBuildToolName, postTestsReleaseMTDll);  
 }
 
 
@@ -636,7 +647,6 @@
 {
     var customRunEx = customTool.clone();
     
-    //var runTestsProj = solutionVC71.projects.get(projectRunTestsName);
     var solutionCfg = getSolution(solutionName);
     var runTestsProj = solutionCfg.projects.get(projectRunTestsName);
     var platform = runTestsProj.platforms.get(platformWin32Name);
@@ -662,24 +672,32 @@
     configuration.tools.add(customBuildToolName, customMTReleaseStaticRunEx);   
     
     // debug dll
+    var postTestsDebugDll = postBuildTool.clone();
     var customDebugDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confDebugDllName);
     configuration.tools.add(customBuildToolName, customDebugDllRunEx);  
+    configuration.tools.add(postBuildToolName, postTestsDebugDll);  
     
     // release dll
+    var postTestsReleaseDll = postBuildTool.clone();
     var customReleaseDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confReleaseDllName);
-    configuration.tools.add(customBuildToolName, customReleaseDllRunEx);    
+    configuration.tools.add(customBuildToolName, customReleaseDllRunEx);  
+    configuration.tools.add(postBuildToolName, postTestsReleaseDll);  
     
     // multi-threaded debug dll
+    var postTestsDebugMTDll = postBuildTool.clone();
     var customMTDebugDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confMTDebugDllName);
-    configuration.tools.add(customBuildToolName, customMTDebugDllRunEx);    
+    configuration.tools.add(customBuildToolName, customMTDebugDllRunEx);
+    configuration.tools.add(postBuildToolName, postTestsDebugMTDll);    
     
     // multi-threaded release dll
+    var postTestsReleaseMTDll = postBuildTool.clone();
     var customMTReleaseDllRunEx = customRunEx.clone();
     var configuration = platform.configurations.get(confMTReleaseDllName);
-    configuration.tools.add(customBuildToolName, customMTReleaseDllRunEx);  
+    configuration.tools.add(customBuildToolName, customMTReleaseDllRunEx); 
+    configuration.tools.add(postBuildToolName, postTestsReleaseMTDll); 
 }
 
 
@@ -743,4 +761,66 @@
 }
 
 
+
+function configureToolsVC80()
+{
+    // VC compilers
+    var compilerVCRelease = new CompilerVC(compilerWin32);
+    
+    var compilerVCDebug = compilerVCRelease.clone();
+    compilerVCDebug.isDebug = true;
+    
+    compilerVCRelease.optimization = "Size";
+    compilerVCRelease.debugInfoFormat = "PDB";
+    
+    compilerVCDebug.debugInfoFormat = "PDB";
+    
+    var compilerVC80Release = new CompilerVC80(compilerVCRelease);
+    var compilerVC80Debug = new CompilerVC80(compilerVCDebug);
+    
+    compilerVC80Release.defines.add("_CRT_SECURE_NO_DEPRECATE");
+    compilerVC80Debug.defines.add("_CRT_SECURE_NO_DEPRECATE");
+    
+    // VC linkers
+    var linkerVCDebug = new LinkerVC(linker);
+    linkerVCDebug.subsystem = "Console";
+    linkerVCDebug.incremental = "No";
+    var linkerVCRelease = linkerVCDebug.clone();
+    linkerVCRelease.optimizeRefs = "Remove";
+    linkerVCRelease.comdatFolding = "Remove";
+
+    // VC librarian
+    var librarianVC = new LibrarianVC(librarian);
+    
+    // VC custom
+    var customVC = new CustomBuildVC();
+    
+    // VC post build
+    var postVC = new PostBuildVC();
+    
+    // configure projects tools
+    configureToolsConfigure(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+        
+    configureToolsExamples(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+
+    configureToolsTests(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+        
+    configureToolsRwTest(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+        
+    configureToolsRunExamples(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+        
+    configureToolsRunTests(vc80SolutionName, compilerVC80Debug, 
+        compilerVC80Release, linkerVCDebug, linkerVCRelease, 
+        librarianVC, customVC, postVC);
+}
 

Modified: incubator/stdcxx/trunk/etc/config/windows/msvc-config_classes.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/msvc-config_classes.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/msvc-config_classes.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/msvc-config_classes.js Sun Jan 15 14:19:53 2006
@@ -847,3 +847,323 @@
     getPreprocessCommandLineCompilerVC;
 CompilerVC71.prototype.writeSolutionSettings =
                         writeSolutionSettingsCompilerVC;
+                        
+                        
+//------------------------------------------------
+// CompilerVC80 class
+//------------------------------------------------
+
+function getCommandLineCompilerVC80()
+{
+    var cmdLine = "cl /c";
+    // nologo
+    if (this.nologo)
+    {
+        cmdLine += " /nologo";
+    }
+    // defines
+    cmdLine += buildOptionsVC(this.defines, "/D ");
+    // includes
+    cmdLine += buildOptionsVC(this.includeDirectories, "/I");
+    // warnings
+    cmdLine += " /W" + this.warningsLevel;
+    // exceptions
+    if (this.exceptions)
+    {
+        cmdLine += " /EHa";
+    }
+    // runtime
+    switch (this.runtime.toUpperCase())
+    {
+    case "MULTI":
+        cmdLine += " /MT";
+        break;
+    case "MULTIDEBUG":
+        cmdLine += " /MTd";
+        break;
+    case "MULTIDLL":
+        cmdLine += " /MD";
+        break;
+    case "MULTIDEBUGDLL":
+        cmdLine += " /MDd";
+        break;
+    case "SINGLE":
+        cmdLine += " /MT";
+        break;
+    default: // SingleDebug
+        cmdLine += " /MTd";
+    }
+    // minimalRebuild
+    if (this.minimalRebuild)
+    {
+        cmdLine += " /Gm";
+    }
+    switch (this.optimization.toUpperCase())
+    {
+    case "FULL":
+        cmdLine += " /Ox";
+        break;
+    case "SPEED":
+        cmdLine += " /O2";
+        break;
+    case "SIZE":
+        cmdLine += " /O1";
+        break;
+    default: // Diasbled
+        cmdLine += " /Od";
+    }
+    /*
+    // outfolder
+    var outDir = this.getOutputDir() + "\\";
+    if (outDir.length > 0)
+    {
+        cmdLine += " /Fo\"" + outDir + "\\\"";
+    }
+    */
+    // outfolder
+    var outDir = this.getIntermDir() + "\\";
+    if (outDir.length > 0)
+    {
+        cmdLine += " /Fo\"" + outDir + "\\\"";
+    }
+    // pch
+    var usePCH = true;
+    switch (this.precompiledHeader.toUpperCase())
+    {
+    case "USE":
+        cmdLine += " /Yu";
+        break;
+    case "AUTO":
+        cmdLine += " /YX";
+        break;
+    case "CREATE":
+        cmdLine += " /Yc";
+        break;
+    default:
+        usePCH = false;
+    }
+    if (usePCH)
+    {
+        if (this.pchBuildFrom.length > 0)
+        {
+            cmdLine += "\"" + this.pchBuildFrom + "\"";
+        }
+        else
+        {
+            cmdLine += "\"stdafx.h\"";
+        }
+        if (this.pchName.length > 0)
+        {
+            cmdLine += " /Fp\"" + outFir + this.pchName + "\"";
+        }
+    }
+    // pdb
+    var usePDB = true;
+    switch (this.debugInfoFormat.toUpperCase())
+    {
+    case "C7":
+        cmdLine += " /Z7";
+        break;
+    case "LINESONLY":
+        cmdLine += " /Zd";
+        break;
+    case "PDB":
+        cmdLine += " /Zi";
+        break;
+    case "EDITCONTINUE":
+        cmdLine += " /ZI";
+        break;
+    default:
+        usePDB = false;
+    }
+    if (usePDB && this.pdbName.length > 0)
+    {
+        cmdLine += " /Fd\"" + outDir + this.pdbName + "\"";
+    }
+    // output
+    if (this.outputFile.length > 0)
+    {
+        cmdLine += " /Fe\"" + outDir + this.outputFile + "\"";
+    }
+    // inputs
+    cmdLine += buildOptionsVC(this.inputFiles, "");
+    return cmdLine;
+}
+
+function writeSolutionSettingsCompilerVC80(vcproj, outDir)
+{
+    vcproj.WriteLine("\t\t\t<Tool")
+    vcproj.WriteLine("\t\t\t\tName=\"VCCLCompilerTool\"");
+    var opt = 0;
+    switch (this.optimization.toUpperCase())
+    {
+    case "SIZE":
+        opt = 1;
+        break;
+    case "SPEED":
+        opt = 2;
+        break;
+    case "FULL":
+        opt = 3;
+        break;
+    default:
+        // leave 0 (Disabled)
+    }
+    vcproj.WriteLine("\t\t\t\tOptimization=\"" + opt + "\"");
+    var includesArray = new Array();
+    for (i in this.includeDirectories)
+    {
+        if (!this.includeDirectories[i])
+        {
+            var findex = i.indexOf(varSign);
+            if (findex == 0)
+                includesArray.push(i.substr(varSign.length));
+            else
+                includesArray.push(outDir + i);
+        }
+    }
+    vcproj.WriteLine("\t\t\t\tAdditionalIncludeDirectories=\""
+                        + xmlencode(includesArray.join(";")) + "\"");
+    
+    var defsArray = new Array();
+    for (i in this.defines)
+    {
+        if (!this.defines[i])
+        {
+            defsArray.push(i);
+        }
+    }
+    vcproj.WriteLine("\t\t\t\tPreprocessorDefinitions=\""
+                    + xmlencode(defsArray.join(";")) + "\"");
+    vcproj.WriteLine("\t\t\t\tMinimalRebuild=\""
+                    + this.minimalRebuild.toString().toUpperCase() + "\"");
+    vcproj.WriteLine("\t\t\t\tExceptionHandling=\""
+                    + this.exceptions.toString().toUpperCase() + "\"");
+                        
+    //TODO: customize following 2 lines later
+    //vcproj.WriteLine("\t\t\t\tBasicRuntimeChecks=\"3\"");
+    vcproj.WriteLine("\t\t\t\tDetect64BitPortabilityProblems=\"FALSE\"");
+    
+    vcproj.WriteLine("\t\t\t\tSuppressStartupBanner=\""
+                        + this.nologo.toString().toUpperCase() + "\"");
+    
+    var runtime = "0";
+    switch (this.runtime.toUpperCase())
+    {
+        case "SINGLEDEBUG":
+            runtime = "1";
+            break;
+        case "SINGLE":
+            runtime = "0";
+            break;
+        case "MULTIDEBUGDLL":
+            runtime = "3";
+            break;
+        case "MULTIDLL":
+            runtime = "2";
+            break;
+        case "MULTIDEBUG":
+            runtime = "1";
+            break;
+        default:
+            // Multi, 0
+    }
+    vcproj.WriteLine("\t\t\t\tRuntimeLibrary=\"" + runtime + "\"");
+    if (this.pchBuildFrom.length > 0)
+    {
+        vcproj.WriteLine("\t\t\t\tPrecompiledHeaderThrough=\""
+                            + xmlencode(this.pchBuildFrom) + "\"");
+    }
+    if (this.pchName.length > 0)
+    {
+        vcproj.WriteLine("\t\t\t\tPrecompiledHeaderFile=\""
+                            + xmlencode(this.pchName) + "\"");
+    }
+    var usePh = "0";
+    switch (this.precompiledHeader.toUpperCase())
+    {
+    case "USE":
+        usePh = "3";
+        break;
+    case "AUTO":
+        usePh = "2";
+        break;
+    case "CREATE":
+        usePh = "1";
+        break;
+    default:
+        // No, 0        
+    }
+    vcproj.WriteLine("\t\t\t\tUsePrecompiledHeader=\"" + usePh + "\"");
+    
+    if (this.pdbName.length > 0)
+    {
+        vcproj.WriteLine("\t\t\t\tProgramDataBaseFileName=\""
+            + xmlencode(this.getIntermDir() + "\\" + this.pdbName) + "\"");
+    }
+    
+    vcproj.WriteLine("\t\t\t\tWarningLevel=\""
+                        + this.warningsLevel + "\"");
+    var diFormat = "0";
+    switch (this.debugInfoFormat.toUpperCase())
+    {
+        case "C7":
+            diFormat = "1";
+            break;
+        case "LINESONLY":
+            diFormat = "2";
+            break;
+        case "PDB":
+            diFormat = "3";
+            break;
+        case "EDITCONTINUE":
+            diFormat = "4";
+            break;
+        default:
+            // Disabled, 0
+    }   
+    vcproj.WriteLine("\t\t\t\tObjectFile=\""
+        + xmlencode(this.getIntermDir() + "\\" + this.outputFile) + "\"");
+
+    vcproj.WriteLine(
+        "\t\t\t\tDebugInformationFormat=\"" + diFormat + "\"/>");   
+}
+
+// VC 8.0 compiler options
+// todo: add these options
+// basicRuntimeChecks
+// detect64BitProblems = true | false
+
+// .ctor from base compiler
+function CompilerVC80(compilerVC)
+{
+    if (!compilerVC)
+    {
+        compilerVC = new CompilerVC();
+    }   
+    compilerVC.cloneTo(this);
+    //TODO: add
+    // basicRuntimeChecks
+    // detect64BitProblems = true | false
+    
+    this.cloneTo = genericCloneTo;
+    this.clone = genericClone;  
+    this.getOutputDir = getOutputDir;
+    this.getIntermDir = getIntermDir;
+    //TODO: change this line when new options will be added
+    this.getCommandLine = getCommandLineCompilerVC80;
+    this.getPreprocessCommandLine = getPreprocessCommandLineCompilerVC;
+    
+}
+
+//compilerVC class methods
+CompilerVC80.prototype.cloneTo = genericCloneTo;
+CompilerVC80.prototype.clone = genericClone;
+CompilerVC80.prototype.getOutputDir = getOutputDir;
+CompilerVC80.prototype.getIntermDir = getIntermDir;
+//TODO: change this line when new options will be added
+CompilerVC80.prototype.getCommandLine = getCommandLineCompilerVC80;
+CompilerVC80.prototype.getPreprocessCommandLine =
+    getPreprocessCommandLineCompilerVC;
+CompilerVC80.prototype.writeSolutionSettings =
+                        writeSolutionSettingsCompilerVC80;

Modified: incubator/stdcxx/trunk/etc/config/windows/runall.wsf
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/runall.wsf?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/runall.wsf (original)
+++ incubator/stdcxx/trunk/etc/config/windows/runall.wsf Sun Jan 15 14:19:53 2006
@@ -17,19 +17,26 @@
                 required="true" type="string"/>
             <named helpstring="The log file" name="LOGFILE" 
                 required="false" type="string"/>
+            <named helpstring="The copy lib dll to exe option" name="COPYDLL" 
+                required="false" type="string"/>
+            <named helpstring="The lib dll folder" name="LIBDIR" 
+                required="false" type="string"/>
             <example>
             cscript runexamples.wsf /EXEDIR:"C:\stdcxx\build" 
             /INOUTDIR:"C:\stdcxx\build" /BUILDTYPE:11d
             </example>
             <usage>
 Usage: cscript runexamples.wsf /EXEDIR:@EXEDIR /INOUTDIR:@INOUTDIR 
-/BUILDTYPE:@BUILDTYPE [/LOGFILE:@LOGFILE]
+/BUILDTYPE:@BUILDTYPE 
+[/LOGFILE:@LOGFILE] [/COPYDLL:@COPYDLL] [/LIBDIR:@LIBDIR]
 where
 @EXEDIR is the root directory with executables ro be run and checked,
 @TOPDIR is the root directory with .in and .out files 
 required by executables,
 @BUILDTYPE is the build type (11d, 11s, etc).
 @LOGFILE is the log file name.
+@COPYDLL is the option for copy dll to executables
+@LIBDIR is the library dll folder (specify when COPYDLL is true)
             </usage>
         </runtime>
         <object id="fso" progid="Scripting.FileSystemObject"/>
@@ -47,8 +54,11 @@
 var inoutDir = "";    // path to the root directory 
     // containing the .in and .out files
 var buildType = ""      // the buid type (11d, 11s, etc)
+var currentCfg = "msvc-7.1" // the configuration
 var logFileName = ""; // the log file name
 var logFileDefault = "runexamples.log"; // the default log file name
+var copyDll = false;
+var libdllFolder = "";
 
 var varIn = "in";
 var varOut = "out";
@@ -65,6 +75,7 @@
 var buildlogFile = "BuildLog.htm";
 var summaryFileName = "Summary.htm";
 var htmFolderName = "temphtm";
+var libFileName = "stdlib";
     
 var description = new runexamples; // run
 
@@ -129,10 +140,23 @@
     inoutDir =  WScript.Arguments.Named("INOUTDIR");
     buildType = WScript.Arguments.Named("BUILDTYPE");
     
+    if (WScript.Arguments.Named.Exists("CONFIG"))
+        currentCfg = WScript.Arguments.Named("CONFIG");
+    
     if (WScript.Arguments.Named.Exists("LOGFILE"))
         logFileName = WScript.Arguments.Named("LOGFILE");
     else
         logFileName = logFileDefault;
+        
+    if (WScript.Arguments.Named.Exists("COPYDLL"))
+    {
+        var copyOption = WScript.Arguments.Named("COPYDLL");
+        if ("true" == copyOption)
+            copyDll = true;
+    }
+    
+    if (WScript.Arguments.Named.Exists("LIBDIR"))
+        libdllFolder = WScript.Arguments.Named("LIBDIR");
     
     if (! fso.FolderExists(examplesDir))
     {
@@ -173,10 +197,22 @@
     if (exeFolder.Name != buildType)
         return;
     
+    var dllCopied = false;
     var rx = new RegExp("^.+\\.(?:exe)$", "i");
     var enumExeFiles = new Enumerator(exeFolder.Files);
     for (; !enumExeFiles.atEnd(); enumExeFiles.moveNext())
     {
+        // temporary copy the dll to the executable
+        if (copyDll && !dllCopied)
+        {
+            var dllName = libFileName + buildType + ".dll";
+            var copyDllCmd = "cmd /c \"copy /Y " + libdllFolder + dllName +
+                             " " + exeDir + "\\" + dllName + "\"";
+                             
+            WshShell.Run(copyDllCmd, 7, true);
+            dllCopied = true;
+        }
+         
         var exeFileName = enumExeFiles.item().Name;
         if (! rx.test(exeFileName))
             continue;
@@ -204,9 +240,24 @@
         else
             runNoChecks(runCmd, exeFileName, itemInfo, fileLog); 
             
-        readBuildLog(exeDir, itemInfo);
+        var unicodeLog = currentCfg == "msvc-8.0" ? true : false;
+        readBuildLog(exeDir, itemInfo, unicodeLog);
         saveBuildInfo(itemInfo, htmDir, "htm"); 
         saveBuildSummary(itemInfo, fileSummary);
+    }
+    
+    // delete the dll if it was copied
+    if (copyDll && dllCopied)
+    {
+        try
+        {
+            fso.DeleteFile(exeFolder.Path + "\\" + dllName);
+        }
+        catch(e)  // do nothing
+        {
+            fileLog.WriteLine("error: could not delete temporary file" + 
+                exeFolder.Path + "\\" + dllName);
+        }
     }
 }
 

Modified: incubator/stdcxx/trunk/etc/config/windows/summary.js
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/summary.js?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/summary.js (original)
+++ incubator/stdcxx/trunk/etc/config/windows/summary.js Sun Jan 15 14:19:53 2006
@@ -21,7 +21,7 @@
 ////////////////////////////////////////////////////////////////////
 // read BuildLog.htm  
 
-function readBuildLog(exeDir, itemInfo)
+function readBuildLog(exeDir, itemInfo, useUnicode)
 {
     if (! fso.FolderExists(exeDir))
         return;
@@ -35,7 +35,8 @@
     if (! fso.FileExists(blogFilePath))
         return;
         
-    var blogFile = fso.OpenTextFile(blogFilePath);
+    var uniMode = (true == useUnicode) ? -1 : 0;
+    var blogFile = fso.OpenTextFile(blogFilePath, 1, false, uniMode);
     var blogData = blogFile.ReadAll();
     
     var posTmp = getCommandLinesInfo(itemInfo, blogData, 0);
@@ -52,7 +53,7 @@
     var posCmdLines = blogData.indexOf(cmdLineTag, posStart);
     if (-1 == posCmdLines)
         return posStart;
-        
+            
     // extract table in the command lines block 
     itemInfo.buildCmdLog = extractTableData(blogData, posCmdLines);
     return posStart + itemInfo.buildCmdLog.length;
@@ -177,7 +178,7 @@
     // add them here
     var indexClose = tableData.lastIndexOf("</table>");
     tableData = tableData.substr(0, indexClose) + "</td></tr></table>";
-        
+    
     return tableData;
 }
 
@@ -598,7 +599,8 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////
-function checkForFailures(testDir, bType, logHtm, sumHtm, htmTempDir, seeHtm)
+function checkForFailures(testDir, bType, logHtm, sumHtm, htmTempDir, 
+            seeHtm, useUnicode)
 {
     var testFolder = fso.GetFolder(testDir);
     if (! testFolder)
@@ -613,7 +615,7 @@
     {
         var htmFName = enumHtmSubFolders.item().Name;
         checkForFailures(testDir + "\\" + htmFName, bType,
-            logHtm, sumHtm, htmTempDir, seeHtmHere);
+            logHtm, sumHtm, htmTempDir, seeHtmHere, useUnicode);
     }
  
     if (false == seeHtmHere)
@@ -632,8 +634,10 @@
             
         var testInfo = new ItemBuildInfo(testFolder.Name);
         
+        var uniMode = (true == useUnicode) ? -1 : 0;
         var blogFile = 
-            fso.OpenTextFile(testFolder.Path + "\\" + htmFileName);
+            fso.OpenTextFile(testFolder.Path + "\\" + htmFileName, 
+                             1, false, uniMode);
         var blogData = blogFile.ReadAll();
     
         var posTmp = getCommandLinesInfo(testInfo, blogData, 0);

Modified: incubator/stdcxx/trunk/etc/config/windows/update.wsf
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/windows/update.wsf?rev=369270&r1=369269&r2=369270&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/windows/update.wsf (original)
+++ incubator/stdcxx/trunk/etc/config/windows/update.wsf Sun Jan 15 14:19:53 2006
@@ -132,6 +132,12 @@
     var prjInfo = readSolutionGUIDs(slnFileName);
     
     WScript.Echo("Checking projects...");
+    if (! prjInfo)
+    {
+        WScript.Echo("error: project guids failed to read");
+        WScript.Quit(1);
+    }
+    
     //make solution structure
     var fullSolution = fillSolutionTemplateLight(solution, prjInfo, 
             srcDir, outDir, logStream);
@@ -145,7 +151,8 @@
         setProjectDependencies(fullSolution, modProjects);
     
     WScript.Echo("Writing modified projects on disk...");
-    saveModifiedProjects(modProjects, srcDir, outDir, logStream);
+    saveModifiedProjects(modProjects, srcDir, outDir, logStream, 
+        fullSolution.version);
     
     if (icc90SolutionName == currentCfg)
         convertSolution(outDir, currentCfg, true);
@@ -267,14 +274,14 @@
     return rgModProjects;
 }
 
-function saveModifiedProjects(modProjects, srcDir, outDir, logStream)
+function saveModifiedProjects(modProjects, srcDir, outDir, logStream, version)
 {
     for(var i = 0; i < modProjects.length; i++)
     {
         WScript.Echo("saving " + modProjects[i].name + "...");
         logStream.WriteLine("saving " + modProjects[i].name);
         
-        generateVCPROJ(modProjects[i], srcDir, outDir);
+        generateVCPROJ(modProjects[i], srcDir, outDir, version);
         
         logStream.WriteLine(modProjects[i].name + " saved");
     }



Mime
View raw message