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

63 Коммитов

Автор SHA1 Сообщение Дата
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