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

450 Коммитов

Автор SHA1 Сообщение Дата
thakis@chromium.org d9716610bf clang: Let release builds use -O3, like on gcc.
Now that http://llvm.org/bugs/show_bug.cgi?id=10031 is fixed, this will hopefully
no longer crash clang.

BUG=84815
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88425 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 22:35:54 +00:00
thakis@chromium.org 243bb8c2db Turn on -Wdelete-non-virtual-dtor for chromeos as well.
All of the changes in this CL are to shut up the warning, not because of real problems (I fixed these in separate CLs).
See the bug for a disussion of this change.

BUG=84424
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88385 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 20:33:32 +00:00
jam@chromium.org f1b99ada66 Revert stubs that were added in r88040. We need proper interfaces around features that need to be compiled out, instead of adding stubs.
Review URL: http://codereview.chromium.org/7046052

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88374 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 19:06:55 +00:00
thakis@chromium.org 14b806ae61 Roll clang 131950:132735
Notable changes in the range:
* r132735 (hopefully) fixes a bug introduced in r131951 that made
  gold 1.10 crash with
     /usr/bin/ld: internal error in set_offset, at output.cc:4030
* r132535 fixes the crash at -O3 on mac
* r132565 adds a warning for "x + y ? a : b" to -Wparentheses

BUG=85289,84424
TEST=none
TBR=evan

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88344 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 16:40:06 +00:00
thakis@chromium.org db9b046b6a clang: Uncomment new warning flag.
BUG=85289
TEST=none
TBR=evan

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88279 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 04:14:29 +00:00
thakis@chromium.org a81bc4587d roll clang 131935:132017
clang recently added a warning that warns when invoking 'delete' on a polymorphic non-final class without a virtual destructor. This finds real bugs – see the bug referenced below for a few examples.

However, one common pattern where it fires is this case:

class SomeInterface {
public:
virtual void interfaceMethod() {} // or = 0;
protected:
~SomeInterface() {}
}

class WorkerClass : public SomeInterface {
public:
// many non-virtual functions, but also:
virtual void interfaceMethod() override { /* do actual work */ }
};

void f() {
scoped_ptr<WorkerClass> c(new WorkerClass); // simplified example
}

(See the 2nd half of http://www.gotw.ca/publications/mill18.htm for an explanation of this pattern.)

It is arguably correct to fire the warning here, since someone might make a subclass of WorkerClass and replace |new WorkerClass| with |new WorkerClassSubclass|. This would be broken since WorkerClass doesn't have a virtual destructor.

The solution that the clang folks recommend is to mark WorkerClass as |final| (a c++0x keyword that clang supports as an extension in normal c++ mode – like override). But chrome's base/OWNERS deemed that as too complicated and we decided to make virtual the destructors of leaf classes that implement these interfaces and that are deleted dynamically. All of the changes in this CL are to shut up the warning, not because of real problems (I fixed these in separate CLs).

(For the gtk files, this is necessary because the CHROMEGTK_CALLBACK_ macros add virtual functions.)

BUG=84424
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88270 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 02:20:21 +00:00
koz@chromium.org 898ceee92e Disable RegisterProtocolHandler on Linux.
The OS-level registration isn't implemented on Linux, and so every time the
browser starts it will act as though another program has been registered to
handle the protocols it knows about and deregister them all internally.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88246 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-08 00:14:49 +00:00
satish@chromium.org 34fe3a39a4 Adds a GYP flag for desktop notifications (enabled by default) and stub out relevant code if set to 0.
In chrome/browser/task_manager I moved notifications related code to their own files and allow exclusion and stubbing via GYP. Similarly I have added stubs for other parts including a chrome/browser/notifications/notification_stubs.cc which takes care of classes within that directory.

I also created some static methods in DesktopNotificationService to wrap commonly used notification related code so that we reduce the amount of stubs required.

BUG=none
TEST=existing notification tests succeed

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@88040 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-06 21:24:02 +00:00
piman@chromium.org b698f6a705 Only pass -Wl,--icf=safe to the target compiler, not the host one.
BUG=none
TEST=run gyp, check -Wl,--icf=safe is added to *.target.mk but not to *.host.mk


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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@87840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-03 20:05:46 +00:00
jknotten@chromium.org ab350838f3 Allow device policy code to be optionally included.
BUG=None
TEST=Existing


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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@87468 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-06-01 13:56:25 +00:00
tony@chromium.org f1f985388f Update translations using strings from launchpad.net r228
This includes a new lang: Armenian (hy)

Patch from Fabien Tassin <fta@sofaraway.org>.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@87376 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-31 22:11:29 +00:00
thakis@chromium.org dbad736a51 mac: Fix a nesting bug in http://crrev.com/87141
BUG=none
TEST=none
TBR=mark

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@87148 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-28 02:49:48 +00:00
thakis@chromium.org 0a44544232 mac: Use -O2 for clang release builds for now.
BUG=none
TEST=none


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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@87141 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-28 02:13:46 +00:00
nirnimesh@chromium.org ca0c321360 Switch to python2.6 as the default for pyauto on linux
BUG=81621

R=cmp@chromium.org
TEST=

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86732

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86985 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-27 06:54:51 +00:00
koz@chromium.org 41ad2bcf70 Turn on navigator.registerProtocolHandler().
R=tony

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86944 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-27 01:30:47 +00:00
koz@chromium.org d2f4484f67 Handler settings page.
This change implements a settings page that allows users to manage protocol
handlers registered via navigator.registerProtocolHandler.

tony: could you review the ProtocolHandlerRegistry stuff?
estade: could you review the webui stuff?

Thanks!

TEST=Unit tests provided.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86762 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-26 01:30:56 +00:00
nirnimesh@google.com c0403fa4c8 Revert 86732 - Switch to python2.6 as the default for pyauto on linux
BUG=81621

R=cmp@chromium.org
TEST=

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

TBR=nirnimesh@google.com
Review URL: http://codereview.chromium.org/6987034

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86739 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-25 23:32:49 +00:00
nirnimesh@google.com f5fd98b3dd Switch to python2.6 as the default for pyauto on linux
BUG=81621

R=cmp@chromium.org
TEST=

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86732 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-25 23:02:25 +00:00
sky@chromium.org b2541d3a62 Prototype compositor to render views to a texture using d3d 10. This
is just a prototype for us to play with. There are plenty of issues to
resolve before its made real, but I wanted to check something in for
others to play with rather than keeping it all local. To get it to
compile you need to set the GYP_DEFINE to views_compositor.

BUG=none
TEST=none
R=ben@chromium.org,apatrick@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86516 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-24 23:08:58 +00:00
hashimoto@chromium.org f7f56fea4a Fix to make InputMethodIBus usable on every ChromeOS device (even without TouchUI)
Add switch "--enable-inputmethod-ibus" to enable InputMethodIBus on ChromeOS
Modify gyp files to link IBus

BUG=chromium-os:15566
TEST=manually

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86390 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-24 02:36:05 +00:00
fta@sofaraway.org a094e579e9 Update translations using strings from launchpad.net r216
Patch from Fabien Tassin <fta@sofaraway.org>.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86138 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-20 20:26:27 +00:00
evan@chromium.org 7e7085afc4 Remove more library=shared_library pieces.
Leave in the definition of the 'library' variable until we're
certain all users are fixed, but otherwise hardcode it to
static_library.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86026 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-20 00:53:50 +00:00
evan@chromium.org 6009dfe782 Globally replace <(library) with static_library
We provided <(library) as a variable to support a peculiar
build configuration on Linux.  We no longer support that build
configuration, so we can simplify this code to no longer use
a variable.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@86004 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-19 23:18:53 +00:00
evan@chromium.org b9d70721f1 Remove os_nix from gyp variables.
This is extra complexity we don't need.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@85776 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-18 17:25:37 +00:00
mdm@chromium.org 8f88a52e75 Linux: add gyp rules for gio library and gsettings link mode.
These will be used to add support for proxy settings in gsettings.
Note that no new dependencies are added in the default configuration.
BUG=80453

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@85524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-16 20:04:35 +00:00
evan@chromium.org 88ad421c00 Simplify the disable_pie logic.
Since we only use the variable in one place, move its definition
into that one place.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@85162 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-12 19:07:20 +00:00
mark@chromium.org 3b45b2e755 The gyp files don't have a way to refer to POSIX-like OS's as a group, so I defined os_posix, toolkit_gtk, and use_x11 in common.gypi to handle them. I used something similar when porting Chromium 10 and 11 to OpenBSD and Solaris, plus a version of this patch has been tested on FreeBSD.
Chromium has also been built on other BSDs, so rather than adding each Unix to every gyp file individually every time another port is added, these broad defines can be used instead and modified with specific logic only where necessary.

I included a few modified gyp files so the usage can be seen.  I also added sunos5 to some grd/html files and set the default host_arch on i86pc solaris to ia32.

BUG=0
TEST={}

Patch by ruben <chromium@hybridsource.org>.
Review URL: http://codereview.chromium.org/6965007

git-svn-id: http://src.chromium.org/svn/trunk/src/build@85154 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-12 18:18:34 +00:00
rkc@chromium.org a9c269dbb8 Temporarily add a disable_pie GYP flag
Add a flag that will disable building Chrome as a Position Independent Executable.

R=zelidrag@chromium.org,raymes@chromium.org
BUG=chromium-os:15161
TEST=Tested building with and without the flag; with the flag, symbols appear correctly in the remote session.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84892 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-10 23:39:52 +00:00
timurrrr@chromium.org 631c21e59d Reland r84802 with a fix - Disable ICF for Valgrind/ThreadSanitizer Release builds
With ICF the linker merges identical functions into one block of assembly,
which leads to
a) wrong symbols for some functions - which is debugger/Valgrind-unfriendly
b) all ThreadSanitizer annotations end up being one function which makes TSan crazy.

Since we run release code (with -O1 -g) on Valgrind bots,
we have to disable ICF if release_valgrind_build!=0.

BUG=82114
TEST=linux_tsan trybot goes green
TEST=`gclient runhooks` with and w/o GYP_DEFINES="release_valgrind_build=1"
     and `grep "\-\-icf" base/base.target.mk`
Review URL: http://codereview.chromium.org/7004005

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84833 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-10 19:49:12 +00:00
bradnelson@google.com c3d7f4857a Revert 84802 - Disable ICF for Valgrind/ThreadSanitizer Release builds
With ICF the linker merges identical functions into one block of assembly,
which leads to
a) wrong symbols for some functions - which is debugger/Valgrind-unfriendly
b) all ThreadSanitizer annotations end up being one function which makes TSan crazy.

Since we run release code (with -O1 -g) on Valgrind bots,
we have to disable ICF if release_valgrind_build!=0.

BUG=82114
TEST=linux_tsan trybot goes green
Review URL: http://codereview.chromium.org/6991009

TBR=timurrrr@chromium.org
Review URL: http://codereview.chromium.org/6995026

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84804 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-10 17:34:03 +00:00
timurrrr@chromium.org d8e2a091c3 Disable ICF for Valgrind/ThreadSanitizer Release builds
With ICF the linker merges identical functions into one block of assembly,
which leads to
a) wrong symbols for some functions - which is debugger/Valgrind-unfriendly
b) all ThreadSanitizer annotations end up being one function which makes TSan crazy.

Since we run release code (with -O1 -g) on Valgrind bots,
we have to disable ICF if release_valgrind_build!=0.

BUG=82114
TEST=linux_tsan trybot goes green
Review URL: http://codereview.chromium.org/6991009

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84802 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-10 17:28:04 +00:00
evan@chromium.org e45ec793cd linux: enable safe identical code folding for release builds
This shaves 2.5mb (~5%) off the binary, at the cost of ~1 second
(~25%) of linking.  In debug builds, the 25% time cost is much
larger so we only enable this for Release mode.

BUG=76280

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84088 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-04 18:11:52 +00:00
thakis@chromium.org 5db427e01a Mac: Explicitly disable -fstrict-aliasing.
Mark says: "When GCC_STRICT_ALIASING is YES, Xcode adds -fstrict-aliasing to the compiler command line. When it’s NO, it doesn’t add anything (not even -fno-strict-aliasing). Xcode doesn’t know that -fstrict-aliasing is on at our selected optimization level."

So add this directly to OTHER_CLFAGS.

BUG=32204
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@84064 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-04 15:33:19 +00:00
maruel@chromium.org 48a5f1ec2e Increase warning level to 4 on Visual Studio
This requires disabling most /W4 warnings so the patch doesn't get too large.
I still fixed a few bugs so I didn't have to disable some more serious warnings. Most of these warnings are already enabled on gcc so it's mostly windows-specific code that is affected.

BUG=none
TEST=none


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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83840 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-03 02:04:11 +00:00
raymes@chromium.org d62d15434d See http://codereview.chromium.org/6903045/. Same CL but to ToT.
Review URL: http://codereview.chromium.org/6901074

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83744 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-05-02 18:26:08 +00:00
rvargas@google.com e9f1538d27 Reland 83186: Enable building base.dll for the multi-dll build.
BUG=76996
TEST=none

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

TBR=rvargas@google.com
Review URL: http://codereview.chromium.org/6902117

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83369 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-28 18:51:48 +00:00
penghuang@chromium.org 37c754d4d3 Remove ibus checking script from views.gyp and add use_ibus=1 option
BUG=chromium:80700
TEST=Test it on Linux desktop


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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83232 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-27 22:30:23 +00:00
rvargas@google.com c7ca0e0a70 Revert 83186 - Enable building base.dll for the multi-dll build.
BUG=76996
TEST=none

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


TBR=rvargas@google.com
Review URL: http://codereview.chromium.org/6883197

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83194 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-27 19:58:57 +00:00
rvargas@google.com f96c1f9de7 Enable building base.dll for the multi-dll build.
BUG=76996
TEST=none
Review URL: http://codereview.chromium.org/6883173

git-svn-id: http://src.chromium.org/svn/trunk/src/build@83186 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-27 19:04:27 +00:00
satish@chromium.org 672a1e65ac Wrap the p2p transport API in a compile time flag.
BUG=none
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@82295 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-20 15:49:51 +00:00
zelidrag@chromium.org ed313698ab Made full tab file browser to open automatically when a new disk device is properly mounted.
BUG=chromium-os:14215
TEST=plug in SD card or USB key, observe file browser opens and navigates to that new device
Review URL: http://codereview.chromium.org/6865033

git-svn-id: http://src.chromium.org/svn/trunk/src/build@81881 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-16 20:48:51 +00:00
thakis@chromium.org 6f9a6c7d8c clang: Use -Wheader-hygiene instead of a custom check in the plugin.
Revert the parts of http://codereview.chromium.org/6698051/ that added
the custom plugin code, and use the new warning we added to upstream
clang instead.

Define U_USING_ICU_NAMESPACE=0 to make ICU not use
|using namespace icu;| in its header and adapt cc files that use ICU.

Depends on http://codereview.chromium.org/6691062

BUG=none
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@80509 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-05 19:49:07 +00:00
timurrrr@chromium.org 973bf9ae0b Enable dynamic annotations in WebKit if release_valgrind_build is 1.
TEST=build with Valgrind flags, then `nm out/Release/chrome | grep WTFAnnotate`
BUG=70085

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@80423 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-04-05 07:36:58 +00:00
fischman@chromium.org 82f6dcb9a3 Revert 79846 - Add -Wsign-compare for C++ compilation on linux & friends.
g++ -Wall includes -Wsign-compare on C++ source, but clang++ doesn't.

BUG=none
TEST=none

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

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@79855 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-30 17:28:13 +00:00
fischman@chromium.org 14680ecf57 Add -Wsign-compare for C++ compilation on linux & friends.
g++ -Wall includes -Wsign-compare on C++ source, but clang++ doesn't.

BUG=none
TEST=none

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@79846 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-30 16:47:56 +00:00
thomasvl@chromium.org dba2c19be8 Standardize grit invokes
- Add two gypi files to src/build for the boilerplate added to targets and actions
- Update grit_info to also support the -E flag so it can share more of the grit build commandline
- switch over all but the webkit and webkit glue grd files to use the common support


BUG=22247
TEST=everything still localized correctly
Review URL: http://codereview.chromium.org/6705030

git-svn-id: http://src.chromium.org/svn/trunk/src/build@79548 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-28 12:01:29 +00:00
mnaganov@chromium.org 6309251eea DevTools: if 'debug_devtools' is defined in .gyp, always try loading from disk, take 2.
Missing variable definition added.

We have found that being forced to pass '--debug-devtools' isn't
convenient for DevTools developers, and decided to always load DevTools
files from disk, if Chromium was compiled with 'debug_devtools' flag set
in .gyp

BUG=none
TEST=none
TBR=pfeldman@chromium.org

git-svn-id: http://src.chromium.org/svn/trunk/src/build@79528 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-28 07:58:51 +00:00
tony@chromium.org 0dbc7352eb Consolidate google chrome build flag for grit targets.
Just moving a bunch of duplicated gyp logic into
build/common.gypi.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@79132 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-23 16:24:29 +00:00
mark@chromium.org 9bb47f41e0 WinDDK ATL and MSVC express 2008/2005 compatability
Gives 'out of the box' compatability with VC2008 express - i.e. no modifications needed to system headers or .gyp* files or related hacks. Just set the GYP_MSVS_VERSION to 200Xe (e for express, same as the linked blog on the issue and first google hit as well). 

1) Changes to build\common.gypi to turn off to define COMPILER_MSVC_EXPRESS if a express is detected (through the GYP_MSVC_VERSION environment variable), turn off the _SECURE_ATL define (which is flagged as an error with WinDDK's ATL, _SECURE_ATL adds [more] CRT checks to other ATL versions) and hard to link to the atl stdthunk library with express editions. Also, explicitly link to the base WinSDK libraries in common.gypi and mini_installer.gypi for MSVC 2005 express. 
2) Fixes a few .cc files that have the wrong include order with the ATL headers when using the Windows DDK ATL. The Windows DDK ATL brings in intsafe.h (WinSDK, not WinDDK) with atlwin.h and generates multiple INTXX_MIN/MAX def warnings which get 
flagged as errors with the warnings as errors flag if not included before other libraries that have the same definitions like ICU. 
3) Changes to .rc files to avoid pulling in afxres.h (an MFC header - 
it's available in the WinDDK) and winres.h which VCExpress doesn't have (it's available in a WinSDK sample, but that kind of the purpose of it). The main Chromium .rc files are already structured this way, I just changed the rest and changed the output of grit to do the same. 
4) Removes the memset obj file linking in mini_installer.gyp and simply implements memset for mini_installer.cc. 

Only changes to the chromium branch now. There are some .rc files in the Python26, Native Client, and Angle in samples that could #3 changes. They are not required for Chromium, however. 
------ 
VC2005SP1 can be downloaded at 
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=en
(or non-SP1 at http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe)

VC2008SP1 can be downloaded at 
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=F3FBB04E-92C2-4701-B4BA-92E26E408569&displaylang=en 
currently. 

The base developer instructions work fine afterwards with a couple tweaks for express versions: 
http://www.chromium.org/developers/how-tos/build-instructions-windows 

Under "Additional (free) downloads" under step 2: 
X) Only the first 3 Non-SP KB Patches are needed for express. Don't forget to forget GYP_MSVS_VERSION environment as appropriate - 2008e for Visual C++ 2008 Express, for example. 

Under "Additional (free) downloads" after step 5
[These only apply to 2008 express, 2005 works fine out of the box]: 
6A) Download the WinDDK for the atl headers and libs - 
http://msdn.microsoft.com/en-us/windows/hardware/gg487463.aspx. It works fine, but you do not need to install the whole DDK. In the WDK directory just install headers.msi, libs_x86fre.msi, and libs_x64fre.msi; just grab the atl headers and atl*.lib libs; right click the installers and uninstall afterwards. Add the appropriate include and lib paths to your global settings. 
6B) To build x64 targets (x64 Native Client) download: 
http://www.cppblog.com/Files/xcpp/VCE64BIT_WIN7SDK.zip 
Follow the readme instructions. 
Further information behind that and x64 target building with express: 
- http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/ 
- http://www.cppblog.com/xcpp/archive/2009/09/09/vc2008express_64bit_win7sdk.html 
---------------- 
BUG=1433, 5026, 72885
TEST=Compiles in both Debug and Release mode in Visual C++ Express 2008/2005 and does not effect other build setups. In addition, the WinDDK ATL compiles with the secure_atl=0 in the GYP_DEFINES environment variable on non-express versions of MSVC.
Review URL: http://codereview.chromium.org/6676030

git-svn-id: http://src.chromium.org/svn/trunk/src/build@78921 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-21 20:58:50 +00:00
thakis@chromium.org bf24c24fb6 Yet another clang roll attempt.
To r126754

To handle clang making -fno-exceptions disabling ObjC exceptions, add -fobjc-exceptions for all files for now. This is a band-aid, see the bug below.

BUG=75001
TEST=none
TBR=hans

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@77032 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2011-03-05 04:47:25 +00:00