OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium 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 { | 5 { |
6 'variables': { | 6 'variables': { |
7 # .gyp files should set chromium_code to 1 if they build Chromium-specific | 7 # .gyp files should set chromium_code to 1 if they build Chromium-specific |
8 # code, as opposed to external code. This variable is used to control | 8 # code, as opposed to external code. This variable is used to control |
9 # such things as the set of warnings to enable, and whether warnings are | 9 # such things as the set of warnings to enable, and whether warnings are |
10 # treated as errors. | 10 # treated as errors. |
(...skipping 11 matching lines...) Expand all Loading... |
22 # executable's image. Setting this to 0 is needed to use an experimental | 22 # executable's image. Setting this to 0 is needed to use an experimental |
23 # Linux-Mac cross compiler distcc farm. | 23 # Linux-Mac cross compiler distcc farm. |
24 'chromium_mac_pch%': 1, | 24 'chromium_mac_pch%': 1, |
25 | 25 |
26 # Enable building with ASAN (Clang's -fsanitize=address option). | 26 # Enable building with ASAN (Clang's -fsanitize=address option). |
27 # -fsanitize=address only works with clang, but asan=1 implies clang=1 | 27 # -fsanitize=address only works with clang, but asan=1 implies clang=1 |
28 # See https://sites.google.com/a/chromium.org/dev/developers/testing/address
sanitizer | 28 # See https://sites.google.com/a/chromium.org/dev/developers/testing/address
sanitizer |
29 'asan%': 0, | 29 'asan%': 0, |
30 | 30 |
31 # Set this to true when building with Clang. | 31 # Set this to true when building with Clang. |
32 'clang%': 0, | 32 'nacl_clang%': 0, |
33 | 33 |
34 'conditions': [ | 34 'conditions': [ |
35 ['OS=="mac"', { | 35 ['OS=="mac"', { |
36 # On Mac only clang is new enough to build the trusted code. | 36 # On Mac only clang is new enough to build the trusted code. |
37 'clang%': 1, | 37 'nacl_clang%': 1, |
38 # The Mac SDK is set for iOS builds and passed through to Mac | 38 # The Mac SDK is set for iOS builds and passed through to Mac |
39 # sub-builds. This allows the Mac sub-build SDK in an iOS build to be | 39 # sub-builds. This allows the Mac sub-build SDK in an iOS build to be |
40 # overridden from the command line the same way it is for a Mac build. | 40 # overridden from the command line the same way it is for a Mac build. |
41 'mac_sdk%': '<!(python <(DEPTH)/native_client/build/mac/find_sdk.py 10.6
)', | 41 'mac_sdk%': '<!(python <(DEPTH)/native_client/build/mac/find_sdk.py 10.6
)', |
42 | 42 |
43 }], | 43 }], |
44 # Set ARM float abi compilation flag. | 44 # Set ARM float abi compilation flag. |
45 ['OS=="android"', { | 45 ['OS=="android"', { |
46 'arm_float_abi%': 'softfp', | 46 'arm_float_abi%': 'softfp', |
47 }, { | 47 }, { |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 # TODO(???): track down why 'target_conditions' doesn't work | 256 # TODO(???): track down why 'target_conditions' doesn't work |
257 # on Linux gyp into scons like it does on Mac gyp into xcodeproj. | 257 # on Linux gyp into scons like it does on Mac gyp into xcodeproj. |
258 ['OS=="linux"', { | 258 ['OS=="linux"', { |
259 'cflags': [ '-ftest-coverage', | 259 'cflags': [ '-ftest-coverage', |
260 '-fprofile-arcs'], | 260 '-fprofile-arcs'], |
261 'link_settings': { 'libraries': [ '-lgcov' ] }, | 261 'link_settings': { 'libraries': [ '-lgcov' ] }, |
262 }], | 262 }], |
263 ], | 263 ], |
264 # TODO(jrg): options for code coverage on Windows | 264 # TODO(jrg): options for code coverage on Windows |
265 }], | 265 }], |
266 ['clang==1', { | 266 ['nacl_clang==1', { |
267 'cflags': [ | 267 'cflags': [ |
268 '-Wheader-hygiene', | 268 '-Wheader-hygiene', |
269 # Clang spots more unused functions. | 269 # Clang spots more unused functions. |
270 '-Wno-unused-function', | 270 '-Wno-unused-function', |
271 # Don't die on dtoa code that uses a char as an array index. | 271 # Don't die on dtoa code that uses a char as an array index. |
272 '-Wno-char-subscripts', | 272 '-Wno-char-subscripts', |
273 # Especially needed for gtest macros using enum values from Mac | 273 # Especially needed for gtest macros using enum values from Mac |
274 # system headers. | 274 # system headers. |
275 # TODO(pkasting): In C++11 this is legal, so this should be | 275 # TODO(pkasting): In C++11 this is legal, so this should be |
276 # removed when we change to that. (This is also why we don't | 276 # removed when we change to that. (This is also why we don't |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 '-O<(release_optimize)', | 483 '-O<(release_optimize)', |
484 # Don't emit the GCC version ident directives, they just end up | 484 # Don't emit the GCC version ident directives, they just end up |
485 # in the .comment section taking up binary size. | 485 # in the .comment section taking up binary size. |
486 '-fno-ident', | 486 '-fno-ident', |
487 # Put data and code in their own sections, so that unused symbols | 487 # Put data and code in their own sections, so that unused symbols |
488 # can be removed at link time with --gc-sections. | 488 # can be removed at link time with --gc-sections. |
489 '-fdata-sections', | 489 '-fdata-sections', |
490 '-ffunction-sections', | 490 '-ffunction-sections', |
491 ], | 491 ], |
492 'conditions': [ | 492 'conditions': [ |
493 ['clang==1', { | 493 ['nacl_clang==1', { |
494 'cflags!': [ | 494 'cflags!': [ |
495 '-fno-ident', | 495 '-fno-ident', |
496 ], | 496 ], |
497 }], | 497 }], |
498 ], | 498 ], |
499 }, | 499 }, |
500 }, | 500 }, |
501 }, | 501 }, |
502 }], | 502 }], |
503 ['OS=="mac"', { | 503 ['OS=="mac"', { |
(...skipping 23 matching lines...) Expand all Loading... |
527 # Don't set GCC_VERSION so that we default to /usr/bin/gcc | 527 # Don't set GCC_VERSION so that we default to /usr/bin/gcc |
528 #'GCC_VERSION': '4.2', | 528 #'GCC_VERSION': '4.2', |
529 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof | 529 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof |
530 'PREBINDING': 'NO', # No -Wl,-prebind | 530 'PREBINDING': 'NO', # No -Wl,-prebind |
531 'USE_HEADERMAP': 'NO', | 531 'USE_HEADERMAP': 'NO', |
532 # TODO(bradnelson): -Werror ?!? | 532 # TODO(bradnelson): -Werror ?!? |
533 'WARNING_CFLAGS': ['-Wall', '-Wendif-labels', '-Wno-long-long'], | 533 'WARNING_CFLAGS': ['-Wall', '-Wendif-labels', '-Wno-long-long'], |
534 'conditions': [ | 534 'conditions': [ |
535 ['chromium_mac_pch', {'GCC_PRECOMPILE_PREFIX_HEADER': 'YES'}, | 535 ['chromium_mac_pch', {'GCC_PRECOMPILE_PREFIX_HEADER': 'YES'}, |
536 {'GCC_PRECOMPILE_PREFIX_HEADER': 'NO'}], | 536 {'GCC_PRECOMPILE_PREFIX_HEADER': 'NO'}], |
537 ['clang==1', { | 537 ['nacl_clang==1', { |
538 'CC': '$(SOURCE_ROOT)/<(clang_dir)/clang', | 538 'CC': '$(SOURCE_ROOT)/<(nacl_clang_dir)/clang', |
539 'LDPLUSPLUS': '$(SOURCE_ROOT)/<(clang_dir)/clang++', | 539 'LDPLUSPLUS': '$(SOURCE_ROOT)/<(nacl_clang_dir)/clang++', |
540 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', | 540 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', |
541 'WARNING_CFLAGS': [ | 541 'WARNING_CFLAGS': [ |
542 '-Wheader-hygiene', | 542 '-Wheader-hygiene', |
543 # Don't die on dtoa code that uses a char as an array index. | 543 # Don't die on dtoa code that uses a char as an array index. |
544 # This is required solely for base/third_party/dmg_fp/dtoa.cc. | 544 # This is required solely for base/third_party/dmg_fp/dtoa.cc. |
545 '-Wno-char-subscripts', | 545 '-Wno-char-subscripts', |
546 # Clang spots more unused functions. | 546 # Clang spots more unused functions. |
547 '-Wno-unused-function', | 547 '-Wno-unused-function', |
548 # See comments on this flag higher up in this file. | 548 # See comments on this flag higher up in this file. |
549 '-Wno-unnamed-type-template-args', | 549 '-Wno-unnamed-type-template-args', |
550 # Allow 'default' label in switch even when all enumeration | 550 # Allow 'default' label in switch even when all enumeration |
551 # cases have been covered. | 551 # cases have been covered. |
552 '-Wno-covered-switch-default', | 552 '-Wno-covered-switch-default', |
553 # Allow C++11 extensions (for "override") | 553 # Allow C++11 extensions (for "override") |
554 '-Wno-c++11-extensions', | 554 '-Wno-c++11-extensions', |
555 # TODO(thakis): Reenable once the one instance this warns on | 555 # TODO(thakis): Reenable once the one instance this warns on |
556 # is fixed. | 556 # is fixed. |
557 '-Wno-parentheses', | 557 '-Wno-parentheses', |
558 ], | 558 ], |
559 }], | 559 }], |
560 ['nacl_standalone==1', { | 560 ['nacl_standalone==1', { |
561 # If part of the Chromium build, use the Chromium default. | 561 # If part of the Chromium build, use the Chromium default. |
562 # Otherwise, when building standalone, use this. | 562 # Otherwise, when building standalone, use this. |
563 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', # -mmacosx
-version-min | 563 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', # -mmacosx
-version-min |
564 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot | 564 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot |
565 }], | 565 }], |
566 ], | 566 ], |
567 }, | 567 }, |
568 'conditions': [ | 568 'conditions': [ |
569 ['clang==1', { | 569 ['nacl_clang==1', { |
570 'variables': { | 570 'variables': { |
571 'clang_dir': | 571 'nacl_clang_dir': |
572 '<(DEPTH)/third_party/llvm-build/Release+Asserts/bin', | 572 '<(DEPTH)/third_party/llvm-build/Release+Asserts/bin', |
573 }, | 573 }, |
574 }], | 574 }], |
575 ['nacl_standalone==1 and nacl_strict_warnings==1', { | 575 ['nacl_standalone==1 and nacl_strict_warnings==1', { |
576 'xcode_settings': { | 576 'xcode_settings': { |
577 # TODO(gregoryd): remove the condition when the issues in | 577 # TODO(gregoryd): remove the condition when the issues in |
578 # Chrome code are fixed. | 578 # Chrome code are fixed. |
579 'WARNING_CFLAGS': [ | 579 'WARNING_CFLAGS': [ |
580 '-pedantic', | 580 '-pedantic', |
581 '-Wextra', | 581 '-Wextra', |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 '__STDC_FORMAT_MACROS', | 806 '__STDC_FORMAT_MACROS', |
807 ], | 807 ], |
808 'msvs_settings': { | 808 'msvs_settings': { |
809 'VCCLCompilerTool': { | 809 'VCCLCompilerTool': { |
810 'Detect64BitPortabilityProblems': 'false', | 810 'Detect64BitPortabilityProblems': 'false', |
811 # TODO(new_hire): above line should go away | 811 # TODO(new_hire): above line should go away |
812 }, | 812 }, |
813 }, | 813 }, |
814 }, | 814 }, |
815 }], | 815 }], |
816 ['clang==1 and nacl_standalone==1', { | 816 ['nacl_clang==1 and nacl_standalone==1', { |
817 'make_global_settings': [ | 817 'make_global_settings': [ |
818 ['CC', 'third_party/llvm-build/Release+Asserts/bin/clang'], | 818 ['CC', 'third_party/llvm-build/Release+Asserts/bin/clang'], |
819 ['CXX', 'third_party/llvm-build/Release+Asserts/bin/clang++'], | 819 ['CXX', 'third_party/llvm-build/Release+Asserts/bin/clang++'], |
820 ['LINK', '$(CXX)'], | 820 ['LINK', '$(CXX)'], |
821 ['CC.host', '$(CC)'], | 821 ['CC.host', '$(CC)'], |
822 ['CXX.host', '$(CXX)'], | 822 ['CXX.host', '$(CXX)'], |
823 ['LINK.host', '$(LINK)'], | 823 ['LINK.host', '$(LINK)'], |
824 ], | 824 ], |
825 }], | 825 }], |
826 ['OS=="android" and nacl_standalone==1', { | 826 ['OS=="android" and nacl_standalone==1', { |
(...skipping 13 matching lines...) Expand all Loading... |
840 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 840 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
841 # files to appear (when present) in the UI as actual files and not red | 841 # files to appear (when present) in the UI as actual files and not red |
842 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 842 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
843 # and therefore SYMROOT, needs to be set at the project level. | 843 # and therefore SYMROOT, needs to be set at the project level. |
844 'SYMROOT': '<(DEPTH)/xcodebuild', | 844 'SYMROOT': '<(DEPTH)/xcodebuild', |
845 }, | 845 }, |
846 'includes': [ | 846 'includes': [ |
847 'untrusted.gypi', | 847 'untrusted.gypi', |
848 ], | 848 ], |
849 } | 849 } |
OLD | NEW |