summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorOliver Chang <ochang@chromium.org>2015-10-19 11:19:22 -0700
committerOliver Chang <ochang@chromium.org>2015-10-19 11:19:22 -0700
commit5478df43a8970257e9644ae6f57a6fe7513029c6 (patch)
treec9e7c2293d63413198204d4a32d81f8f4d5a19e3 /build
parent316e482630d5f5d9084edd9725f98a0d89a5bbdf (diff)
downloadpdfium-5478df43a8970257e9644ae6f57a6fe7513029c6.tar.xz
Switch builds to clang by default for Linux and OS X.
Also adds support for ASan and sanitizer coverage. BUG=pdfium:1,pdfium:171 R=thakis@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1406843002 .
Diffstat (limited to 'build')
-rw-r--r--build/standalone.gypi36
1 files changed, 35 insertions, 1 deletions
diff --git a/build/standalone.gypi b/build/standalone.gypi
index 507368dc25..a70b442bee 100644
--- a/build/standalone.gypi
+++ b/build/standalone.gypi
@@ -8,6 +8,8 @@
'variables': {
'component%': 'static_library',
'clang%': 0,
+ 'asan%': 0,
+ 'sanitizer_coverage%': 0,
'msvs_multi_core_compile%': '1',
'variables': {
'variables': {
@@ -37,6 +39,7 @@
'host_arch%': '<(host_arch)',
'target_arch%': '<(target_arch)',
},
+ 'clang_dir%': 'third_party/llvm-build/Release+Asserts',
# These two are needed by V8.
'host_arch%': '<(host_arch)',
'target_arch%': '<(target_arch)',
@@ -50,6 +53,11 @@
}, {
'os_posix%': 1,
}],
+ ['OS=="linux" or OS=="mac"', {
+ 'clang%': 1,
+ }, {
+ 'clang%': 0,
+ }],
],
},
'target_defaults': {
@@ -249,6 +257,20 @@
'-fPIC',
],
}],
+ ['asan==1', {
+ 'cflags': [
+ '-fsanitize=address',
+ '-gline-tables-only',
+ ],
+ 'ldflags': [
+ '-fsanitize=address',
+ ],
+ }],
+ ['sanitizer_coverage!=0', {
+ 'cflags': [
+ '-fsanitize-coverage=<(sanitizer_coverage)',
+ ],
+ }],
['OS=="win"', {
'defines': [
'NOMINMAX',
@@ -280,5 +302,17 @@
'xcode_settings': {
# See comment in Chromium's common.gypi for why this is needed.
'SYMROOT': '<(DEPTH)/xcodebuild',
- }
+ },
+ 'conditions': [
+ ['OS=="linux" or OS=="mac"', {
+ 'conditions': [
+ ['clang==1', {
+ 'make_global_settings': [
+ ['CC', '<(clang_dir)/bin/clang'],
+ ['CXX', '<(clang_dir)/bin/clang++'],
+ ],
+ }],
+ ],
+ }], # OS=="linux" or OS=="mac"
+ ],
}