| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and better-thought-out Hammer env.Bits() idioms:
* env['PLATFORM'] == 'win32' => env.Bit('windows')
* env['PLATFORM'] == 'posix' => env.Bit('linux')
* env['PLATFORM'] == 'darwin' => env.Bit('mac')
New idioms:
* env.Bit('posix') => really does mean "any POSIX platform"
* env.AnyBits('mac', 'linux') => specifically mac or linux, excluding
other POSIX platforms
Where we were using compound conditionals (e.g., "env['PLATFORM'] in
('posix', 'darwin')") I tried to take my best shot at translating
the intent (i.e., "env.Bits('posix')" for something POSIX, "not
env.Bits('mac')" for something not yet ported to Mac, etc.)
Review URL: http://codereview.chromium.org/15051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hadn't been added to the config) and extend use of LOAD= into submodules:
* Add a ChromeLoadSConscriptModules() method that encapsulates the
conditional logic, and makes things more readable by specifying
component names as keyword arguments, not hard-coding the logic
as a series of if-tests.
* Put the ChromeLoadSConscriptModules() logic in a Tool module in
site_scons/site_tools, so it doesn't clutter up
build/SConscript.main directly.
* Move env.WantSystemLib() calls into the individual *.scons files,
so we call them each time (or not, based one LOAD=) and the config
itself just returns if the system library is requested and we
don't need to build anything locally.
* Move the settings where a library name changes based on whether or
not the system lib is being used into the using_*.scons files,
so they're available to clients independently of whether or not the
component's *.scons configuration is loaded.
* While here: rename the affected third_party SConscript files:
third_party/libjpeg/SConscript => third_party/libjpeg/libjpeg.scons
third_party/libxml/SConscript => third_party/libxml/libxml.scons
third_party/libxslt/SConscript => third_party/libxslt/libxslt.scons
* While here: move the Chrome{Program,SharedLibrary}() etc. builder
definitions from build/SConscript.main to a new too
Ad the ChromeLoadSConscriptModules() logic in a Tool module,
to remove more clutter from build/SConscript.main.
Review URL: http://codereview.chromium.org/11430
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5820 0039d316-1c4b-4281-b951-d872f2087c98
|
|
* Rename SConscript files to {module}.scons or {moduel}_lib.scons,
depending on the primary target involved.
* Separate targets into individual *.scons files, with one
construction environment (named "env") per *.scons file.
* Add using_{module}.scons files (like .vsprops) that will be used
by other modules to add CPPDEFINES, CPPPATH, LIBS and LIBPATH values.
* Update other modules' *.scons files to use the new using_{module}.scons
files (using a temporary one-liner idiom until we have the
ApplySConscript() method from the Hammer modules).
* Use the idiom of removing to-be-ported files from the master list,
so they can be simply deleted from the to-be-ported list as they
get ported in the future, instead of having to shuffle entries
between lists.
* Use $OBJ_ROOT instead of hard-coded '#/$BUILD_TYPE/' for the $*_DIR
variables.
* Add a addRepository() call mapping build/ to $TARGET_ROOT/googleurl,
so its $OBJ_ROOT value can look like the others'.
* Formatting changes, primarily modifying indentation to conform to
style guidelines.
* Fix copyright headers in some third_party/* modules
previously overlooked.
* Add rudimentary __doc__ strings, setting up for a future
ability to generate meaningful documentation.
Review URL: http://codereview.chromium.org/7807
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3675 0039d316-1c4b-4281-b951-d872f2087c98
|