|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
base\build\base.vcproj
base\build\base_gfx.vcproj
base\build\base_unittests.vcproj
base\build\debug_message.vcproj
skia\skia.vcproj
testing\gtest.vcproj
third_party\icu38\icu.vcproj
third_party\icu38\icudt.vcproj
third_party\libpng\libpng.vcproj
third_party\zlib\zlib.vcproj
Supporting work in *.scons files:
* Adds .h files to the input_files lists in the various *.scons files.
* Add arguments to ChromeMSVSProject() to actually generate the
.vcproj files.
* Add MSVS.AddConfig() calls to the *.scons files to preserve the
.vsprops inclusion in the generated .vcproj files.
(These will go away eventually as we migrate away from .vsprops
in favor of using the settings from the SCons configuration.)
* Add MSVS.AddConfig() calls to preserve the .vsprops inclusion.
* Move the special generation of dmg_fp/*.cc files ahead of the
input file list so we can list the generated object files.
* Change the 'solutions' Alias to 'msvs' so we don't mislead about
what will actually be generated.
Updates to the new _Node_MSVS.py module with latest from upstream
prototype development:
* Support configurability of:
* buildtarget (used to generat project name)
* RootNamespace
* relative_path_prefix (to prepend './')
* tools (to avoid repetition in the project configs)
* Track the Visual Studio hierarchy in SCons Nodes, not DOM,
so we can delay evaluation until after the complete
configuration has been specified.
* Add a FileList base class for the things that need, with a
subclass hierarchy for the different concrete things in our tree,
and a FileListWalk() function for traversing hierarchies.
* Centralize turning strings into Nodes in the args2nodes() method
and have AddFiles() just use it.
Updates to chromium_builders.py to support all this
* Add knowledge about stripping out noncompilable files
(.h files) from input_files lists.
* Return a Null() class if we're not generating MSVS files
so we don't have to hide the other calls in if:-blocks.
* Add custom ChromeFileList subclass of MSVS.FileList as a
container for the file list manipulation we need to do.
* Move the Chrome*() function definitions out to global space,
and just use the generate() function for adding them to
the passed-in environment as class methods.
* Make a change to SCons (in Node/FS.py) to handle polymorphism in
the new MSVS Node hierarchy.
Review URL: http://codereview.chromium.org/16447
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7467 0039d316-1c4b-4281-b951-d872f2087c98
|
|
(project files still to come). To wit:
* Solution file configuration is in *_sln.scons files (base\base_sln.scons,
chrome\chrome_sln.scons).
* Individual Project file configuration is in the the .scons file for
the relevant target (base\base_unittests.scons,
third_party\libxml\libxml.scons, etc.)--that is, where their file
lists will live.
* MSVSProject() calls are currently placeholders that establish
the existence of Project Nodes (and Project dependencies) but don't yet
have actual Project configuration information (file lists, .vsprops, etc.).
* Configuraiton is very manual. In particular, the entries in the .sln
file will be written out in exactly the order specified in the
configuration(s). The current ordering is taken from our existing
.sln files, so we can generate virtually the same configurations
on output.
* Generated solution files are nearly byte-for-byte identical
with our existing .sln files, modulo:
* net\dump_cache has a WebsiteProperties sections (making that
configurable per project isn't important right now);
* sandbox\sandbox.sln was missing a dependency of base.vcproj on
on debug_message.vcproj (present in other .sln files)
* webkit\webkit.sln was missing dependencies of WebCore.vcproj on
libxml_config.vcproj and libxslt_config.vcproj (present in
chrome.sln);
* add a handful of other miscellaneous missing dependencies on various
.vcproj definitions in chrome.sln (present in other .sln files).
* remove stats_viewer.csproj from chrome.sln (sorry, mbelshe),
which was complicating the solution configuration with unnecessary
(for us) "Mixed Platform" types;
* All MSVSFolder(), MSVSProject() and MSVSSolution() calls have
hard-wired guid= values taken from our existing configuration,
so we can: 1) verify generation of working configs; 2) minimize
diffs when checking in generated .sln files. We can remove
these in the future in favor of extracting them from existing
.sln files if we wish.
* Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution()
wrappers to chromium_builders.py, that gate the underlying call to
the env.MSVS*() builders based on whether env.Bit('msvs') is set
(i.e., we're in --mode=msvs).
* Remove platform-specific gating of to-be-ported .scons files that we
now need to load on any platform to generate coheren MSVS files.
Move the env.Bit('windows') tests for actually building their
executables into the individual .scons files.
Review URL: http://codereview.chromium.org/14472
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
|