OLD | NEW |
1 # Copyright 2014 PDFium Authors. All rights reserved. | 1 # Copyright 2014 PDFium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # Definitions to be used when building stand-alone PDFium binaries. | 5 # Definitions to be used when building stand-alone PDFium binaries. |
6 | 6 |
7 { | 7 { |
8 'variables': { | 8 'variables': { |
9 'component%': 'static_library', | 9 'component%': 'static_library', |
10 'clang%': 0, | 10 'clang%': 0, |
| 11 'asan%': 0, |
| 12 'sanitizer_coverage%': 0, |
11 'msvs_multi_core_compile%': '1', | 13 'msvs_multi_core_compile%': '1', |
12 'variables': { | 14 'variables': { |
13 'variables': { | 15 'variables': { |
14 'variables': { | 16 'variables': { |
15 'conditions': [ | 17 'conditions': [ |
16 ['OS=="linux" or OS=="mac"', { | 18 ['OS=="linux" or OS=="mac"', { |
17 # This handles the Unix platforms we generally deal with. | 19 # This handles the Unix platforms we generally deal with. |
18 # Anything else gets passed through, which probably won't work | 20 # Anything else gets passed through, which probably won't work |
19 # very well; such hosts should pass an explicit target_arch | 21 # very well; such hosts should pass an explicit target_arch |
20 # to gyp. | 22 # to gyp. |
21 'host_arch%': | 23 'host_arch%': |
22 '<!(uname -m | sed -e "s/i.86/ia32/;\ | 24 '<!(uname -m | sed -e "s/i.86/ia32/;\ |
23 s/x86_64/x64/;\ | 25 s/x86_64/x64/;\ |
24 s/amd64/x64/;\ | 26 s/amd64/x64/;\ |
25 s/arm.*/arm/;\ | 27 s/arm.*/arm/;\ |
26 s/aarch64/arm64/;\ | 28 s/aarch64/arm64/;\ |
27 s/mips.*/mipsel/")', | 29 s/mips.*/mipsel/")', |
28 }, { | 30 }, { |
29 # OS!="linux" and OS!="mac" | 31 # OS!="linux" and OS!="mac" |
30 'host_arch%': 'ia32', | 32 'host_arch%': 'ia32', |
31 }], | 33 }], |
32 ], | 34 ], |
33 }, | 35 }, |
34 'host_arch%': '<(host_arch)', | 36 'host_arch%': '<(host_arch)', |
35 'target_arch%': '<(host_arch)', | 37 'target_arch%': '<(host_arch)', |
36 }, | 38 }, |
37 'host_arch%': '<(host_arch)', | 39 'host_arch%': '<(host_arch)', |
38 'target_arch%': '<(target_arch)', | 40 'target_arch%': '<(target_arch)', |
39 }, | 41 }, |
| 42 'clang_dir%': 'third_party/llvm-build/Release+Asserts', |
40 # These two are needed by V8. | 43 # These two are needed by V8. |
41 'host_arch%': '<(host_arch)', | 44 'host_arch%': '<(host_arch)', |
42 'target_arch%': '<(target_arch)', | 45 'target_arch%': '<(target_arch)', |
43 'werror%': '-Werror', | 46 'werror%': '-Werror', |
44 'v8_optimized_debug%': 0, | 47 'v8_optimized_debug%': 0, |
45 'v8_use_external_startup_data%': 0, | 48 'v8_use_external_startup_data%': 0, |
46 'icu_gyp_path': '../v8/third_party/icu/icu.gyp', | 49 'icu_gyp_path': '../v8/third_party/icu/icu.gyp', |
47 'conditions': [ | 50 'conditions': [ |
48 ['OS == "win"', { | 51 ['OS == "win"', { |
49 'os_posix%': 0, | 52 'os_posix%': 0, |
50 }, { | 53 }, { |
51 'os_posix%': 1, | 54 'os_posix%': 1, |
52 }], | 55 }], |
| 56 ['OS=="linux" or OS=="mac"', { |
| 57 'clang%': 1, |
| 58 }, { |
| 59 'clang%': 0, |
| 60 }], |
53 ], | 61 ], |
54 }, | 62 }, |
55 'target_defaults': { | 63 'target_defaults': { |
56 'default_configuration': 'Debug', | 64 'default_configuration': 'Debug', |
57 'configurations': { | 65 'configurations': { |
58 'Debug': { | 66 'Debug': { |
59 'cflags': [ | 67 'cflags': [ |
60 '-g', | 68 '-g', |
61 '-O0', | 69 '-O0', |
62 '-fdata-sections', | 70 '-fdata-sections', |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 '-W', | 250 '-W', |
243 '-Wno-unused-parameter', | 251 '-Wno-unused-parameter', |
244 ], | 252 ], |
245 }, | 253 }, |
246 'conditions': [ | 254 'conditions': [ |
247 ['component=="shared_library"', { | 255 ['component=="shared_library"', { |
248 'cflags': [ | 256 'cflags': [ |
249 '-fPIC', | 257 '-fPIC', |
250 ], | 258 ], |
251 }], | 259 }], |
| 260 ['asan==1', { |
| 261 'cflags': [ |
| 262 '-fsanitize=address', |
| 263 '-gline-tables-only', |
| 264 ], |
| 265 'ldflags': [ |
| 266 '-fsanitize=address', |
| 267 ], |
| 268 }], |
| 269 ['sanitizer_coverage!=0', { |
| 270 'cflags': [ |
| 271 '-fsanitize-coverage=<(sanitizer_coverage)', |
| 272 ], |
| 273 }], |
252 ['OS=="win"', { | 274 ['OS=="win"', { |
253 'defines': [ | 275 'defines': [ |
254 'NOMINMAX', | 276 'NOMINMAX', |
255 '_CRT_SECURE_NO_DEPRECATE', | 277 '_CRT_SECURE_NO_DEPRECATE', |
256 '_CRT_NONSTDC_NO_DEPRECATE', | 278 '_CRT_NONSTDC_NO_DEPRECATE', |
257 ], | 279 ], |
258 'conditions': [ | 280 'conditions': [ |
259 ['component=="static_library"', { | 281 ['component=="static_library"', { |
260 'defines': [ | 282 'defines': [ |
261 '_HAS_EXCEPTIONS=0', | 283 '_HAS_EXCEPTIONS=0', |
(...skipping 11 matching lines...) Expand all Loading... |
273 ['v8_use_external_startup_data==1', { | 295 ['v8_use_external_startup_data==1', { |
274 'defines': [ | 296 'defines': [ |
275 'V8_USE_EXTERNAL_STARTUP_DATA', | 297 'V8_USE_EXTERNAL_STARTUP_DATA', |
276 ], | 298 ], |
277 }], # v8_use_external_startup_data==1 | 299 }], # v8_use_external_startup_data==1 |
278 ], | 300 ], |
279 }, | 301 }, |
280 'xcode_settings': { | 302 'xcode_settings': { |
281 # See comment in Chromium's common.gypi for why this is needed. | 303 # See comment in Chromium's common.gypi for why this is needed. |
282 'SYMROOT': '<(DEPTH)/xcodebuild', | 304 'SYMROOT': '<(DEPTH)/xcodebuild', |
283 } | 305 }, |
| 306 'conditions': [ |
| 307 ['OS=="linux" or OS=="mac"', { |
| 308 'conditions': [ |
| 309 ['clang==1', { |
| 310 'make_global_settings': [ |
| 311 ['CC', '<(clang_dir)/bin/clang'], |
| 312 ['CXX', '<(clang_dir)/bin/clang++'], |
| 313 ], |
| 314 }], |
| 315 ], |
| 316 }], # OS=="linux" or OS=="mac" |
| 317 ], |
284 } | 318 } |
OLD | NEW |