From 58680cec807bec4cbca35cfad74439a7653040c4 Mon Sep 17 00:00:00 2001 From: "evan@chromium.org" Date: Sat, 18 Sep 2010 00:09:15 +0000 Subject: Support for building Chrome using Clang. To build, set the clang=1 gyp_define. This patch is the culmination of many months of effort and many patches. It contains the minimal changes to Chrome that are Clang-specific. With this, I can build the "chrome" target. Once this patch is in, we can incrementally fix bits of Chrome and various tests and remove the Clang-specific workarounds. Review URL: http://codereview.chromium.org/522020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59882 0039d316-1c4b-4281-b951-d872f2087c98 --- build/common.gypi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'build') diff --git a/build/common.gypi b/build/common.gypi index 0f721ed..d81c567 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -251,6 +251,12 @@ # Set this to true to enable SELinux support. 'selinux%': 0, + # Set this to true when building with Clang. + # See http://code.google.com/p/chromium/wiki/Clang for details. + # TODO: eventually clang should behave identically to gcc, and this + # won't be necessary. + 'clang%': 0, + # Override whether we should use Breakpad on Linux. I.e. for Chrome bot. 'linux_breakpad%': 0, # And if we want to dump symbols for Breakpad-enabled builds. @@ -1114,6 +1120,23 @@ ], }]] }], + ['clang==1', { + 'cflags': [ + # Don't warn about unused variables, due to a common pattern: + # scoped_deleter unused_variable(&thing_to_delete); + '-Wno-unused-variable', + # Clang spots more unused functions. + '-Wno-unused-function', + # gtest confuses clang. + '-Wno-bool-conversions', + # Don't die on dtoa code that uses a char as an array index. + '-Wno-char-subscripts', + ], + 'cflags!': [ + # Clang doesn't seem to know know this flag. + '-mfpmath=sse', + ], + }], ['no_strict_aliasing==1', { 'cflags': [ '-fno-strict-aliasing', -- cgit v1.1