stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov" <>
Subject [PATCH] Scripts, generating solution and projects for MSVC/ICC
Date Wed, 13 Sep 2006 19:33:49 GMT
  I have (almost) finished redesigning the scripts. There are left some
unused variables.

  The diff file is here:

  Some files are deleted (generate.js; icc-config.js;
icc-config_classes.js; msvc-config.js; msvc-config_classes.js\;

  Full set of files from etc/config/windows is here:

  The new generate.wsf script is independent from environment variables
and generate.bat may be runned in any environment.

  After redesigning script generate.wsf and removing classes Compiler,
Linker, Librarian and so on, I discovered that configure.wsf script also
uses that classes.
I tried to modify configure.wsf script to using MSVS Automation objects
instead that classes, but this decision has not good (there is no simple
way to create a project and compile or preprocess file without linking;
finally I have achieved result, but it was very slow and with some
problems under ICC). Then I modified the functions compileFile(),
linkFiles(), preprocessFile() to use simple command line.

  The full solution counts 349 projects and opens slowly and I added two
options to the generate.wsf script:
/LOCALES:{yes|no} and /LOCALETESTS:{yes|no}.

  By default assumed "yes" for both. If LOCALES = "no" then projects for
create a particular locale will not be generated.
If LOCALETESTS = "no" then projects for test a particular locale will
not be generated.

  msvc-7.1.config and other *.config files is compiler configuration
files (something like on unix).

  The new directory structure is used: %BUILDDIR%/%CONFIG%/... instead
of %BUILDDIR%/.../%CONFIG% (except lib and nls directories).

  The previous version of the configure.wsf in "... Dll" solution
configurations created dynamic libraries from etc/config/src/*.lib.cpp
files. But in this files the __declspec (dllexport) directive is not
present and all configure tests, which is depending on that libraries
was failed (with corresponding line _RWSTD_NO_xxx in config.h). The
current version creates static libraries in all solution configurations.
I hope that was right.


View raw message