forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix use of LOAD= with WantSystemLib() (we could blow up if a variable
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
- Loading branch information
sgk@google.com
committed
Nov 21, 2008
1 parent
140d59c
commit 11e020f
Showing
16 changed files
with
262 additions
and
228 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | ||
# Use of this source code is governed by a BSD-style license that can be | ||
# found in the LICENSE file. | ||
|
||
""" | ||
Tool module for adding, to a construction environment, Chromium-specific | ||
wrappers around Hammer builders. This gives us a central place for any | ||
customization we need to make to the different things we build. | ||
""" | ||
|
||
def generate(env): | ||
def ChromeProgram(env, *args, **kw): | ||
return env.ComponentProgram(*args, **kw) | ||
env.AddMethod(ChromeProgram) | ||
|
||
def ChromeTestProgram(env, *args, **kw): | ||
return env.ComponentTestProgram(*args, **kw) | ||
env.AddMethod(ChromeTestProgram) | ||
|
||
def ChromeStaticLibrary(env, *args, **kw): | ||
kw['COMPONENT_STATIC'] = True | ||
return env.ComponentLibrary(*args, **kw) | ||
env.AddMethod(ChromeStaticLibrary) | ||
|
||
def ChromeSharedLibrary(env, *args, **kw): | ||
kw['COMPONENT_STATIC'] = False | ||
return [env.ComponentLibrary(*args, **kw)[0]] | ||
env.AddMethod(ChromeSharedLibrary) | ||
|
||
def ChromeObject(env, *args, **kw): | ||
return env.ComponentObject(*args, **kw) | ||
env.AddMethod(ChromeObject) | ||
|
||
def exists(env): | ||
return True |
Oops, something went wrong.