You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Farid Zaripov <Fa...@kyiv.vdiweb.com> on 2006/09/28 17:32:11 UTC

[PATCH] Scripts, generating solution and projects for MSVC/ICC [2]

   Patch for scripts of Windows build infrastructure is here:
http://people.apache.org/~faridz/windows.diff

   ChangeLog:

   * icc-9.0.config: New configuration file for ICC-9.0
   * icc-9.1.config: New configuration file for ICC-9.1
   * msvc-7.0.config: New configuration file for MSVC-7.0
   * msvc-7.1.config: New configuration file for MSVC-7.1
   * msvc-8.0.config: New configuration file for MSVC-8.0
   * msvcex-8.0.config: New config file for MSVCExpress-8.0
   * config.js: Removed definitions of the classes: Solution,
   SolutionConfiguration, ProjectConfiguration, Project, Filter,
   Platform, Configuration, Tool, Compiler, Linker, Librarian,
   CustomBuild, PostBuild
   * data.js: Removed variables of types which was removed from config.js
   (ConfigInfo): New class for storing information about build
   configuration
   * devenv_consts.js: New file with constant variables for
   VisualStudio Automation objects
   * filterdef.js: New script file with FilterDef class definition
   * projectdef.js: New script file with ProjectDef class definition
   * projects.js: New script file with definitions of the projects
   for solution
   * summary.js (saveSummaryHeaderMulti): Modified according to the new
   directory structure
   (saveBuildSummaryMulti): Modified according to the new directory
   structure, added checking of source folder presence
   (saveBuildSummariesFromFolder): Added checking of folder presence
   * utilities.js: Removed functions: convertSolutionImpl,
   setCompilerEnvironment, compile, compileFiles, link, linkFiles,
   preprocess, preprocessFile, buildLibrary, makeLibrary
   (createUUID): Get new UUID using the "scriptlet.typelib" COM object
   instead of executing uuidgen utility
   (getCompilerOpts): New function for parsing the configuration file
   of the specified compiler
   (getExtension): New function for obtain extension of filename
   (changeFileExt): New function for get new filename with specified
   extension
   (arrayIndexOf): New function for obtain index of item in array
   (generateSolution): New function for create the solution file
   * configure.wsf (checkHeaders): Removed checking of the wctomb,
   wcstombs functions in wchar.h header. Added missing break keyword.
   (joinArray): New function to get string from array of strings
   (preprocessFile): New function to preprocess the specified file
   (compileFiles): New function to compile the specified files
   (linkFiles): New function to link targets in specified executable
   (makeLibrary): New function to build C++ library file
   (logLine): New function to append the line to log file
   * generate.wsf: Removed function generateUpdateBatch
   (generate): Modified to use the new objects for generate project files
   (LogMessage): New function to print message to the stdout and logfile
   (generateUpdateBatch): Modified to create separate build batch for
   each compiler configuration instead of common build.bat
   (createBuildDirs): Modified according to the new directory structure
   (readAndCheckArguments): Added checking of the new script parameters:
   /LOCALES and /LOCALETESTS
   * makelog.wsf: Modified according to the new directory structure
   * runall.wsf: Removed functions: inspectProcesses
   (runexamples): Get type of buildlog file from compiler
   configuration file
   (readAndCheckArguments): Added new option COPYRWTESTDLL
   (runAllExamples): Modified according to the new directory
   structure; added code for copying and deleting the rwtest.dll
   if COPYRWTESTDLL option is specified
   (runNoChecks): Used exec utility to run example instead of
   WshShell::Exec method
   (runWithChecks): Used exec utility to run example instead of
   WshShell::Exec method
   (parseStatus): New function to obtain the exit code of the example
   * run_locale_utils.wsf: New script file which implements
   functionality of the run_locale_utils.sh script


Farid.

Re: [PATCH] Scripts, generating solution and projects for MSVC/ICC [2]

Posted by Martin Sebor <se...@roguewave.com>.
Farid Zaripov wrote:
>   Patch for scripts of Windows build infrastructure is here:
> http://people.apache.org/~faridz/windows.diff

Please go ahead and commit this. Andrew and I will test it on our
end and let you know if there are any issues.

Btw., I noticed that the _RWBUILD_std macro is (still) being
#defined. It shouldn't be. Can you please take it out? (Since
this isn't something new introduced in your patch feel free
to do it later, after committing your initial changes.)

Also, it would be good to document the variables defined in the
.config files. I have an idea what CPPFLAGS might be but what's
CONVERT or SLNVER (these are rhetorical questions)? While on the
subject of these variables, shouldn't -qnoipo be defined in LDFLAGS
rather than in LD? And shouldn't we be using cl (or icl) to link
instead of invoking the linker directly? Finally, it seems that we
should try to define variables according to the same principle as
in the UNIX .config files, i.e., <variable>.<suffix>, such as the
recently introduced CXXFLAGS.wide, LDFLAGS.wide, LDSOFLAGS.wide,
and ARFLAGS.wide variable and their narrow counterparts (I'd like
to change the rest of the UNIX variables to follow the same
convention, e.g., rename MULTI_XYZFLAGS to XYZFLAGS.thread, or
STATIC_XYZFLAGS to XYZFLAGS.static, etc.) This is obviously an
enhancement so it shouldn't hold up your patch.

Thanks
Martin