summaryrefslogtreecommitdiffstats
path: root/build/SConscript.main
Commit message (Collapse)AuthorAgeFilesLines
* Remove the checked-in scons configuration files.sgk@google.com2009-04-011-909/+0
| | | | | | Review URL: http://codereview.chromium.org/53121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12982 0039d316-1c4b-4281-b951-d872f2087c98
* Print out some warnings on unsupported build flags.evan@chromium.org2009-04-011-1/+10
| | | | | | | | Cuts down on bug reports. Review URL: http://codereview.chromium.org/57077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12925 0039d316-1c4b-4281-b951-d872f2087c98
* Update Linux gyp build to import and propagate external environmentsgk@google.com2009-03-261-0/+2
| | | | | | | | | | variables ($CC, $DISTCC_DIR, $HOME, etc.). Accomodate spelling change ($CHROME_SRC_DIR => $SRC_DIR) that makes the gyp SCons a little more generic. Use the new $LIB_DIR variable the gyp SCons generator now defines for us. Review URL: http://codereview.chromium.org/42650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12583 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure *BUILD* env vars are passed around for Linux official builds.mmoss@chromium.org2009-03-261-0/+1
| | | | | | | Review URL: http://codereview.chromium.org/42637 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12558 0039d316-1c4b-4281-b951-d872f2087c98
* Propagate CC, CXX variables to Webcore and v8.thestig@chromium.org2009-03-251-0/+1
| | | | | | | I realize this will all go away Any Day Now. Until then, we can speed things up a bit more. Review URL: http://codereview.chromium.org/53029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12425 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Linux: back off build to only require P3"agl@chromium.org2009-03-241-2/+2
| | | | | | | This reverts commit r12389. Maybe a GCC bug in it's SSE implementation. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12402 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: back off build to only require P3agl@chromium.org2009-03-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The current linux version of chromium will instantly crash with SIGILL on an Athlon/AthlonXP/AthlonMP class processor. It will presumably do the same thing on the pentium3. This is because it's built to use SSE2 instructions to implement floating point. We cannot build for i686 normally because we can't have the floating point results be different between debug/opt builds. Without forcing it to use SSE that happens (and it has a lot of noticeable effects on our tests). For builds which users actually use, I expect the distros will back off the compiler flags because people won't be using those builds for development. However, I'm landing this patch because there's little point in causing problems for SSE1 only chips because it will only make 3rd party contributions harder. Thanks. The only downside is minutely slower double precision floating point. (Patch from Elladan) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12389 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Use -mfpmath=sse to remove differences between opt and debugagl@chromium.org2009-03-161-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (note: this change now requires a P4 to build. It's easy to back it out for older processors, but they shouldn't be used to run layout-tests.) We are seeing issues where the opt build ends up with very slightly different colours in layout tests than the debug build. This is probably due to floating point rounding differences. All floating-point computations on x87 happens in 80-bit precision. Because the C and C++ language standards allow the compiler to keep the floating-point values in higher precision than what's specified in the source and doing so is more efficient than constantly rounding up to 64-bit or 32-bit precision as specified in the source, the compiler, especially in the optimized mode, tries very hard to keep values in x87 floating-point stack (in 80-bit precision) as long as possible. This has important side effects, that the real value used in computation may change depending on how the compiler did the optimization - that is, the value kept in 80-bit is different than the value rounded down to 64-bit or 32-bit. There are possible compiler options to make this behavior consistent (e.g. -ffloat-store would keep all floating-values in the memory, thus force them to be rounded to its original precision) but they have significant runtime performance penalty. -mfpmath=sse -msse2 makes the compiler use SSE instructions which keep floating-point values in SSE registers in its native precision (32-bit for single precision, and 64-bit for double precision values). This means the floating-point value used during computation does not change depending on how the compiler optimized the code, since the value is always kept in its specified precision. Internal performace tests of these options shows that it's not a clear performance win or loss across the board. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11751 0039d316-1c4b-4281-b951-d872f2087c98
* Have the gyp build use base SCons, not Hammer components, so it cansgk@google.com2009-03-131-19/+25
| | | | | | | | control the Alias namespace directly and set appropriate default targets. This currently switches within the various Chrome*() calls. Review URL: http://codereview.chromium.org/46037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11657 0039d316-1c4b-4281-b951-d872f2087c98
* Build test_shell and test_shell_tests on Linux from gyp-generated scons files:sgk@google.com2009-03-061-1/+7
| | | | | | | | | | | | | | | | | | | | | | * Catch up to recent changes: * Rename RenderThemeChromiumGtk.cpp to RenderThemeChromiumLinux.cpp. * Fix spelling of V*NPObject.{cpp,h} * Explicitly include varions WebCore *Gtk.cpp and *Linux.cpp files that are excluded by the general regular expression. * Add webinput_event_util.cc. * Exclude glue/plugins/plugin_stubs.cc. * Add a Linux test_shell_resources target to build test_shell_resources.{h,pak}. * Add an explicit test_shell action to repack resources into test_shell.pak. * Use -Wno-multichar when building libtest_shell_common.a. * Use -DWTF_USE_PTHREADS when building libwtf.a, and when dependent targets compile against it. * Use tools/test_shell/test_shell_main{,_GYP}.scons as the main entry point for GYP-based builds of webkit. * Add base/gfx/gtk_util.cc to the base build. Review URL: http://codereview.chromium.org/39219 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11160 0039d316-1c4b-4281-b951-d872f2087c98
* Move the main entry point *.scons files in the key remaining componentssgk@google.com2009-03-041-4/+4
| | | | | | | | | (net, webkit, chrome) to *_main.scons, so we can use GYP=1 on the command line to switch between old and new while tracking down the remaining inconsistencies. Review URL: http://codereview.chromium.org/39080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10882 0039d316-1c4b-4281-b951-d872f2087c98
* Start stitching GYP-generated files into the Linux build:sgk@google.com2009-03-031-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a GYP=1 command-line variable to use the gyp-generated files (which are generated side-by-side until everything's okay enough to cut over for real). * Rearrange existing *.scons files to match the layout of the gyp-generated ones, so the transition will be easier: * base.scons (the wrapping logic that calls the other *.scons files) => base_sln.scons * base_lib.scons (the library itself) => base.scons (matching the gyp target generation) * gfx/base_gfx.scons => base_gfx.scons (with necessary prepending of "gfx/" to path names) build/SConscript.main fixes: * Use an internal ${_GYP} infix variable to select the right flavor of *.scons file (multiple places) * When building with GYP=1, only load the one component *_sln_gyp.scons file, because gyp has already created it with knowledge of all the right dependent *_gyp.scons files to load. Linux gyp build fixes: * Add -32 to $ASFLAGS for generating a 32-bit libicudata.a from the now-checked in .s. * Add -Wno-unused and -Wno-unused-function to skia. Review URL: http://codereview.chromium.org/28207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10759 0039d316-1c4b-4281-b951-d872f2087c98
* Multiple fixes for broken Linux SHARED=1 build. This gets things building, ↵mmoss@chromium.org2009-02-231-1/+1
| | | | | | | | | but the resulting 'chrome' binary crashes on start-up (test_shell seems to work better). Review URL: http://codereview.chromium.org/27054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10228 0039d316-1c4b-4281-b951-d872f2087c98
* Add linux printing module.maruel@chromium.org2009-02-211-0/+2
| | | | | | Review URL: http://codereview.chromium.org/27008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10136 0039d316-1c4b-4281-b951-d872f2087c98
* Remove filtering out of some libraries from shared links.evan@chromium.org2009-02-121-9/+0
| | | | | | | Review URL: http://codereview.chromium.org/23024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9658 0039d316-1c4b-4281-b951-d872f2087c98
* Remove LIBS_DIR usage.evan@chromium.org2009-02-091-3/+0
| | | | | | | | | It doesn't seem to occur anywhere in the SCons code nor in ours(?). Review URL: http://codereview.chromium.org/20174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9416 0039d316-1c4b-4281-b951-d872f2087c98
* Add media/base to the build.thestig@chromium.org2009-01-291-1/+0
| | | | | | | r8805 made it compile. Review URL: http://codereview.chromium.org/19422 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8842 0039d316-1c4b-4281-b951-d872f2087c98
* Add sqlite to list of things to build.thestig@chromium.org2009-01-281-0/+11
| | | | | | | | Follow up to issue 19041/r8767. Building with SHARED=1 --mode=opt got errors with missing sqlite. Move sqlite append from chrome/SConscript to build/SConscript.main. Review URL: http://codereview.chromium.org/19615 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8798 0039d316-1c4b-4281-b951-d872f2087c98
* Allow "hammer Hammer SHARED=1" to build cleanly.tc@google.com2009-01-271-0/+10
| | | | | | | | | | This change is just disabling the targets that don't currently work. This is needed for the debug linux webkit builder that is coming online real soon now. Review URL: http://codereview.chromium.org/19041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8767 0039d316-1c4b-4281-b951-d872f2087c98
* More updates to build optimization settings.deanm@chromium.org2009-01-271-4/+5
| | | | | | | | | | | | | | - Don't pass -s, this doesn't really help anything. The way we will have to generate our final executables is with -g, and then strip them, since we will need to keep the original for its symbols. - Only gc sections in official build. This might slightly improve release link time (at the cost of size). This allows release to build with GOLD. Review URL: http://codereview.chromium.org/18846 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8717 0039d316-1c4b-4281-b951-d872f2087c98
* Force SCons to use the VC8 toolchain. (Take 2)maruel@chromium.org2009-01-271-0/+5
| | | | | | | | | | In the presence of an installed copy of the 6.1 SDK, SCons would pick up on the presence of the VC9 toolchain which tags along with it. It would proceed to populate the environment with a mismatched set of paths referring to VC9 includes and libs, which in turn would cause the chrome base build to terminate with a LNK1103 error complaining of corrupt symbols. Patch contributed by Siggi @ Google. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8713 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 8665.maruel@chromium.org2009-01-261-4/+0
| | | | | | | Broke linux build. Review URL: http://codereview.chromium.org/18820 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8667 0039d316-1c4b-4281-b951-d872f2087c98
* Force SCons to use the VC8 toolchain. maruel@chromium.org2009-01-261-0/+4
| | | | | | | | | | In the presence of an installed copy of the 6.1 SDK, SCons would pick up on the presence of the VC9 toolchain which tags along with it. It would proceed to populate the environment with a mismatched set of paths referring to VC9 includes and libs, which in turn would cause the chrome base build to terminate with a LNK1103 error complaining of corrupt symbols. Patch contributed by Siggi @ Google. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8665 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce the size of a release test_shell from 18mb to 12mb.deanm@chromium.org2009-01-261-0/+7
| | | | | | | | | | | | | | | - Strip all symbols. We previously had many exported symbols. - GC sections. -fdata/function-sections make sure each piece of code/data has it's own section, since GC works on an entire section. I will follow up on the V8 build with the same. - Remove the ident pragmas. For example, we previously had a string like: GCC: (GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu1) Repeated in the .comment section (one for each object?). This data is just metadata. Review URL: http://codereview.chromium.org/18586 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8636 0039d316-1c4b-4281-b951-d872f2087c98
* Add a official build target for Linux, builds with OFFICIAL_BUILD.deanm@chromium.org2009-01-261-0/+5
| | | | | | | Review URL: http://codereview.chromium.org/18748 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8631 0039d316-1c4b-4281-b951-d872f2087c98
* Add using_generated_resources.scons to the build. Thistc@google.com2009-01-061-0/+1
| | | | | | | | | | | is the same as using_generated_resources.vsprops. Replace existing paths with this scons file if the SConscript file has already been converted to the using_ format. Review URL: http://codereview.chromium.org/14902 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7583 0039d316-1c4b-4281-b951-d872f2087c98
* Add a small utility for dumping the system clipboard's contents on GTK.estade@chromium.org2009-01-051-0/+4
| | | | | | Review URL: http://codereview.chromium.org/14175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7562 0039d316-1c4b-4281-b951-d872f2087c98
* Update build files to use PSDK 6.1 (platformsdk_win2008_6_1). This is ↵jungshik@google.com2008-12-311-3/+3
| | | | | | | | | | | | | | | | | necessary for dynamic font support. This is a re-run of http://codereview.chromium.org/14908/show (except that chrome_dll.deps file which needs to be updated along with the actual code change) This will be followed by http://codereview.chromium.org/16494 (actual webkit code change) and changes in webkit/build BUG=1303 Review URL: http://codereview.chromium.org/16496 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7520 0039d316-1c4b-4281-b951-d872f2087c98
* Revert sdk 6.1 upgrade changes.jungshik@google.com2008-12-301-3/+3
| | | | | | | | TBR=nsylvain Review URL: http://codereview.chromium.org/17021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7501 0039d316-1c4b-4281-b951-d872f2087c98
* Change build-related files to use Windows SDK 6.1 instead of Windows SDK 6.0.jungshik@google.com2008-12-301-3/+3
| | | | | | | | | | | SDK upgrade is necessary to support dynamic/webfont because SDK 6.0 does not have t2embapi.h and t2embed.lib. SDK 6.1 is compatible with WIn XP and VS 2005 or later. FYI: http://codereview.chromium.org/14084/show is the CL for adding web/dynamic font support. Review URL: http://codereview.chromium.org/14908 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7500 0039d316-1c4b-4281-b951-d872f2087c98
* Mass convert ChromeStaticLibrary -> ChromeLibrary, including pulling the ↵evanm@google.com2008-12-261-0/+4
| | | | | | | | | | | updated ICU dep that uses it as well. Add a SHARED scons command-line flag to build shared libraries. Review URL: http://codereview.chromium.org/16477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7479 0039d316-1c4b-4281-b951-d872f2087c98
* Initial subset of .vcproj file generation, covering generation of:sgk@google.com2008-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Initial generation of native Visual Studio solution filessgk@google.com2008-12-191-5/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Underlying functionality for generating native Visual Studio solution files:sgk@google.com2008-12-171-2/+18
| | | | | | | | | | | | | | | | * New _Node_MSVS.py module (from rspangler) with new MSVSFolder(), MSVSProject() and MSVSSolution() Nodes. This will eventually become a new SCons/Node/MSVS.py module in upstream SCons. * New MSVSNew.py Tool module imports MSVS.py (either from SCons.Node or from our temporary _Node_MSVS.py module) and attaches the appropriate environment methods. * MSVSSolution().Write() will generate a solution file based on explicit configuration in the SConscript files. * While we're here, define $SQLITE_DIR, which will be used by the next checkins. Review URL: http://codereview.chromium.org/14467 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7120 0039d316-1c4b-4281-b951-d872f2087c98
* Remove few more errors in mac scons build.phajdan.jr@chromium.org2008-12-151-0/+2
| | | | | | | BUG=5525 Review URL: http://codereview.chromium.org/14113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6981 0039d316-1c4b-4281-b951-d872f2087c98
* Removing VERBOSE=1 option, superceeded by standard hammer --verbose option.bradnelson@chromium.org2008-12-131-10/+0
| | | | | | Review URL: http://codereview.chromium.org/14082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6962 0039d316-1c4b-4281-b951-d872f2087c98
* First step to unbreak scons build on Mac.phajdan.jr@chromium.org2008-12-111-0/+3
| | | | | | Review URL: http://codereview.chromium.org/13354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6790 0039d316-1c4b-4281-b951-d872f2087c98
* Support gprof and symbols options to the Linux build.deanm@chromium.org2008-12-101-0/+9
| | | | | | | | Both will work in either dbg or opt. SYMBOLS=1 is useful when building an opt build with debugging symbols. PROFILE=1 builds with gprof instrumentation. Review URL: http://codereview.chromium.org/13337 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6700 0039d316-1c4b-4281-b951-d872f2087c98
* Remove -Wno-unknown-pragmas from global compiler flags on Linux.evanm@google.com2008-12-091-1/+0
| | | | | | | | | | BUG=2053 Review URL: http://codereview.chromium.org/13175 Patch from Paweł Hajdan jr <phajdan.jr@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6597 0039d316-1c4b-4281-b951-d872f2087c98
* Stop filtering out the 'gears' SConscript on linux and mac.mpcomplete@chromium.org2008-12-041-2/+0
| | | | | | Review URL: http://codereview.chromium.org/12929 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6341 0039d316-1c4b-4281-b951-d872f2087c98
* Allows scons build to use local copy of platformsdk if one is not bundled ↵bradnelson@chromium.org2008-12-031-2/+8
| | | | | | | | side-by-side. Review URL: http://codereview.chromium.org/12915 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6305 0039d316-1c4b-4281-b951-d872f2087c98
* Parameterize the "Hammer" subdirectory name in which we build assgk@google.com2008-12-031-14/+15
| | | | | | | | | | $BUILD_TARGET_DIR, so it can be set to "Debug" or "Release' to mimic Visual Studio, or whatever other subdirectory the user prefers. Fix PROGRESS= on Linux so the messages go to /dev/tty. Remove the now-unnecessary in-SCons support for --clobber. Review URL: http://codereview.chromium.org/13087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6301 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes and enhancementssgk@google.com2008-12-021-17/+39
| | | | | | | | | | | | | | | | | | * Configurable CHROME_BUILD_TYPE command line or external environment variable for selecting appropriate release_impl*.scons settings (_checksenabled, _coverage, _dom_stats, _official, _purify). * Configurable CHROMIUM_BUILD command line or external environment variable for selecting appropriate chromium_build*.scons settings (_google_chrome). * Configurable /INCREMENTAL linking via command line or external environment variable ($INCREMENTAL), through appropriate setting of an internal $CHROMIUM_INCREMENTAL_FLAGS construction variable. * Full link of release builds by default. * Alphabetize *.scons files in the mac_env.FilterOut() list. * Explicitly set _checksenabled.scons link flags. Review URL: http://codereview.chromium.org/13039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6210 0039d316-1c4b-4281-b951-d872f2087c98
* Remove dependancies on gcc/perl etc. This saves a bunch of stats andagl@chromium.org2008-11-251-0/+5
| | | | | | | | | full rebuilds whenever changing compilers etc. Review URL: http://codereview.chromium.org/12436 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5983 0039d316-1c4b-4281-b951-d872f2087c98
* Purify support:sgk@google.com2008-11-221-2/+11
| | | | | | | | | | | | | | | * 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: svn://svn.chromium.org/chrome/trunk/src@5887 0039d316-1c4b-4281-b951-d872f2087c98
* Fix use of LOAD= with WantSystemLib() (we could blow up if a variablesgk@google.com2008-11-211-130/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Finish release (opt) builds on Windows, including the parallelsgk@google.com2008-11-201-70/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@5741 0039d316-1c4b-4281-b951-d872f2087c98
* Don't build with exception support, we don't use exceptions.deanm@chromium.org2008-11-191-1/+1
| | | | | | | | This makes the output executable substantially smaller because it won't emit .eh_frame and .eh_frame_hdr header sections. These were previously ~1.2mb for an opt test_shell. Review URL: http://codereview.chromium.org/11265 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5675 0039d316-1c4b-4281-b951-d872f2087c98
* Move dmg_fp in scons build to compile fromtc@google.com2008-11-151-2/+0
| | | | | | | | base/third_party/dmg_fp and compile it into base_lib. Review URL: http://codereview.chromium.org/10769 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5521 0039d316-1c4b-4281-b951-d872f2087c98
* Add a webkit.scons file in between build\SConscript.main andsgk@google.com2008-11-141-1/+1
| | | | | | | | | | 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: svn://svn.chromium.org/chrome/trunk/src@5518 0039d316-1c4b-4281-b951-d872f2087c98