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 <[EMAIL PROTECTED]>
* 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.
[EMAIL PROTECTED] - 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.
[EMAIL PROTECTED] is the option for copy dll to executables
[EMAIL PROTECTED] 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");
}