summaryrefslogtreecommitdiffstats
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* speed up sconstc@google.com2008-10-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I did some profiling and found that we spend a lot of time in SCons/Subst.py resolving paths with $ vars in them. By pre-resolving some common $ vars, we can get a 16% speed up of an empty build (running hammer Hammer when everything is already built). On my work desktop, this is a saving from ~180s to do an empty build to ~150s to do an empty build. I found which symbols to pre-resolve by gathering stats on what symbols were resolved during a single run. Originally, these were the top 10 calls to StringSubber.substitute: 91466 /src/gclient-git/src/chrome 89457 $MAIN_DIR/Hammer 89457 $DESTINATION_ROOT 89447 $TARGET_ROOT/obj 65514 $OBJ_ROOT/webkit 18169 $OBJ_ROOT/third_party 8991 -I/src/gclient-git/src/webkit/pending 5700 $THIRD_PARTY_DIR/WebKit 4488 -I/src/gclient-git/src/webkit/port/platform/network 4488 -I/src/gclient-git/src/webkit/port/platform Afterwards, the top 10 calls were: 65514 /src/gclient-git/src/chrome/Hammer/obj/webkit 23933 /src/gclient-git/src/chrome/Hammer/obj 18169 $OBJ_ROOT/third_party 8991 -I/src/gclient-git/src/webkit/pending 5700 $THIRD_PARTY_DIR/WebKit 4488 -I/src/gclient-git/src/webkit/port/platform/network 4488 -I/src/gclient-git/src/webkit/port/platform 3813 $OBJ_ROOT/skia 3498 $THIRD_PARTY_DIR/icu38 3456 $THIRD_PARTY_WEBKIT_DIR/JavaScriptCore Adding these rules cuts the total number of calls to StringSubber.substitute from 1001817 to 665933. Review URL: http://codereview.chromium.org/8608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4010 0039d316-1c4b-4281-b951-d872f2087c98
* Add CCACHE_DIR to the list of environment variablestc@google.com2008-10-271-6/+9
| | | | | | | | | | that get passed to the build environment. This allows us to have our CCACHE_DIR off of NFS. Review URL: http://codereview.chromium.org/8610 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4002 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SCons build of the sandbox module, splitting out the individualsgk@google.com2008-10-271-1/+1
| | | | | | | targets into the new *.scons file naming scheme. Review URL: http://codereview.chromium.org/8616 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4000 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SCons modules build on Windows:sgk@google.com2008-10-251-1/+8
| | | | | | | | | | | | | | | * Add 'midl' Tool module. * Filter out the default OS_WINDOWS= definition from the Hammer modules, which messes up our build. * Fix the $PLATFORMSDK_VISTA definition. * Remove the current directory from the 'base' Alias (avoid cycles). * Remove by-hand addition of .lib, .pdb and .ilk files to the target list when build shared libraries (multiple places). * Comment out a post-action Touch() of the themes/default resource. (Thanks to bradnelson for many of the above individual fixes.) Review URL: http://codereview.chromium.org/8207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3980 0039d316-1c4b-4281-b951-d872f2087c98
* Actually adding the new scons toolkit (hammer) base tools to the builtbradnelson@google.com2008-10-241-60/+41
| | | | | | | | | environment. Things have been rigged temporarily so they emit to the same directories. Review URL: http://codereview.chromium.org/8139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3908 0039d316-1c4b-4281-b951-d872f2087c98
* Build TestShell againmark@chromium.org2008-10-241-1/+14
| | | | | | Review URL: http://codereview.chromium.org/7966 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3900 0039d316-1c4b-4281-b951-d872f2087c98
* Put webkit.xcodeproj:port back into the "all" build by making all.xcodeprojmark@chromium.org2008-10-241-76/+11
| | | | | | | depend on the "all" target in webkit. (Re-sniff port?) Review URL: http://codereview.chromium.org/7959 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3890 0039d316-1c4b-4281-b951-d872f2087c98
* Removing more dependencies on the relative location of $CHROME_SRC_DIR.bradnelson@google.com2008-10-232-5/+5
| | | | | | Review URL: http://codereview.chromium.org/7860 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3843 0039d316-1c4b-4281-b951-d872f2087c98
* Don't build glue as Objective-C++ now that PLATFORM_MAC is off. Re-sniff gluemark@chromium.org2008-10-231-0/+13
| | | | | | | in all.xcodeproj. Review URL: http://codereview.chromium.org/7901 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3800 0039d316-1c4b-4281-b951-d872f2087c98
* Build libxslt on the Mac. This seems to be needed while disablingmark@chromium.org2008-10-221-5/+46
| | | | | | | PLATFORM(MAC). Review URL: http://codereview.chromium.org/7893 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3786 0039d316-1c4b-4281-b951-d872f2087c98
* Take TestShell.xcodeproj:TestShell, webkit.xcodeproj:glue, andmark@chromium.org2008-10-221-26/+80
| | | | | | | | webkit.xcodeproj:port out of the "all" Mac build temporarily to accommodate PLATFORM(MAC) killing in progress. Review URL: http://codereview.chromium.org/7870 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3738 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Mac bustage from DEPS roll r3728mark@chromium.org2008-10-221-0/+1
| | | | | | Review URL: http://codereview.chromium.org/8058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3735 0039d316-1c4b-4281-b951-d872f2087c98
* Using $CHROME_SRC_DIR in place of hash/..bradnelson@google.com2008-10-224-10/+10
| | | | | | | | This will facilitate changing where the main sconstruct lives. Review URL: http://codereview.chromium.org/7847 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3725 0039d316-1c4b-4281-b951-d872f2087c98
* SCons renaming updates for base, net and googleurl:sgk@google.com2008-10-216-117/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Incrementally moving to new patterns.bradnelson@google.com2008-10-211-16/+16
| | | | | | | | HASH/$BUILD_TYPE -> $OBJ_ROOT Review URL: http://codereview.chromium.org/7801 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3646 0039d316-1c4b-4281-b951-d872f2087c98
* Rolling back switch to hammer patterns again.bradnelson@chromium.org2008-10-203-411/+437
| | | | | | Review URL: http://codereview.chromium.org/7530 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3637 0039d316-1c4b-4281-b951-d872f2087c98
* Modules Linux fixes:sgk@google.com2008-10-201-5/+12
| | | | | | | | | | | | | Construct the $THIRD_PARTY_DIR and $WEBKIT_DIR variables consistently with other $*_DIR variables. Don't execute test scripts from the VariantDir by default; everything isn't installed in the proper place yet. Use the 'build_component' variable from the submodule SConstruct files to restrict how much we build by default (e.g. don't try to build all of webkit if you're only working in base or net). Review URL: http://codereview.chromium.org/7524 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3626 0039d316-1c4b-4281-b951-d872f2087c98
* We have several cases where archives depend on each other in a cyclic fashion.agl@chromium.org2008-10-201-0/+17
| | | | | | | | | | | | | | | | (V8Bindings, libport and WebCore being the most significant example.) Since the GNU linker does only a single pass over the archives we need some extra trickery to deal with these unavoidable cycles. That trickey is --start-group and --end-group (aka -( and -) ). That causes ld to loop over the group until no more undefined symbols are found. In an ideal world we would only make groups from those libraries which we knew to be in cycles. However, that's tough with SCons, so we bodge it by making all the archives a group by redefining the linking command here. Review URL: http://codereview.chromium.org/7523 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3623 0039d316-1c4b-4281-b951-d872f2087c98
* Adding in new hammer patterns. Restored from rollback change 3578.bradnelson@chromium.org2008-10-183-437/+404
| | | | | | Review URL: http://codereview.chromium.org/7656 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3597 0039d316-1c4b-4281-b951-d872f2087c98
* Rolling back CL 3578, discovered hammer.bat had not been updated yet.bradnelson@chromium.org2008-10-183-404/+437
| | | | | | Review URL: http://codereview.chromium.org/7507 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3582 0039d316-1c4b-4281-b951-d872f2087c98
* Applying software construction toolkit patterns in scons build.bradnelson@chromium.org2008-10-173-437/+404
| | | | | | Review URL: http://codereview.chromium.org/6569 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3578 0039d316-1c4b-4281-b951-d872f2087c98
* improve layout tests by removing definition of DEBUG (libxml uses it to spew ↵pinkerton@google.com2008-10-151-1/+4
| | | | | | | | diagnostic output to stderr) Review URL: http://codereview.chromium.org/7149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3394 0039d316-1c4b-4281-b951-d872f2087c98
* Basic GTK test shell: links in the SConscript and brings up a window with ↵evanm@google.com2008-10-131-2/+2
| | | | | | | | | nonfunctioning UI. Review URL: http://codereview.chromium.org/2983 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3299 0039d316-1c4b-4281-b951-d872f2087c98
* Manually specify where googleurl object files should betc@google.com2008-10-092-32/+42
| | | | | | | | generated. They're currently ending up in src/build/googleurl but they should be in $TARGET_ROOT/googleurl. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3121 0039d316-1c4b-4281-b951-d872f2087c98
* Build some code and unit tests inside chrome. This depended on sqlite, somark@chromium.org2008-10-081-0/+140
| | | | | | | adding that too. Review URL: http://codereview.chromium.org/6361 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3055 0039d316-1c4b-4281-b951-d872f2087c98
* changes to get mac layout tests moving forward. Turn off objc GC and remove ↵pinkerton@google.com2008-10-081-1/+0
| | | | | | | | asserts in the plugin stub code that throw off the layout tests. Review URL: http://codereview.chromium.org/6588 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3026 0039d316-1c4b-4281-b951-d872f2087c98
* Implement MessageLoopForUI using GLib. This gets some exercise fromdsh@google.com2008-10-031-1/+2
| | | | | | | | | | base_unittest. BUG=1319 Review URL: http://codereview.chromium.org/4261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2834 0039d316-1c4b-4281-b951-d872f2087c98
* Re-catch-up SCons webkit build (r2734) plus:sgk@google.com2008-10-021-33/+51
| | | | | | | | | * Have v8 build v8.lib with snapshot=off. * Call the v8 build again to build copies of libraries-empty.obj and snapshot.obj with which we build v8_snapshot.lib. Review URL: http://codereview.chromium.org/6403 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2810 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the network state notifier and the corresponding DLL. This is likely ↵brettw@google.com2008-10-021-1/+1
| | | | | | | | | causing some startup performance regressions, and we don't really need it now anyway. We should have a different design when we implement this in the future. BUG=3076 Review URL: http://codereview.chromium.org/6404 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2808 0039d316-1c4b-4281-b951-d872f2087c98
* Get more of webkit building under Linux.erg@google.com2008-10-021-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2798 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r2734 (catch up SCons build with webkit). It relied on asgk@google.com2008-10-021-42/+31
| | | | | | | leftover file from previous incremental builds. Review URL: http://codereview.chromium.org/6084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2797 0039d316-1c4b-4281-b951-d872f2087c98
* * Get linux building with the merge brancherg@google.com2008-10-011-1/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2781 0039d316-1c4b-4281-b951-d872f2087c98
* Merge the chrome_webkit_merge_branch back on to trunk. This brings ustc@google.com2008-10-011-1/+1
| | | | | | | up to webkit@36102. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2778 0039d316-1c4b-4281-b951-d872f2087c98
* Move Perl construction variables into the base constructionsgk@google.com2008-10-011-6/+8
| | | | | | | environment to generate bindings on all platforms. Review URL: http://codereview.chromium.org/5619 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2766 0039d316-1c4b-4281-b951-d872f2087c98
* Catch up the SCons webkit build:sgk@google.com2008-09-301-31/+42
| | | | | | | | | | | | | * Use the configuration options of the webkit SCons build itself to build a v8.lib with snapshot=off. * Move the build of v8_snapshot.lib (renamed from snapshotv8.lib) from chrome\SConscript to build\SConscript.v8. * Use the libraries{,-empty}.obj and snapshot{,-empty}.obj files from the v8 build itself instead of rolling our own. * Re-order thing in build/SConscript.v8 for readability (I hope). Review URL: http://codereview.chromium.org/5615 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2734 0039d316-1c4b-4281-b951-d872f2087c98
* Get open-vcdiff building on Linux and Mac (in SCons) usingsgk@google.com2008-09-301-0/+2
| | | | | | | | | | | | | | | | | captured values for generating a config.h file. Builds base/sdch_{filter,manager}.cc on all platforms and links the 'sdch' library. Add sdch to the SCons configuration loaded on Mac and Linux. Removes platform #ifs in net/base/filter.cc initialization code (reverting r2740). B=2662 Review URL: http://codereview.chromium.org/5204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2710 0039d316-1c4b-4281-b951-d872f2087c98
* ICU changessgk@google.com2008-09-291-1/+1
| | | | | | | | | | | | | * Add an ICU_UTIL_DATA_IMPL #defines to control whether we're expecting the ICU data as ICU_UTIL_DATA_{SHARED,STATIC,FILE}. * Set defaults on the platforms to match our current practice: Windows => shared, Linux => file, Mac => static. * On Mac, link the separate icui18n, icuuc and icudata libs (matching how we're building there), instead of the common icu lib. * Roll the icu38 revision in DEPS to get the updated SCons build. Review URL: http://codereview.chromium.org/5022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2669 0039d316-1c4b-4281-b951-d872f2087c98
* Roll the third_party/icu38 revision in DEPS to have SCons build libicu,sgk@google.com2008-09-262-1/+7
| | | | | | | | | | not libicuuc. Add a new $ICU_LIBS construction variable to allow different platforms to link with different sets of ICU libraries. Use it in the LIBS lists of the various construction environments used to build the things that link with it. Review URL: http://codereview.chromium.org/4312 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2651 0039d316-1c4b-4281-b951-d872f2087c98
* "--clobber" should come before the build directory setup.mmoss@google.com2008-09-261-7/+8
| | | | | | | | | | | Otherwise it deletes the build directory and db file which are needed by the rest of the build, causing the build to fail. Fixes error: scons: *** [Errno 2] No such file or directory: 'src/chrome/src/chrome/Hammer/.sconsign.dblite' Review URL: http://codereview.chromium.org/5010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2638 0039d316-1c4b-4281-b951-d872f2087c98
* Use open-vcdiff for sdch compression on the Macmark@chromium.org2008-09-261-2/+43
| | | | | | Review URL: http://codereview.chromium.org/4096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2628 0039d316-1c4b-4281-b951-d872f2087c98
* When we re-invoke SCons for the V8 build, quiet the warningsgk@google.com2008-09-251-1/+3
| | | | | | | | from the latest SCons version about the lack of pywin32 extensions making parallel support shaky in some corner cases. Review URL: http://codereview.chromium.org/4280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2598 0039d316-1c4b-4281-b951-d872f2087c98
* Get libevent building and linking in base_unittests in the Mac SCons build:sgk@google.com2008-09-241-1/+3
| | | | | | | | | | | | | | | | | | * Call the $LIBEVENT_DIR/SConscript file on both Linux and Mac. * Add generation of the config.h file. * Modify the libevent_prebuild.sh script so SCons can pass in the input file name (because SCons executes things from top of tree) but the script still defaults to what XCode wants. * Only build epoll.c and epoll_sub.c on Linux. * Only build kqueue.c on Mac. * Add -framework AppKit to the link lines. * Add -fobjc-gc to Objective C compilation. * Add message_pump_mac.mm to the base input file list on Mac. * Build message_pump_libevent.cc on for base on both Linux and Mac. * Link against -levent on both Linux and Mac. Review URL: http://codereview.chromium.org/4254 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2555 0039d316-1c4b-4281-b951-d872f2087c98
* Replace duplicate compiler output lines when compiling shared C/C++ object ↵sgk@google.com2008-09-241-0/+2
| | | | | | | | files with the same "Compiling ..." messages we get when compiling static object files. Review URL: http://codereview.chromium.org/3802 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2550 0039d316-1c4b-4281-b951-d872f2087c98
* Update v8 path for snapshot-empty.obj.sgk@google.com2008-09-241-1/+1
| | | | | | Review URL: http://codereview.chromium.org/4060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2535 0039d316-1c4b-4281-b951-d872f2087c98
* Add TestShell to the All target. Makes the Mac buildbot build TestShell.mark@chromium.org2008-09-231-0/+41
| | | | | | Review URL: http://codereview.chromium.org/4052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2511 0039d316-1c4b-4281-b951-d872f2087c98
* Set GCC_ENABLE_OBJC_GC = supported globally. Valid values are unsupported,mark@chromium.org2008-09-231-1/+1
| | | | | | | supported, and required. Review URL: http://codereview.chromium.org/4047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2508 0039d316-1c4b-4281-b951-d872f2087c98
* Add a 'googleurl' Alias so we don't have to list specificsgk@google.com2008-09-231-0/+2
| | | | | | | googleurl target files by hand on the command line. Review URL: http://codereview.chromium.org/4226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2506 0039d316-1c4b-4281-b951-d872f2087c98
* Update Linux / SCons build for SDCH.sgk@google.com2008-09-231-0/+4
| | | | | | Review URL: http://codereview.chromium.org/4046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2497 0039d316-1c4b-4281-b951-d872f2087c98
* Build libevent on Macmark@chromium.org2008-09-181-0/+71
| | | | | | Review URL: http://codereview.chromium.org/3157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2384 0039d316-1c4b-4281-b951-d872f2087c98
* Merge http://v8.googlecode.com/svn/branches/bleeding_edge/tools/v8.xcodeproj@319mark@chromium.org2008-09-182-0/+384
| | | | | | | to our copy (includes changes from r300 too). Review URL: http://codereview.chromium.org/2971 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2375 0039d316-1c4b-4281-b951-d872f2087c98