summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
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"
+ ],
}