Граф коммитов

979 Коммитов

Автор SHA1 Сообщение Дата
willchan@chromium.org 689d23c991 Enable TCMalloc on Linux by default.
This change also reworks the tcmalloc dependency to be added only to chrome and test_shell, instead of base.  This is necessary since otherwise tcmalloc will be double initialized (by both the main executable and dlopen'd shared objects like the npapitestplugin.so).
Add valgrind suppressions.  This are invalid reads on static initialization in the VDSOSupport module.  I haven't investigated it yet, but I suspect they're benign.
BUG=http://crbug.com/28149, http://crbug.com/28385

Review URL: http://codereview.chromium.org/399081

git-svn-id: http://src.chromium.org/svn/trunk/src/build@33010 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-25 00:17:53 +00:00
mmoss@chromium.org 58136e96ad Make Linux packaging options more granular.
This allows us to not waste time building packages/channels we don't care about. Also added option to build new 'trunk' channel packages, which are a special configuration for developer testing.

Review URL: http://codereview.chromium.org/418021


git-svn-id: http://src.chromium.org/svn/trunk/src/build@32879 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-23 22:39:32 +00:00
estade@chromium.org 715ff211e2 Move Mac to using renderer spellchecker.
BUG=25677

Review URL: http://codereview.chromium.org/395007

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32561 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-19 22:44:29 +00:00
hclam@chromium.org 61202ca47a test_shell buildable on ARM
GYP changes to allow test_shell be buildable on ARM so we can
use it as a minimal browser for testing purpopse.

Review URL: http://codereview.chromium.org/399077

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32386 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-18 20:35:54 +00:00
evan@chromium.org 288dfc2bf3 linux: pass --gc-sections in link line
We have compile flags set up to support using --gc-sections, but apparently
we aren't using it for the actual link!  It was probably lost during the gyp
conversion.

This has a few-megabyte difference on binary size.

(Trying submit again, hopefully thestig successfully converted bots...)

Review URL: http://codereview.chromium.org/399048

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32330 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-18 17:07:13 +00:00
evan@chromium.org 4557c47ab4 linux: set a compiler flag that drops the eh_frame section
eh_frame is data used for exception frames.  We already disable exceptions,
but it turns out this obscure extra flag was responsible for the eh_frame
making it into our binaries.

This shaves off another few megabytes from our binaries.

Review URL: http://codereview.chromium.org/397032

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32254 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-18 01:51:34 +00:00
idana@chromium.org 3cc3569c9c Revert 32244 - linux: pass gcsections in link line
We have compile flags set up to support using gcsections, but apparently
we aren't using it for the actual link?  This has a large difference on
binary size.

Review URL: http://codereview.chromium.org/399048

TBR=evan@chromium.org
Review URL: http://codereview.chromium.org/401018

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32248 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-18 01:24:13 +00:00
evan@chromium.org bb2d2e4cd6 linux: pass --gc-sections in link line
We have compile flags set up to support using --gc-sections, but apparently
we aren't using it for the actual link?  This has a large difference on
binary size.

Review URL: http://codereview.chromium.org/399048

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32244 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-18 00:55:28 +00:00
evan@chromium.org b27dd36467 linux: set -fvisiblility-inlines-hidden when building
This matches the Mac and shaves a surprising 300kb off the binary.

Review URL: http://codereview.chromium.org/402003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32185 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-17 18:39:36 +00:00
willchan@chromium.org 8e6283e544 TBR: willchan
git-svn-id: http://src.chromium.org/svn/trunk/src/build@32159 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-17 06:42:28 +00:00
willchan@chromium.org 935f01cd68 Experiment: enable TCMalloc on Linux by default.
Will revert after looking at the Linux memory bot and perf cycler.
TBR=willchan

Review URL: http://codereview.chromium.org/403002

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32158 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-17 06:31:44 +00:00
estade@chromium.org 17693ca6ed reland 31875. Revert was:
------
Revert 31875 to see whether it fixes reliability bot.

BUG=25677
TEST=None
------

TBR=huanr
Review URL: http://codereview.chromium.org/397017

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32112 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-16 22:55:17 +00:00
huanr@chromium.org ca3876645a Revert 31875 to see whether it fixes reliability bot.
BUG=25677
TEST=None

Review URL: http://codereview.chromium.org/397014

git-svn-id: http://src.chromium.org/svn/trunk/src/build@32074 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-16 19:34:59 +00:00
hclam@chromium.org 52479328c1 Test program for OpenMAX video decoding
Including gyp file for openmax and the test application.
The test application will link against libOmxCore.so which is provided
by the target system.

Review URL: http://codereview.chromium.org/391030

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31957 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-13 22:21:01 +00:00
hclam@chromium.org 9d3633790a Building FFmpeg in tree for arm
Changes yasm to be built for host instead of target.
Also don't need to depend on yasm if build ing for arm.

Review URL: http://codereview.chromium.org/387023

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31929 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-13 19:30:25 +00:00
estade@chromium.org ad1155a6fb Use renderer spellchecker for windows.
BUG=25677
Review URL: http://codereview.chromium.org/372075

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31875 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-13 01:36:50 +00:00
willchan@chromium.org 3b447caf63 Revert 31765 - Experiment: enable TCMalloc on Linux by default.
Will revert after looking at the Linux memory bot and perf cycler.
TBR=willchan

Review URL: http://codereview.chromium.org/386016

TBR=willchan@chromium.org
Review URL: http://codereview.chromium.org/384074

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31769 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-12 05:58:58 +00:00
willchan@chromium.org 5bd04f221b Experiment: enable TCMalloc on Linux by default.
Will revert after looking at the Linux memory bot and perf cycler.
TBR=willchan

Review URL: http://codereview.chromium.org/386016

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31765 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-12 05:21:58 +00:00
willchan@chromium.org 34b3b664d9 linux: TCMalloc-based C++ heap profiler.
Requires compiling with linux_use_tcmalloc=1.

When enabled by --heap-profiler flag in test_shell exposes
chromium.HeapProfiler object to JavaScript. The object has three
methods:
o start() -- starts profiling
o dump() -- dumps data accumulated since start() to file
named like chromium-YYYY-MM-DD-TS.heap
o stop() -- stops profiling.

Output can be analyzed by third_party/tcmalloc/tcmalloc/src/pprof.
For example:
$ third_party/tcmalloc/tcmalloc/src/pprof \
sconsbuild/Release/test_shell \
chromium-2009-11-06-1234567890.heap

See http://code.google.com/p/google-perftools/ for details on how to
use pprof.

Patch contributed by vitalyr@chromium.org.  Original review at
http://codereview.chromium.org/377010/show.

TBR=vitalyr

Review URL: http://codereview.chromium.org/390015

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31688 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-11 19:24:24 +00:00
mark@chromium.org a7b45abd09 Set SDKROOT in the project-wide xcode_settings block instead of doing it in
target_defaults.  This is equivalent to how Xcode sets SDKROOT from the
Project Info window's General tab.  Making this setting project-wide means
that the selected SDK will show up properly in that UI.

BUG=26976
TEST=Build still works.
     SDK (typically "Mac OS X 10.5") shows up in Project Info:General.
Review URL: http://codereview.chromium.org/371035

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31307 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-06 21:57:50 +00:00
estade@chromium.org 97934cefd9 Move the spellchecker to the renderer.
The motivation is that this removes the sync IPC on every call to the spellchecker. Also, currently we spellcheck in the IO thread, which frequently needs to go to disk (in particular, the entire spellcheck dictionary starts paged out), so this will block just the single renderer when that happens, rather than the whole IO thread.

This breaks the SpellChecker class into two new classes.
1) On the browser side, we have SpellCheckHost. This class handles browser-wide tasks, such as keeping the custom words list in sync with the on-disk custom words dictionary, downloading missing dictionaries, etc. On Posix, it also opens the bdic file since the renderer isn't allowed to open files. SpellCheckHost is created and destroyed on the UI thread. It is initialized on the file thread.
2) On the renderer side, SpellChecker2. This class will one day be renamed SpellChecker. It handles actual checking of the words, memory maps the dictionary file, loads hunspell, etc. There is one SpellChecker2 per RenderThread (hence one per render process).

My intention is for this patch to move Linux to this new approach, and follow up with ports for Windows (which will involve passing a dictionary file name rather than a file descriptor through to the renderer) and Mac (which will involve adding sync ViewHost IPC callsfor when the platform spellchecker is enabled). Note that anyone using the platform spellchecker rather than Hunspell will get no benefit out of this refactor.

There should be no loss of functionality for Linux (or any other platform) in this patch. The following should all still work:
- dictionary is loaded lazily
- hunspell is initialized lazily, per renderer
- language changes work.
- Dynamic downloading of new dictionaries
- auto spell correct works (as well as toggling it).
- disabling spellcheck works.
- custom words work (including adding in one renderer and immediately having it take effect in other renderers, for certain values of "immediate")

TODO:
- move spellchecker unit tests to test SpellCheck2
- add sync IPC for platform spellchecker; port to Mac
- add dictionary location fallback; port to Windows
- remove SpellChecker classes from browser/

BUG=25677

Review URL: http://codereview.chromium.org/357003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@31199 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-06 03:05:46 +00:00
jshin@chromium.org 2a0eff2751 Add 'am' and 'sw' to Linux/Mac build
Review URL: http://codereview.chromium.org/346027

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30990 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-04 20:36:50 +00:00
craig.schlenter@chromium.org b652947930 Linux: Autodetect and change build flags when using gcc 4.4.
This runs g++ -dumpversion (or $CXX) to establish the compiler version
and set the gyp gcc_version variable automatically.

BUG=25209

Review URL: http://codereview.chromium.org/339046

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30824 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-03 17:32:10 +00:00
apatrick@google.com 4cd3bc349d Conditionally added pepper_test_plugin.gyp as all.gyp dependency based on whether enable_pepper variable is set to 1. Defaults to 0.
Added run_as block to automatically launch chrome and load the plugin when the pepper_test_plugin project is run or debugged.
See new instructions in updated README.
TEST=none
BUG=none

Review URL: http://codereview.chromium.org/343070

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30741 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-02 21:07:35 +00:00
piman@chromium.org d5e5920b77 linux: fix library=shared_library issues
Review URL: http://codereview.chromium.org/339079

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30738 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-02 20:32:51 +00:00
bradnelson@chromium.org bfb95e3439 Adding x64 configurations for windows.
These do not build, but are for experimentation.

BUG=None
TEST=None

Review URL: http://codereview.chromium.org/344041

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30683 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-01 23:45:30 +00:00
bradnelson@chromium.org 2b269f4fb9 Pulling in latest gyp with rule generation and configuration change.
BUG=None
TEST=None
TBR=sgk

Review URL: http://codereview.chromium.org/351003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30680 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-11-01 21:17:34 +00:00
bradnelson@chromium.org 47e2a7fd96 Taking advantage of new configuration inheritance option.
BUG=None
TEST=None

Review URL: http://codereview.chromium.org/342041

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30515 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-29 21:24:56 +00:00
piman@chromium.org 5036e8b759 This does a few things:
- only include cflags/linkflags and other compiler settings that are target-specific when building for 'target'
- make build tools (protoc) compile for 'host', and change the dependencies on them to reflect that.

Review URL: http://codereview.chromium.org/265031

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30381 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-28 20:13:57 +00:00
brettw@chromium.org 075340e829 Put back -fno-rtti which I somehow accidentally checked in.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/342021

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30371 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-28 19:12:22 +00:00
evan@chromium.org 3214fccb88 linux: add -fvisibility=hidden to build flags
We use this on OS X, so it shouldn't be harmful and it will fix a visibility
issue that came up in
  http://groups.google.com/group/chromium-dev/browse_thread/thread/800bda968bdc8f29

BUG=17943

Review URL: http://codereview.chromium.org/332035

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30253 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-27 21:40:26 +00:00
ajwong@chromium.org d5f2816771 Switch optimization cflag to late-resolve the debug_optimize and release_optimize vars.
This will allow lower-level targets to change their desired optimization level.  In particular, the ffmpeg build requires this because it has problems compiling with -O0.

BUG=22307
TEST=none

Review URL: http://codereview.chromium.org/334018

git-svn-id: http://src.chromium.org/svn/trunk/src/build@30110 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-26 22:14:01 +00:00
jrg@chromium.org a696272015 Fix coverage on the Mac.
Add extra unit test bundles (all platforms).

Review URL: http://codereview.chromium.org/307032

git-svn-id: http://src.chromium.org/svn/trunk/src/build@29845 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-23 00:12:01 +00:00
mark@chromium.org 8d0a045050 Back out r29592 (-Wl,-pie) because apparently Valgrind doesn't understand
executable slide.

BUG=25372
TEST=green tree
Review URL: http://codereview.chromium.org/311001

git-svn-id: http://src.chromium.org/svn/trunk/src/build@29604 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-21 02:47:20 +00:00
mark@chromium.org b5c7419acc Back out r29591 (-fstack-protector) because it may have caused Valgrind test
failures and bug 25372.

BUG=25372
TEST=green tree
Review URL: http://codereview.chromium.org/306021

git-svn-id: http://src.chromium.org/svn/trunk/src/build@29601 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-21 02:23:53 +00:00
mark@chromium.org a2c75d5f57 Mmm, pie.
BUG=16713
TEST=none
Review URL: http://codereview.chromium.org/308010

git-svn-id: http://src.chromium.org/svn/trunk/src/build@29592 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-21 00:21:50 +00:00
mark@chromium.org a1be1802e6 Use -fstack-protector in Mac Debug builds.
We used to have this in debug.xcconfig, but it seems to have gotten lost when
we migrated to GYP.

BUG=16713 (not really, that's for release builds, but close enough)
TEST=none
Review URL: http://codereview.chromium.org/292036

git-svn-id: http://src.chromium.org/svn/trunk/src/build@29591 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-21 00:21:38 +00:00
mmoss@chromium.org 54df4ad9d0 Default to building for the same architecture as the build host.
BUG=24766

Review URL: http://codereview.chromium.org/271113


git-svn-id: http://src.chromium.org/svn/trunk/src/build@29230 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-16 00:53:59 +00:00
sky@chromium.org 0c7e0b2599 Fixes bug in toolkit_views. We shouldn't set the theme provider for
widget_gtk when building chromeos build. We need a #ifdef for
CHROMEOS but not using TOOLKIT_VIEWs for the browser window. I'm
temporarily adding this one.

This bug is the result of Oshima making TOOLKIT_VIEWS set OS_CHROMEOS.

Review URL: http://codereview.chromium.org/270092

git-svn-id: http://src.chromium.org/svn/trunk/src/build@28916 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-13 23:31:53 +00:00
oshima@chromium.org 5dfc871754 include CHROMEOS files and defintions in TOOLKIT_VEIWS build.
* changed gyp files so that all files compiled for chrome os will be also compiled when toolkit_views==1
 * changed to define OS_CHROMEOS when toolkit_views==1
 * changed TabOverbiewMessageListener to use BrowserView instead of BrowserWindowGtk when toolkit_views==1
  I left one for CHROME_NOTIFY_FLOATING_TAB_OVER_TOPLEVEL b/c i couldn't figure out how to get gdkwindow
  from xid. Looks like I need to register it somewhere

Note: Nicolas updated trybot and buildbot to include chromeos dependency, so this all should compile fine.

BUG=none
TEST=run views unit test and browser.

Review URL: http://codereview.chromium.org/262027

git-svn-id: http://src.chromium.org/svn/trunk/src/build@28764 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-12 23:58:03 +00:00
piman@chromium.org cc8b6019d1 Separate ARM-v7 compilation flags from chromeos
Review URL: http://codereview.chromium.org/256074

git-svn-id: http://src.chromium.org/svn/trunk/src/build@28197 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-07 00:10:46 +00:00
sgk@google.com 19ba4b483e Add comments setting emacs and vim tab width and expansion variables.
BUG=none
TEST=successful builds
Review URL: http://codereview.chromium.org/256059

git-svn-id: http://src.chromium.org/svn/trunk/src/build@28089 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-06 03:02:38 +00:00
brettw@chromium.org e67ac0da14 Move the JPEG and PNG codecs from base/gfx to app/gfx/codec. Move the classes
into the gfx namespace.

Combine the PNGEncoder and PNGDecoder. There were separate when we had
different executables for the browser and renderer, and linked the encoder only
in one of them (which saved us some space used by libpng). This hasn't been the
case for years, so combining them (again) makes sense.

TEST=none
BUG=none
Review URL: http://codereview.chromium.org/243076

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27930 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-03 03:12:20 +00:00
maruel@chromium.org ccc0b16090 Reenable fastbuild (for windows only).
This will be enabled on the windows try slaves.

TEST=none
BUG=none
Review URL: http://codereview.chromium.org/256042

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27883 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-02 19:59:54 +00:00
piman@chromium.org 51debf763f Add an option to disable NaCl at compile time for platforms where it doesn't build yet
Just add disable_nacl=1 to gyp defines

Review URL: http://codereview.chromium.org/257029

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27873 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-02 19:00:31 +00:00
thestig@chromium.org 3657852c7c Add (yet another) option to allow stripping the chrome binary after dumping symbols. Chromebot does not like 200MB zip files and 800MB chrome binaries.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/259008

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27795 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-01 23:29:03 +00:00
thestig@chromium.org dd6d65fdcf Remove a circular dependency for chrome Linux symbols. Make it possible to force Linux symbol dumping.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/243056

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27752 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-10-01 18:54:57 +00:00
robertshield@chromium.org cf56350aa8 Cleaning up after the initial Chrome Frame commit.
Review URL: http://codereview.chromium.org/242025

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27367 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-28 16:50:46 +00:00
yaar@chromium.org ed66f14831 Downstreamed v8 extension building & webkit_chromium_port flag
1. Downstreamed building webkit/extension/v8/*.cc files, which were built by upstream webcore by mistake. Now glue will build them.
   I tested that even though webcore still builds them, there are no errors if glue also builds them.
2. Added webkit_chromium_port variable to build/common.gypi which is turned off by default. Currently, nothing uses it but the chrome port will need it.

Review URL: http://codereview.chromium.org/220026

git-svn-id: http://src.chromium.org/svn/trunk/src/build@27122 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-24 20:36:21 +00:00
thomasvl@chromium.org 597a39f45e Adding a GYP variable to indicate if a build wants Title Case strings or not.
Default to Title Case strings for Mac and Linux/GTK.
Pass an extra define to the invoke of grit for TitleCase strings.
Test the define for grit Title Case strings and have two sets of strings where needed.
DEPs roll to pick up a new GYP that will keep int values as ints.

BUG=22253
TEST=The bookmark bar menus on Mac and linux gtk will be Title Case, in Windows and ChromeOS they will be Sentence case.  NOTE: we'll the translations in the Title Case areas until new translations are entered.
Review URL: http://codereview.chromium.org/210022

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26803 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-22 12:37:44 +00:00
mark@chromium.org 327dcecfc6 No-op .gypi change to force GYP to run via the DEPS hook. This should get
the straggler bots back to green.  They must have missed a GYP run while
gclient was broken earlier.
Review URL: http://codereview.chromium.org/211037

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26639 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-19 00:47:04 +00:00
ajwong@chromium.org ec7fbc7305 Update ffmpeg binaries directories to support variants based off the target architecture.
BUG=20948
TEST=none

Review URL: http://codereview.chromium.org/215016

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26630 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-18 22:10:27 +00:00
timurrrr@chromium.org 49651114b2 Re-applying build/common.gypi patch from http://codereview.chromium.org/195078
The previous patch was reverted until buildbot master was restarted.

After the restart, GYP_DEFINES contains "release_valgrind_build=1"
http://build.chromium.org/buildbot/waterfall/builders/Chromium Linux Builder (valgrind)/builds/2/steps/gclient/logs/stdio
Review URL: http://codereview.chromium.org/196140

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26564 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-18 14:26:56 +00:00
thestig@chromium.org e5b88b0dd1 Add all locales to the appropriate generated file lists in .gyp files.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/208002

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26494 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-17 21:54:28 +00:00
mark@chromium.org f4a9fb7b43 Use MAC_OS_X_DEPLOYMENT_TARGET instead of rolling our own macro.
Allow the deployment target and SDK to be overridden by GYP variables.
Review URL: http://codereview.chromium.org/193128

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26360 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-16 17:31:25 +00:00
yaar@chromium.org 348eca2172 Force inclusion of build/common.gypi for all chromium gyp files.
Why: Simpler build code. If everybody includes it, it should be included automatically.
Why now: The webkit chromium builds need it be specified, since can't default to build/common.gypi.

What was done:
1. build/common.gypi's contents were moved to a new file build/gyp_chromium.gypi
2. tools/gyp/gyp_chromium was moved to build/gyp_chromium and made to automatically include build/gyp_chromium.gypi.
3. lots of gyp files were fixed to not refer to build/common.gypi any more.
4. o3d which also builds independently of chrome, was fixed to have a gyp_o3d that includes gyp_chromium.gypi too.
5. build/common.gypi was left empty, because there are some external projects that still refer to it.

Things that are left to do after this patch is in:
1. The following external files (in other repositories) need to stop include common.gypi
  ./third_party/hunspell/hunspell.gyp
  ./third_party/icu/icu.gyp
  ./v8/tools/gyp/v8.gyp
2. Once nobody refers to common.gypi anymore, delete common.gypi
   -or-
   Delete gyp_chromium.gypi and move its content back to common.gypi

Tested on mac, win and linux. On win, got a few unit tests errors on chrome bookmarks, which should not be related. I'm running again with clobber to verify.

Review URL: http://codereview.chromium.org/206006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26302 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-15 23:52:14 +00:00
maf@google.com 64d54140a2 Changes needed for MacOS X 10.4 support.
Add "support_macosx_10_4" option to common.gypi that causes it to change deployment target, and define a new preprocessor symbol on the Mac build.  Setting this flag to true is harmless on non Mac builds and has no effect.
Make various changes to source files where they modify their behavior in the presence of the new preprocessor symbol to become 10.4 compatible.
Review URL: http://codereview.chromium.org/201122

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26285 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-15 22:42:59 +00:00
agl@chromium.org 3e01e2c3e4 Linux: add support for SELinux.
This patch adds support for a selinux GYP variable which, when set to
one, does the following:
  * Removes the seccomp sandbox from the compile
  * Removes support for SUID sandboxing from the zygote
  * Performs a dynamic transition, in the zygote, to
    chromium_renderer_t.

This code requires that the system policy have a sensible set of
access vectors for the chromium_renderer_t type. Such a policy will be
found in sandbox/selinux in the future.

http://codereview.chromium.org/203071


git-svn-id: http://src.chromium.org/svn/trunk/src/build@26257 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-15 20:13:38 +00:00
agl@chromium.org 7ba812ec42 Revert "Added NVALGRIND define [on by default]. Can be turned off on valgrind slaves by using valgrind_build=1"
This reverts commit 26241.

(Testing to see if it greens the Linux Valgrind builder.)


git-svn-id: http://src.chromium.org/svn/trunk/src/build@26251 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-15 19:30:57 +00:00
timurrrr@chromium.org 537105b145 Added NVALGRIND define [on by default]. Can be turned off on valgrind slaves by using valgrind_build=1
Review URL: http://codereview.chromium.org/195078

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26241 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-15 18:41:51 +00:00
robertshield@chromium.org a0c8317fe8 Adding reference to experimental browser distribution files.
Review URL: http://codereview.chromium.org/192076

git-svn-id: http://src.chromium.org/svn/trunk/src/build@26036 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-11 22:32:11 +00:00
dkegel@google.com 0c28707747 There was already release_extra_cflags for linux;
this just generalizes it to debug_ and to mac.

Required a litle rearranging.  Tested by comparing
xcode and make files before and after change.

Ignores those settings when generating Visual C++ projects,
but since the goal was to let valgrind bots tweak
optimization settings, that's ok for now.
Review URL: http://codereview.chromium.org/202054

git-svn-id: http://src.chromium.org/svn/trunk/src/build@25997 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-11 19:37:00 +00:00
robertshield@chromium.org c3f24c2181 Adding the option to drop in a new BrowserDistribution instance for experimentation.
Review URL: http://codereview.chromium.org/202049

git-svn-id: http://src.chromium.org/svn/trunk/src/build@25950 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-11 00:01:39 +00:00
piman@chromium.org 42120e1293 linux: improve support for cross-compiling
This CL adds support for a 'sysroot' GYP define, that should point to the target root filesystem for cross-compilation.
It passes that argument to the compiler and linker which uses it to prefix its hard-coded path (e.g. /usr/include)
It also points pkg-config to look for package configs there, and rewrite the paths to be prefixed by 'sysroot' (since pkg-config doesn't do it itself)

Review URL: http://codereview.chromium.org/199016


git-svn-id: http://src.chromium.org/svn/trunk/src/build@25418 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-04 01:53:01 +00:00
robertshield@chromium.org 7266c00012 Parameterize the Google Update appid at build time instead of hard coding it in the source.
Review URL: http://codereview.chromium.org/178011

git-svn-id: http://src.chromium.org/svn/trunk/src/build@25072 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-01 19:09:41 +00:00
thestig@chromium.org a2133f3505 Clean out leftover bits of the path-based Linux SUID sandbox.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/181030

git-svn-id: http://src.chromium.org/svn/trunk/src/build@25019 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-09-01 07:01:20 +00:00
dank@chromium.org 884f7582fe Allow overriding debug optimization level on mac.
Review URL: http://codereview.chromium.org/178026

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24834 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-28 23:23:29 +00:00
bradnelson@google.com 728a99f534 Submitted for bmcquade:
See review 17374

Description:
Fix include path in common.gypi to be relative to DEPTH, like all other
include paths in common.gypi.

BUG=19965
TEST=None


Review URL: http://codereview.chromium.org/173504

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-26 20:47:49 +00:00
mark@chromium.org ff05b4073e Build for Mac in the Release configuration at -O3
This is an experiment to get a few test cycles in so that we can measure the
impact and evaluate it against the .app/.dmg size increase that it will cause.
The size increase relative to -O2 is 1900kB (6%) .app and 800kB (5%) .dmg.

BUG=16713
TEST=Watch perf
Review URL: http://codereview.chromium.org/173505

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24511 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-26 20:14:55 +00:00
bradnelson@chromium.org 856e5cf098 Moving configuration platform to always be present, as that is required
in order for each configuration to get fully populated in configuration
manager.

BUG=None
TEST=None

Review URL: http://codereview.chromium.org/174483

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24436 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-26 06:41:49 +00:00
thestig@chromium.org 6032048b09 Allow Chromium Linux to be built with Breakpad. Enable Linux CHROME_HEADLESS support. (Try 2)
TEST=none
BUG=19663

Original Review URL: http://codereview.chromium.org/173095

Review URL: http://codereview.chromium.org/173397

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24378 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-26 00:14:27 +00:00
yutak@chromium.org 433e6892fe Reverting 24220.
It seemed that r24220 caused failures on all of Linux UI (valgrind) bots.

TBR=thestig@chromium.org

Review URL: http://codereview.chromium.org/173345

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24228 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-25 11:23:45 +00:00
thestig@chromium.org 34fa816a78 Allow Chromium Linux to be built with Breakpad. Enable Linux CHROME_HEADLESS support.
TEST=none
BUG=19663
Review URL: http://codereview.chromium.org/173095

git-svn-id: http://src.chromium.org/svn/trunk/src/build@24220 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-25 07:25:06 +00:00
mark@chromium.org ce7a69df20 Build for Mac in the Release configuration at -O2
BUG=16713
TEST=Watch perf.  Startup time should be flat or possibly lose a very small
         amount (~1%).  Everything else should be a little bit faster.
     Watch sizes.  The .app and .dmg will grow, but I've cut their sizes way
         down lately, and I'd like to cash in some of those gains for speed.
Review URL: http://codereview.chromium.org/174160

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23882 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-20 21:19:26 +00:00
sgk@google.com b3017c6aad Explicitly set {Output,Intermediate}Directory on all configurations,
so that all .gyp files use the same output locations regardless
of whether they're still using the old checked-in release.vsprops file.
BUG=none
TEST=successful build of the Purify configuration
Review URL: http://codereview.chromium.org/172077

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23698 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-19 06:07:01 +00:00
munjal@chromium.org f215909caf Try what I tried in r23343 again
Sync gyp stuff moved from common.gypi to chrome.gyp.
TEST=none
BUG=none

Review URL: http://codereview.chromium.org/169018

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23517 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-15 07:46:36 +00:00
darin@chromium.org fd12cb831f revert unintended change
git-svn-id: http://src.chromium.org/svn/trunk/src/build@23443 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-14 17:51:13 +00:00
darin@chromium.org 113ced8465 Remove WebFrame::selectAll and WebFrame::clearSelection in favor of having
consumers use executeCommand.

Patch by Marshall Greenblatt  
R=darin
BUG=19270
TEST=covered by unit tests



git-svn-id: http://src.chromium.org/svn/trunk/src/build@23442 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-14 17:50:22 +00:00
agl@chromium.org 5bb24236c5 Linux: add GYP flag for -fno-strict-aliasing.
We're still figuring out what to do about strict aliasing and V8. In
the mean time, V8 (and other parts of the code) are unbuildable with
GCC 4.4 and strict aliasing. Adding this flag at the request of fta.

http://codereview.chromium.org/164538


git-svn-id: http://src.chromium.org/svn/trunk/src/build@23421 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-14 05:30:52 +00:00
sidchat@google.com cf39bd37a9 Reverting 23343.
Review URL: http://codereview.chromium.org/164525

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23372 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-13 22:35:40 +00:00
munjal@chromium.org 128d0c0270 Move the sync related GYP variables and conditions to chrome.gyp from
common.gypi

TEST=none
BUG=none

Review URL: http://codereview.chromium.org/164445

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23343 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-13 19:40:26 +00:00
mark@chromium.org 83b58e09c4 Use -fno-threadsafe-statics to disable thread-safe static semantics in C++.
This will eliminate the cxa_guard_acquire/release locks around static guard
accesses.  The Windows compiler doesn't support thread-safe statics at all,
so none of our cross-platform code relies on thread safety.  We are using
-fno-threadsafe-statics on Linux as well, since r20616.  It's likely that
threading is not a concern in most to all Mac-specific code using statics.

BUG=16713
TEST=none
Review URL: http://codereview.chromium.org/165461

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23326 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-13 18:11:04 +00:00
mark@chromium.org 5afe7d9907 Disable RTTI and C++ exceptions in the Mac build. Disable RTTI in the Linux
build, where C++ exceptions are already disabled.

BUG=19094 12248
TEST=Mac release-mode Google Chrome.app should shrink by about 6MB.
     Mac disk image should shrink by about 1.5MB.
     Linux binary and package should shrink too.
Review URL: http://codereview.chromium.org/165330

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23304 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-13 12:53:16 +00:00
tim@chromium.org 350e6c62ab Build browser/sync files by default using a stubbed-out syncapi
implementation.  The stub will be replaced once the rest of
sync/engine lands as we open source the sync engine code.

Review URL: http://codereview.chromium.org/165257

git-svn-id: http://src.chromium.org/svn/trunk/src/build@23004 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-11 02:36:34 +00:00
piman@chromium.org 024fb40ac0 Target Cortex A8 for the ARM ChromeOS build of Chrome.
Review URL: http://codereview.chromium.org/164208


git-svn-id: http://src.chromium.org/svn/trunk/src/build@22934 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-10 18:58:07 +00:00
sgk@google.com caf5f0e8cd Add a 'tools' list to 'scons_settings' so we'll still get the
necessary 'chromium_builders' module when GYP gets updated to
use a more generic default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/164216

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22892 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-10 04:09:07 +00:00
bradnelson@chromium.org 18a84ba68c Turning on incremental linking for 64-bit machines.
BUG=18646
TEST=None

Review URL: http://codereview.chromium.org/165140

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22790 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-07 21:16:03 +00:00
thestig@chromium.org 6c44139ab9 Define _FILE_OFFSET_BITS=64 in order to support large files (>2GB).
_FILE_OFFSET_BITS=64 is incompatible with fts (issue 17492), so
file_util::Delete, file_util::CopyDirectory  file_util::FileEnumerator are
reimplemented without fts. Delete and CopyDirectory are now implemented using
FileEnumerator.

Patch from vandebo@google.com, original review:
http://codereview.chromium.org/160479

BUG=13718,17492
TEST=none


Review URL: http://codereview.chromium.org/165085

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22670 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-06 21:23:07 +00:00
mark@chromium.org e2592b5378 Move the entire application into a dylib (framework)
Review URL: http://codereview.chromium.org/160538

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22506 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-05 19:26:07 +00:00
bradnelson@chromium.org 49d5a5b982 Adding two new windows configuration types:
Purify
Release - no tcmalloc

This is done more pedantically than I'd like,
so I've left in some TODOs. Eventually either gyp needs to support some
notion of inheritance in configurations, or maybe we can make clever use
of includes.

BUG=None
TEST=None

Review URL: http://codereview.chromium.org/159362

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22433 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-08-04 22:50:13 +00:00
bradnelson@chromium.org af4a7d28e2 Making /MP on by default for msvs2008.
BUG=None
TEST=None

Review URL: http://codereview.chromium.org/159732

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22220 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-31 23:33:55 +00:00
aa@chromium.org c30421a9c2 Make the Visual Studio /MP flag configurable.
Review URL: http://codereview.chromium.org/160408

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22176 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-31 19:58:58 +00:00
dank@chromium.org 78388d87e8 Add a way to inject extra cflags in release builds.
(I intend to use this as a quickie way to add
-g to Release builds so I can see symbols.
Is there a better way?)

Review URL: http://codereview.chromium.org/159621

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22064 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-30 17:47:51 +00:00
aa@chromium.org 91a8ee33dc Undo accidental change to common.gypi.
TBR=tony@chromium.org

Review URL: http://codereview.chromium.org/160398

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22059 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-30 16:28:06 +00:00
aa@chromium.org 1aab5b2f94 Pull CrxInstaller out of ExtensionsService.
CrxInstaller is a new stateful object that encapsulates a
single installation from unpack through notification.

It currently contains the UI bits, but I suspect in the next
CL (where I will finally implement the install UI) these
will come out and CrxInstaller will become
SilentCrxInstaller, and only used for updates and external
installs.

Also in this change, I removed the concept of install callbacks that ExtensionUpdater was using. This was only used to delete the temp crx file as far as I can tell, and we can easily keep state about that in CrxInstaller.

With this CL, ExtensionsServiceBackend is almost completely
dead, with only a few zombie methods left like
LoadAllExtensions(). These should all become little objects
like CrxInstaller that hold a reference to ExtensionsService
over their lifetime and then kill themselves.

I'll get to that eventually.

Review URL: http://codereview.chromium.org/160311

git-svn-id: http://src.chromium.org/svn/trunk/src/build@22043 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-30 06:21:58 +00:00
deanm@chromium.org 898b276d90 Fix gyp condition for ia32 specific flags.
We should test if it's ia32, not if it's not arm.

Patch by Joel Stanley.

Review URL: http://codereview.chromium.org/160316


git-svn-id: http://src.chromium.org/svn/trunk/src/build@21954 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-29 15:56:00 +00:00
evan@chromium.org 90b1d685cb linux: refactor some common flags in common.gypi
No functional change, just reducing some cruft.

Review URL: http://codereview.chromium.org/159566

git-svn-id: http://src.chromium.org/svn/trunk/src/build@21933 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-29 00:52:24 +00:00
dkegel@google.com c1d247a7b7 Add way to override optimization level for release build.
Will be used with valgrind to speed up the bots more.

This was suggested during http://codereview.chromium.org/67199, finally need it.

Review URL: http://codereview.chromium.org/155817

git-svn-id: http://src.chromium.org/svn/trunk/src/build@21169 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-21 11:41:01 +00:00
bradnelson@chromium.org 71c4f9d5e1 Pulling in new gyp version.
Switching two includes in common.gypi to msvs_system_include_dirs.
This will force them to the back of the include order (which matches
where the non-hermetic copies of these libraries would be).

BUG=None
TEST=None


Review URL: http://codereview.chromium.org/155812

git-svn-id: http://src.chromium.org/svn/trunk/src/build@21124 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-20 23:00:20 +00:00
agl@chromium.org 4ba90a7c1f Linux: move hardcoded paths to GYP variables.
This patch removes the hardcoded paths for the sandbox binary location
and the chrome binary location for the sandbox. Instead, you can now
set GYP variables for these things. Indeed, you have to set a GYP
variable in order to use the sandbox now.

GYP variables can be set on the command line, if you run gyp.py
directly, with -D key=value. Or you can export GYP_DEFINES="key=value
key2=value2".

Now, in order to use the sandbox you should set:
  linux_sandbox_path=/opt/google/chrome/chrome-sandbox
  linux_sandbox_chrome_path=/opt/google/chrome/chrome

(changing the paths as needed, of course). See the comments in
build/common.gypi

For development see
  http://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment

Because developers need to setup a special sandbox binary.

http://codereview.chromium.org/149689


git-svn-id: http://src.chromium.org/svn/trunk/src/build@20801 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-15 22:48:37 +00:00
agl@chromium.org 37ddeddd22 Linux: fix for developing on a machine with google-chrome packages installed.
The latest google-chrome packages contain a sandbox binary, which the
development builds of chromium will pick up on automatically. However,
for safety reasons, the sandbox binary will only exec a fixed chrome
binary location. Since development builds will be somewhere else in
the filesystem, this means that they will fail to start their zygote
processes and generally be very sad.

However, we /do/ want people developing with the sandbox, but we don't
want the general sandbox binary to be able to exec anything. We could
have chromium try and find its sandbox binary relative to the build
directory, but some people build on NFS and, since the sandbox binary
needs to be SUID, this won't work for them.

Instead, we add a new target: chrome_devel_sandbox which developers
can use. This builds a sandbox binary that will exec anything which is
owned by the running user. This alternative sandbox binary can be
selected by exporting CHROME_DEVEL_SANDBOX.


git-svn-id: http://src.chromium.org/svn/trunk/src/build@20709 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-15 01:41:50 +00:00
thomasvl@chromium.org 5e4685233e Add a variable that lets you override the optimization level for release builds (for valgrind -- to avoid inlining, etc.)
Review URL: http://codereview.chromium.org/155501

git-svn-id: http://src.chromium.org/svn/trunk/src/build@20636 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-14 18:43:42 +00:00
deanm@chromium.org 4f060c6135 Add -fno-threadsafe-statics to the Linux build.
We already depend on our static initializers being thread safe, since MSVC does
not implement locking around static initialization.  This avoids extra locking
(__cxa_guard_acquire / __cxa_guard_release).

Review URL: http://codereview.chromium.org/149607


git-svn-id: http://src.chromium.org/svn/trunk/src/build@20616 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-14 11:02:16 +00:00
brettw@chromium.org f5e31a5330 Replace instances of LINUX2 with OS_CHROMEOS and linux2 with chromeos.
Review URL: http://codereview.chromium.org/149367

git-svn-id: http://src.chromium.org/svn/trunk/src/build@20210 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-08 23:45:29 +00:00
jrg@chromium.org 4d8d8d67e9 Beginning of code coverage on Windows.
Review URL: http://codereview.chromium.org/155123

git-svn-id: http://src.chromium.org/svn/trunk/src/build@20045 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-07 18:20:53 +00:00
bradnelson@chromium.org 3c31101d02 Modifying mini_installer to have different additional options.
This should not affect other targets.

BUG=None
TEST=None
TBR=sgk

Review URL: http://codereview.chromium.org/149152

git-svn-id: http://src.chromium.org/svn/trunk/src/build@19916 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-07-03 22:00:19 +00:00
nsylvain@chromium.org 84ee96e3b9 Fix the tree. It looks like the previous change (19561)
did not work as expected, since most of the windows
machines are red trying to load dwmapi.dll, which should
be in the delay load list.

I'm reverting part of this change.

TBR:bradnelson
Review URL: http://codereview.chromium.org/150102

git-svn-id: http://src.chromium.org/svn/trunk/src/build@19581 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-30 14:21:09 +00:00
bradnelson@chromium.org 4f9041464f Learned that mini_installer's linker settings cannot actually be shared
by everyone else.
Separated mini_installer into its own gyp file and isolated it from
several common settings.

BUG=None
TEST=None

Review URL: http://codereview.chromium.org/150045

git-svn-id: http://src.chromium.org/svn/trunk/src/build@19561 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-30 00:02:27 +00:00
agl@chromium.org e39b304d2a Use C99 standard format macros for 64-bit values.
Currently we have several uses of %I64d in format strings to indicate
a 64-bit value. This does not work on Mac or Linux, where 'I'
indicates the use of locale specific digits.

Instead, we introduce base/format_macros.h which mimic the C99
standard macros for 64-bit values in a cross-platform manner.

Dean pointed out that V8 is handling this themselves rather than use
inttypes.h. Maybe we'll end up going down the same path but, for the
moment, we'll try and do it the 'correct' way and see how it works
out.

http://codereview.chromium.org/147154


git-svn-id: http://src.chromium.org/svn/trunk/src/build@19500 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-29 17:58:25 +00:00
bradnelson@google.com 493536e7b6 Another go at switching mini_installer to gyp.
BUG=None
TEST=None
TBR=sgk


Review URL: http://codereview.chromium.org/150012

git-svn-id: http://src.chromium.org/svn/trunk/src/build@19480 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-29 01:59:03 +00:00
sehr@google.com 575f0111f0 Added stub native web worker support, including build support in preparation
for integrating the native client build.


git-svn-id: http://src.chromium.org/svn/trunk/src/build@19479 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-29 00:30:51 +00:00
mmoss@chromium.org c83414658d Add a gyp "buildtype" variable to differentiate official release builds.
This notion was previously overloaded on "branding", but as implied, that
variable should really just control the "Google Chrome" vs. "Chromium"
branding. We need a separate setting to distinguish between "release" builds
(which get special handling, like breakpad symbol processing), and "everyday"
builds, like the buildbot continuous builds or personal developer builds.

This fixes a problem where the "Google Chrome" continuous builder was
unnecessarily trying to upload breakpad symbols for every single build.

Review URL: http://codereview.chromium.org/132038


git-svn-id: http://src.chromium.org/svn/trunk/src/build@19283 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-25 20:50:30 +00:00
ajwong@chromium.org 5d83c3d67a Disable TR1 for windows (set _HAS_TR1=0). This change requires a clobber build.
Review URL: http://codereview.chromium.org/147015

git-svn-id: http://src.chromium.org/svn/trunk/src/build@19049 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-23 20:08:45 +00:00
deanm@chromium.org 5cbc12dcc0 Revert the addition of -fno-threadsafe-statics. It breaks the build:
cc1: warning: command line option "-fno-threadsafe-statics" is valid for C++/ObjC++ but not for C

From what I can find, GYP has not separation between C and C++ flags :(

Review URL: http://codereview.chromium.org/131031


git-svn-id: http://src.chromium.org/svn/trunk/src/build@18701 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-18 10:49:45 +00:00
deanm@chromium.org 15068482c3 Add -fno-threadsafe-statics to the Linux build.
We already depend on our static initializers being thread safe, since
MSVC does not implement locking around static initialization.  This avoids
extra locking (__cxa_guard_acquire / __cxa_guard_release).

Review URL: http://codereview.chromium.org/126267


git-svn-id: http://src.chromium.org/svn/trunk/src/build@18700 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-18 10:38:04 +00:00
hclam@chromium.org 4126ebf869 Change delayload attribute from string to list in gyp files
Change from string to list so the list can merge correctly.

TBR=scherkus

Review URL: http://codereview.chromium.org/125059

git-svn-id: http://src.chromium.org/svn/trunk/src/build@18294 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-12 18:03:02 +00:00
mmoss@chromium.org f46e271515 Always build breakpad tools with Linux official build.
This removes the need for separate build runs with different hammer flags (e.g.
--mode=Tool).

Review URL: http://codereview.chromium.org/125009


git-svn-id: http://src.chromium.org/svn/trunk/src/build@18202 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-11 21:26:10 +00:00
nick@chromium.org dafee32434 Review URL: http://codereview.chromium.org/122044
git-svn-id: http://src.chromium.org/svn/trunk/src/build@18190 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-11 20:16:10 +00:00
mark@chromium.org ba971f12be Disable -mdynamic-no-pic, the equivalent of enabling -fPIC, to allow most of
the app to be moved into a framework in support of the multi-app-bundle
approach.

BUG=8044
TEST=-mdynamic-no-pic absent from build log, all tests pass
Review URL: http://codereview.chromium.org/119090

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17498 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-03 18:15:22 +00:00
sky@chromium.org 514004a0f2 Adds linux2 variable and change to WidgetGtk to make it compile.
BUG=none
TEST=none

Review URL: http://codereview.chromium.org/119057

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17442 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-02 22:57:50 +00:00
ajwong@chromium.org a45ce3b66e Enable TR1 in windows build for gmock's use in VS2008 SP1.
Review URL: http://codereview.chromium.org/115977

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17430 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-02 20:52:41 +00:00
sgk@google.com ee0435cecb Use a variable to control the value of LinkIncremental on Debug
builds, so we can force it off when building the locale .dll files.
Ignore gyp-generated locales.sln file.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/119017

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17394 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-02 07:46:24 +00:00
mark@chromium.org 756cb6eea0 Run real dsymutil to get a real .dSYM for Breakpad dump_syms. This will
allow dump_syms to access DWARF data for line numbers and other stuff, and not
just public symbol table data.

BUG=12776
TEST=set branding to Chrome, dsymutil should run and take forever
Review URL: http://codereview.chromium.org/113999

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17316 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-06-01 16:01:20 +00:00
tc@google.com 0450fed26e Re-add the code to only add sse2 flags on Chromium builds. It
was accidentally lost in r16719.

BUG=9007

Review URL: http://codereview.chromium.org/115902


git-svn-id: http://src.chromium.org/svn/trunk/src/build@17155 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-29 00:39:06 +00:00
thestig@chromium.org 0c57581e9b Add debugging symbols to official Linux Chrome builds.
Review URL: http://codereview.chromium.org/115874

git-svn-id: http://src.chromium.org/svn/trunk/src/build@17107 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-28 20:31:48 +00:00
agl@chromium.org 2c584934a5 Linux: add Breakpad support
This commits a rewrite of the Breakpad Linux client.

The old code:
 * Had a number of plain bugs in it, but those could just have been
   fixed.
 * Allocated memory from the heap, which is a no go.
 * Made libc calls which can enter the dynamic linker - another source
   of crashes.
 * Didn't understand some of the tricks needed, like clone() via libc
   will write to random areas of memory because it assumes that it's
   only called from libpthread

Additionally, we had one more requirement which meant changing the
interface:
 * We need to be able to crash dump the renderers from the browser
   process.

And that last one really needed a rewrite.

We intend to try and upstream this new code into Breakpad.

The new Breakpad design works like this:

When a renderer crashes, a signal handler runs on an alternative stack
and collects information about the registers of the thread before the
crash. Then we enter Chromium specific code an send a datagram message
to a magic file descriptor (4) containing:
  * the registers and tid of the crashing thread
  * the active URL
  * a file descriptor to a socket
  * a CREDENTIALS structure giving the PID of the renderer.

On the other end of the socket is an object on the IO thread
(render_crash_handler_host_linux.cc) which reads and parses the
datagram. The CREDENTIALS structure is validated by the kernel, so the
renderer can't lie about it's PID and try and get the browser to crash
dump the wrong process.

The browser then ptraces the renderer and extracts all the needed
information to write a minidump to a temp file. Then we write a byte
to the file descriptor which the renderer gave the browser in the
datagram and that's the signal to the renderer to finish dying. It
dies by sending itself the same signal which trigger the crash dump in
the first place, so it will appear to crash as normal as far as kernel
core dumps and waitpid are concerned.

The browser then constucts a MIME message in a temp file for upload to
the crash service. We then fork out to /usr/bin/wget to actually do
the upload (since Debian numbers suggest that 99.8% of users have wget
installed.) A second forked child unlinks the temp files once wget has
completed.

For a browser crash, everything works pretty much the same except that
the datagram step is omitted and we clone() off a process to ptrace
ourselves and write the minidump.

This code is only enabled in Chrome branded builds. Stub source files
are substituted in the case of a Chromium build.

 http://codereview.chromium.org/115526

BUG=9646,10772
TEST=Build a Chrome branded binary. Send SEGV to a renderer and verify that wget output appears on stderr. Send a SEGV to the main binary and verify the same.


git-svn-id: http://src.chromium.org/svn/trunk/src/build@16719 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-22 03:37:45 +00:00
sgk@google.com d0e8b08257 Explicitly enable /INCREMENTAL linking for gyp-generated Debug builds.
Explicitly disable it (/INCREMENTAL:NO) for Release, and for the
following targets that require it:
  chrome.dll
  interactive_ui_tests.exe
  perf_tests.exe
  unit_tests.exe

Explicitly specificy /SUBSYSTEM:CONSOLE as default for linking,
and match current practice by overriding with /SUBSYSTEM:WINDOWS for:
  chrome.exe
  chrome.dll
  media_player.exe
  sandbox_poc.exe

TEST=none
BUG=none
Review URL: http://codereview.chromium.org/115664

git-svn-id: http://src.chromium.org/svn/trunk/src/build@16698 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-22 01:40:48 +00:00
ben@chromium.org bd6482f0c9 didn't mean to check these in
git-svn-id: http://src.chromium.org/svn/trunk/src/build@16516 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-20 20:09:10 +00:00
ben@chromium.org 0d15dc46c4 these strings were somehow removed in my earlier revert. add back to fix the build.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@16515 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-20 20:08:19 +00:00
thomasvl@chromium.org de8ea8aaed Added a script to remove headers from the target.
Added a default in common.gypi to remove headers from all mac applications that are bundles.
Added a var to control the inclusion of keystone to chrome.gyp defaulted on branding and then honor it for the shipping work.
Review URL: http://codereview.chromium.org/113652

git-svn-id: http://src.chromium.org/svn/trunk/src/build@16510 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-20 19:44:42 +00:00
tc@google.com cbeac997d9 Only enable the sse2 flags when building Chromium
BUG=9007

Review URL: http://codereview.chromium.org/113487


git-svn-id: http://src.chromium.org/svn/trunk/src/build@16506 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-20 19:21:39 +00:00
sky@chromium.org 36a4de45da Changes common.gypi to not wrap number with quotes because of recent
gyp change.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/113431

git-svn-id: http://src.chromium.org/svn/trunk/src/build@16143 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-15 03:05:20 +00:00
sky@chromium.org 35ad3802df Adds gyp switch that turns on views on Linux. This currently doesn't
do anything else, but it will eventually.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/113304

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15917 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-12 23:51:17 +00:00
bradnelson@chromium.org 69195be595 Pulling in new gyp version with product_name support on windows.
Dropping setting that conflicts with this in common.gpyi

Review URL: http://codereview.chromium.org/112019

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15907 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-12 21:58:48 +00:00
dglazkov@chromium.org c50b17e6ed Fix VS2008 build by adding a warning ignore.
R=maruel
BUG=2528
TEST=Building with VS2008 should succeed.

Review URL: http://codereview.chromium.org/113270

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15859 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-12 16:37:55 +00:00
deanm@chromium.org d60a1c04f3 Do not define __ARMEL__ on ARM, this is the compilers job.
Review URL: http://codereview.chromium.org/115182


git-svn-id: http://src.chromium.org/svn/trunk/src/build@15751 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-11 14:40:20 +00:00
mmoss@chromium.org fdfffe3738 Propagate official build variables from buildbot compile.py.
Review URL: http://codereview.chromium.org/115142


git-svn-id: http://src.chromium.org/svn/trunk/src/build@15690 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-08 22:35:32 +00:00
sgk@google.com 1141e6a675 Add a variable and settings for -Dtarget_arch=ARM (per Ryan Cairns).
Review URL: http://codereview.chromium.org/115044

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15467 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-06 22:38:23 +00:00
thestig@chromium.org e7d7482922 Add AS to scons_import_variables and scons_propagate_variables.
Review URL: http://codereview.chromium.org/99292

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15086 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-05-01 20:32:49 +00:00
jrg@chromium.org 27208aac3d Code coverage improvements.
Code coverage now works for Linux.  Unit tests to run passed from
project to coverage_posix.py so deps are correct.


Review URL: http://codereview.chromium.org/100189

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15016 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-30 23:19:00 +00:00
tc@google.com 4a74977095 Take 3 at turning on -Werror. This passed the last run on the
buildbots, except for the valgrind bots which use -O1.  For now,
just disable -Werror on the bots with an override.

Review URL: http://codereview.chromium.org/100087


git-svn-id: http://src.chromium.org/svn/trunk/src/build@14695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-28 00:43:27 +00:00
tc@google.com 8b5e5cf85f Revert "Take 2 at turning on -Werror. I think this will work on gcc 4.2,"
This reverts commit r14655.

Review URL: http://codereview.chromium.org/100072


git-svn-id: http://src.chromium.org/svn/trunk/src/build@14666 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-27 21:33:20 +00:00
tc@google.com 58ac5ec36c Take 2 at turning on -Werror. I think this will work on gcc 4.2,
4.3, and 4.4.  I'll watch the bots closely.

Review URL: http://codereview.chromium.org/100066


git-svn-id: http://src.chromium.org/svn/trunk/src/build@14655 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-27 21:05:12 +00:00
sky@chromium.org ec40cffdfb More linux ifdef tweaks. This reverts my earlier change (13503).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/100046

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14628 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-27 18:17:24 +00:00
tc@google.com d4f1bb00b8 Revert "Turn on -Werror on linux. Passes on my ghardy box. We'll see"
This reverts commit r14387.

Not sure why it fails on the bots.  Will fix and try again.

TBR=evan

Review URL: http://codereview.chromium.org/93103


git-svn-id: http://src.chromium.org/svn/trunk/src/build@14395 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-24 00:23:01 +00:00
ajwong@chromium.org 32509b8e86 Print backtraces on FATAL log messages in debug mode.
This provides basic support for looking up backtrace information on GNU libc systems and in Windows.  The code is only enabled for FATAL log messages in debug mode.  In a release build, it is unlikely that symbols will be available making the backtrace less useful.

Review URL: http://codereview.chromium.org/62140

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14391 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-24 00:13:08 +00:00
tc@google.com 50015f0666 Turn on -Werror on linux. Passes on my ghardy box. We'll see
if the new fedora 11 (gcc 4.4) or new jaunty (gcc 4.3) builders
fail.

Review URL: http://codereview.chromium.org/92092


git-svn-id: http://src.chromium.org/svn/trunk/src/build@14387 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-24 00:03:37 +00:00
sgk@google.com 7bec2bcbc2 Add -DCHROME_V8 to the chrome/browser build.
Add a 'javascript_engine' variable to control that setting
(as well as whether we use v8.gyp at all).
Review URL: http://codereview.chromium.org/88070

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14171 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-22 01:16:42 +00:00
sgk@google.com 157f6417b4 Build on Linux with shared libraries (significant chunks courtesy craigsch):
* Set $RPATH  to $LIB_DIR in the SCons configuration.
* Add missing dependencies:
  * net/net.gyp:net
    => testing/gtest.gyp:gtest
  * third_party/libxml/libxml.gyp:xmlcatalog
    => third_party/icu38/icu38.gyp:icuuc
  * chrome/chrome.gyp:perf_tests
    => renderer
    => views
    => webkit/webkit.gyp:glue
* Add files:
  * third_party/WebKit/WebCore/loader/icon/IconRecord.cpp
  * third_party/WebKit/WebCore/page/Coordinates.cpp
  * skia/sgl/SkUnPreMultiply.cpp
* Exclude on Linux:
  * chrome/views/controls/scroll_view.cc
  * chrome/views/focus/external_focus_tracker.cc
  * media/filter/ffmpeg_demuxer.{cc,h}
* Remove files:
  * third_party/WebKit/WebCore/Configurations/Version.xcconfig
* Sort the chrome.gyp:views linux exclusion list.
* DEPS roll for $SHLINKFLAGS settings in gyp.
Review URL: http://codereview.chromium.org/88058

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14166 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-22 00:20:29 +00:00
sgk@google.com f1811fc0d4 Put $_LIBDIRFLAGS before ${LINK,SHLINK,LDMODULE}FLAGS so we prefer
our own libs (libpng.a, libz.a, etc.) to system ones.
Review URL: http://codereview.chromium.org/90006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14059 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-20 21:36:41 +00:00
dkegel@google.com e340807a53 Add a new option, debug_optimize, that lets you set the
optimization level used for debug builds on linux.  
They still default to -O0, but you can set them to -O1 by
doing 'gyp -Ddebug_optimize=1'.
This cuts valgrind runtime without screwing up stack dumps too badly.
On the buildbot, the easiest way to use this is to 
create the file ~/.gyp/include.gypi by hand, containing the lines

# Override for valgrind buildbot
{
 'variables': {
   'debug_optimize': '1',
 },
}

From then on, any "gclient sync" run, when it runs gyp after finishing,
will cause debug builds to use -O1.  This is a bit obscure, but
it's a heck of a lot easier than threading some flag value
through the buildbot scripts or adding a new build mode.

Review URL: http://codereview.chromium.org/67199

git-svn-id: http://src.chromium.org/svn/trunk/src/build@14046 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-20 19:11:31 +00:00
awalker@google.com e4f9897bf0 Reverting 13839,13838.
Review URL: http://codereview.chromium.org/67220

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-16 15:30:46 +00:00
pinkerton@chromium.org 5171943ceb Allow unit_tests (and other non-bundle executables) to rely on objectiveC that's
not directly referenced (such as only in a nib file). Add test for tab
controller.

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13838 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-16 14:42:13 +00:00
bradnelson@google.com e56a42c72f Matching v8 build settings more closely to try to fix regression in performance.
Review URL: http://codereview.chromium.org/67092

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13642 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-14 01:39:12 +00:00
thestig@chromium.org fb10049558 Add INCLUDE_SERVER_PORT and INCLUDE_SERVER_ARGS for distcc pump.
Review URL: http://codereview.chromium.org/73008

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13632 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-13 23:19:47 +00:00
dimich@google.com 074c163b85 Make OSX TestShell able to run workers, using a new test_worker.dylib which is basically a webkit+v8+helpers to simulate separate process with worker v8 threads. This is similar way we do on Win32.
Review URL: http://codereview.chromium.org/66043

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13537 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-10 20:31:10 +00:00
pinkerton@chromium.org 73fdcaa59b Force c++ dtors to get called in objc interfaces (it was always on since gcc4.2, but this makes it explicit). Use scoped_* goodness.
Review URL: http://codereview.chromium.org/70001

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13504 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-10 15:46:34 +00:00
sky@chromium.org 576f73906d Adds some ifdefs so that test_shell can be compiled on linux
without GTK.

I had to recreate this patch as my workspace for various
resonds. UGH!

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/67024

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13503 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-10 15:09:39 +00:00
sgk@google.com 4372aafdad Restore -Wall to Linux build and set up for -Werror.
* Add -Wall to build/common.gypi (and -Werror, commented out for now).
* Have build/external_code.gypi remove -Wall (and -Werror).
* Remove chromium_code definition from build/all.gyp.
* Remove chromium_code definitions from third_party/ *.gyp files.
* Remove scons-specific -Werror removal in webkit.gyp.
* Remove unused variables from:
  base/clipboard_linux.cc
  chrome/browser/gtk/download_shelf_gtk.cc
  chrome/browser/gtk/bookmark_bar_gtk.cc
Review URL: http://codereview.chromium.org/66001

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13478 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-09 22:51:41 +00:00
sgk@google.com b163d411b9 Linux cflag changes:
* Use -fno-rtti only for C++ V8 compilation.
* Move -f{data,function}-sections (for Release) to build/common.gypi.
* Add -fno-ident (per deanm).
Review URL: http://codereview.chromium.org/62153

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13368 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-08 18:29:53 +00:00
sgk@google.com e35046cc9c Basic underpinnings of the gyp equivalent of the Linux SHARED=1 build:
parameterize the 'type' setting of the various library targets, with a
default of 'static_library'.
(Hat tip to Craig Schlenter.)
Review URL: http://codereview.chromium.org/62127

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13345 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-08 12:55:49 +00:00
sgk@google.com 8534a5e0ac Add 'variants' support on Linux for COVERAGE=, PROFILE= and SYMBOLS=.
Review URL: http://codereview.chromium.org/62006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13115 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-03 21:32:04 +00:00
jrg@chromium.org bd17df1328 Start of code coverage for Mac.
Only base_unittests included for now.  Linux changes added as well but
untested until Linux switches to gyp.

Enable coverage with the following command:

  src/tools/gyp/gyp_dogfood -Dcoverage=1 src/build/all.gyp

Review URL: http://codereview.chromium.org/56136

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13068 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-03 04:35:18 +00:00
sgk@google.com f5f2e0005c Separate the pkg-config --libs output into --libs-only-l for
'libraries' and --libs-{other,only-L} for 'ldflags'.
Updates one spot in common.gypi where we were using 'linkflags'.
Review URL: http://codereview.chromium.org/56188

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13067 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-03 04:07:38 +00:00
sgk@google.com 195bf4d60a Use -Wl,-{start,end}-group for LoadableModules, too.
Review URL: http://codereview.chromium.org/56180

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13013 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-02 16:20:31 +00:00
sgk@google.com e8e738e5c5 Add per-configuration flags that were previously being set by the
Hammer infrastructure.
Review URL: http://codereview.chromium.org/56179

git-svn-id: http://src.chromium.org/svn/trunk/src/build@13012 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-04-02 15:34:09 +00:00
sgk@google.com e35d80932e DEPS roll to get latest gyp rev.
Also, Windows update to common.gypi to accommodate msvs.py
change in gyp r405.
Review URL: http://codereview.chromium.org/57026

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12830 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-31 01:12:14 +00:00
sgk@google.com a06dbbafff Build in a ../sconsbuild directory by default:
* Deps roll for ../sconsbuild support in gyp.
* Add a 'scons_settings': { 'sconsbuild_dir' } setting to common.gypi.
* Change uses of $DESTINATION_ROOT to $TOP_BUILDDIR.
Review URL: http://codereview.chromium.org/53133

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12636 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-27 04:27:01 +00:00
sgk@google.com 8d3013c4ab Update Linux gyp build to import and propagate external environment
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: http://src.chromium.org/svn/trunk/src/build@12583 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-26 18:58:10 +00:00
thomasvl@chromium.org 357d391819 loadable_modules are just like shared libs for code generation.
Review URL: http://codereview.chromium.org/45038

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12392 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-24 20:38:33 +00:00
sgk@google.com 298d8d0687 Fix a typo in the shared library link line arguments.
Review URL: http://codereview.chromium.org/51006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12337 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-24 02:40:14 +00:00
sgk@google.com bc2e6508b6 Update the gyp Linux build:
* Add Linux settings to target_defaults in common.gypi so
  gyp-generated SConscript files no longer depend on
  build/SConscript.main or the Hammer infrastructure.
* Copy the FilterOut() function from Hammer to the chromium_builders.py
  Tool module.
* Add a ChromiumLoadableModule() builder to chromium_builders.py.
* Add dependencies on the 'views' library to the chrome link (target 'app').
* Add missing views/*/*_unittest.cc modules to the 'unit_tests' target.
  Exclude all but the one that builds on Linux from the non-Windows builds.
* Crib a list of chrome/views files to exclude from the Linux build
  from the old SCons configuration.
* Add a new build/linux/system.gyp file with new 'settings' targets
  to encapsulate the pkg-config checks for gtk+-2.0, nss and pangoft2.
* Add depenedencies in the other targets on the new gtk, nss and
  pangoft2 'settings' targets from build/linux/system.gyp.
* Add a pkg_config_wrapper.py script that keeps gyp happy by
  simply exiting 0 if the package isn't found.
* DEPS roll for latest gyp changes to support the above.
Review URL: http://codereview.chromium.org/42340

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12228 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-20 23:13:26 +00:00
thomasvl@chromium.org 94a8673823 Make the ObjC linker flag more generic so it only cares if we're building a
bundle (catches frameworks and app and anything else added in the future).
Review URL: http://codereview.chromium.org/50053

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12196 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-20 17:55:26 +00:00
thomasvl@chromium.org 91d6d7fe89 Chromium side of http://codereview.chromium.org/42394
- Remove the use of the mac specific type 'application' and use 'executable'
with 'mac_bundle' set to 1.

- update common.gypi to default mac_bundle to zero.

- update common.gypi to look at mac_bundle for some of the base behaviors that
were on 'application'.

- Roll DEPS to get the new version of gyp w/ the matching support.

Review URL: http://codereview.chromium.org/50015

git-svn-id: http://src.chromium.org/svn/trunk/src/build@12136 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-19 19:26:42 +00:00
mark@chromium.org b1a8106c28 Allow Mac precompiled headers to be disabled based on a GYP variable.
Review URL: http://codereview.chromium.org/42133

git-svn-id: http://src.chromium.org/svn/trunk/src/build@11557 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-12 19:09:24 +00:00
jrg@chromium.org 6c6a8a498f Branding of Chrome.app.
To brand, do a "src/tools/gyp/gyp_dogfood -Dbranding=Chrome src/build/all.gyp"
(Then build, of course.)

Review URL: http://codereview.chromium.org/40066

git-svn-id: http://src.chromium.org/svn/trunk/src/build@10920 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-04 21:36:39 +00:00
mark@chromium.org 8d80412539 GYP it, GYP it good.
Convert the Mac build to the new GYP-based Xcode build, and remove the old
Xcode projects.
Review URL: http://codereview.chromium.org/28305

git-svn-id: http://src.chromium.org/svn/trunk/src/build@10693 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-03-02 00:16:16 +00:00
mark@chromium.org 54e9134c6f Link applications with -Wl,-ObjC to keep Objective-C implementations available
Review URL: http://codereview.chromium.org/28289

git-svn-id: http://src.chromium.org/svn/trunk/src/build@10662 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-02-28 00:50:08 +00:00
mark@chromium.org cbda795c0d Import .gyp files into the Chromium tree
Review URL: http://codereview.chromium.org/27158

git-svn-id: http://src.chromium.org/svn/trunk/src/build@10380 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2009-02-25 21:26:55 +00:00