* Add third_party/purify/pure_api.c to the base\base_lib.scons sources.
* Support specification of CHROME_BUILD_TYPE (and CHROMIUM_BUILD
while we're here) either on the command line or as an
external environment variable.
* Fix syntax error in release_impl_purify.scons (previously unused).
* Add a central $CHROMIUM_CC_OPT_FLAGS variable (included in $CCFLAGS)
that can be used to set explicitly the optimization level without
having to worry about optimization flags being pulled in from other
settings files.
Review URL: http://codereview.chromium.org/11368
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5887 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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: http://src.chromium.org/svn/trunk/src/build@5820 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
build\*.scons structure (mirroring build\*.vsprops files):
* Use env.ApplySConscript() instead of env.SConscript with a
hand-crafted dictionary defining 'env'.
* Move various CPPPATH, CCFLAGS, CPPDEFINES, LIBS and LIBPATH
definitions from build/SConscript.main and target-specific
*.scons files into the build\*.scons files that mirror the
existing build\*.vsprops hierarchy.
* Use the new build\{debug,release}.scons files to update the
windows_dbg and windows_opt construction environments.
* Mirror current support for CHROME_BUILD_TYPE and CHROMIUM_BUILD
external environment variables.
* Remove hard-coded /TP options.
* Massage $CXXFLAGS to remove $CCFLAGS, avoiding duplication of options
on command lines. Handle the ripple effect in $PCHCOM by adding
$CCFLAGS back to that command line.
* Delete hammer's default settings of {CC,LINK}FLAGS_{DEBUG,OPTIMIZED}
so they don't pollute our construction environments.
* Update chrome config to link against v8 for opt, v8_g for dbg.
* Get rid of fragile by-hand order of using_net.scons before other
using_*.scons files. We're now using --start-group and --end-group
on Linux to deal with dependency cycles in libraries.
Review URL: http://codereview.chromium.org/11478
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5741 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This allows the LayoutTest harness to run on Linux. Note that the tests still
don't run properly because Linux test_shell is missing the ability to read URLs
from stdin (causing the test_shell to just sit there waiting for input). I'll
add that in another CL.
BUG=4281
Review URL: http://codereview.chromium.org/10413
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5566 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
webkit\SConscript, as a place for calling renamed *.scons files.
Add 'webkit' and 'chrome' COMPONENT_PROGRAM_GROUPS and
COMPONENT_TEST_PROGRAM_GROUPS so the generated .exe files get
copied correctly into the Hammer\ build subdirectory.
Review URL: http://codereview.chromium.org/10768
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5518 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Rename SConscript to *.scons in the following directories:
third_party\{bspatch,bsdiff,lzma_dsk}
chrome\installer\{setup,mini_installer,util}
* Split mini_installer and installer_unittests into separate *.scons files.
* Add using_bspatch.scons and using_lzma_sdk.scons "properties" files,
modifying other *.scons files to use them as appropriate.
Review URL: http://codereview.chromium.org/10952
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5515 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Fix the grit tool so it works with Repository() directories (and
tap gspencer to upstream the changes).
* Fix the evaluation of $PRE_EVALUATE_DIRS, which was interfering
with sucking up the source files for listing in the .vcproj files.
* Set AlwaysBuild() on the project files so they're always
evaluated for up-to-dateness when 'all_solutions' is the target.
Review URL: http://codereview.chromium.org/10725
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5440 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Added a dummy media.cc file in order to produce media.lib so there are no
linker errors when building media_unittests.exe. Currently chrome_dll
does NOT depend on media so it will not be linked in, which is OK for now :)
Review URL: http://codereview.chromium.org/10683
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5389 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add march flag to builds. Our system compilers are assuming > i386 already, but
not all gcc installations will do this. Without an march flag, gcc assumes only
a 386 and then some atomic operations are compiled to undefined references
which break linking.
Review URL: http://codereview.chromium.org/10689
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5363 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
a variable called SYSTEM_LIBS, consisting of a comma-separated
list of system libraries. So far, bzip2, libpng, libjpeg,
libxml, libxslt, lzma_sdk, zlib, hunspell, sqlite, libevent are recognized.
BUG=4321
Review URL: http://codereview.chromium.org/10626
Patch from Fabien Tassin <fta@sofaraway.org>.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5320 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
the number of CPUs. This at least allows the build to function
on unknown systems.
Remove a now-unnecessary addition of $V8_DIR to LIBPATH. The
v8 libraries now get installed in $LIBS_DIR like everyone else.
Review URL: http://codereview.chromium.org/10208
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5007 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
in base, net and sandbox:
* Remove by-hand Install() and Alias() calls.
* Set $COMPONENT_PROGRAM_GROUPS and $COMPONENT_TEST_PROGRAM_GROUPS
(with in each foo\foo.scons file) so executables get added
automatically to the appropriate Alias.
* Set $TESTS_DIR and $STAGING_DIR so executables get linked
directly in their final resting place ($TARGET_ROOT).
Review URL: http://codereview.chromium.org/9188
git-svn-id: http://src.chromium.org/svn/trunk/src/build@4805 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Rename SConscript.unit_tests to test/unit/unit_tests.scons.
* Add a new chrome/chrome.scons "master" for building everything
chrome. Have it just load the existing SConscript file, and
the new test/unit/unit_tests.scons file. We'll move things from
SConscript (or elsewhere) into chrome.scons as they get convertd.
* Change build/SConscript.main to load chrome/chrome.scons.
* Add new using_libjpeg.scons, using_libxml.scons, and using_libxslt.scons
"properties" files.
* Convert test/unit/unit_tests.scons to use the available using_*.scons files.
* Combine settings that were scattered throught test/unit/unit_tests.scons
to make it a little more readable.
* Add $CHROME_DIR/ to the beginning of the file listed in
test/unit/unit_tests.scons, since they're now being interpreted
from a SConscript file down two directory levels.
Review URL: http://codereview.chromium.org/9005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@4448 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Initially, it only supports the Ubuntu 8.04 flavor of Linux, but
we should expand that as time goes on.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@4330 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Use SCons -C to invoke the v8 build from our own build directory,
using the -Y option to pull all source files from the v8 source
directory, to avoid building things under src/v8.
* Make sure the build directory exists before we invoke the subsidiary
SCons that will chdir there.
* Build libv8_snapshot.a in the obj/v8 directory, not src/build.
* Remove the svn:ignore property from src/build (specifically libv8snapshot.a).
* Correct the $LIBS_DIR location of libv8.a.
* Use the actual file names involved instead of local Python variables.
* Don't forcibly add our targets to other component's Aliases.
Review URL: http://codereview.chromium.org/8851
git-svn-id: http://src.chromium.org/svn/trunk/src/build@4099 4ff67af0-8c30-449e-8e8b-ad334ec8d88c