| 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 # IMPORTANT: | 5 # IMPORTANT: |
| 6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
| 7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
| 8 { | 8 { |
| 9 # Variables expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
| 10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
| (...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 618 'video_hole%': 0, | 618 'video_hole%': 0, |
| 619 | 619 |
| 620 # Automatically select platforms under ozone. Turn this off to | 620 # Automatically select platforms under ozone. Turn this off to |
| 621 # build only explicitly selected platforms. | 621 # build only explicitly selected platforms. |
| 622 'ozone_auto_platforms%': 1, | 622 'ozone_auto_platforms%': 1, |
| 623 | 623 |
| 624 # If this is set clang is used as host compiler, but not as target | 624 # If this is set clang is used as host compiler, but not as target |
| 625 # compiler. Always do this by default. | 625 # compiler. Always do this by default. |
| 626 'host_clang%': 1, | 626 'host_clang%': 1, |
| 627 | 627 |
| 628 # Variables to control Link-Time Optimizations (LTO). | 628 # Variables to control Link-Time Optimization (LTO). |
| 629 # Note: the variables must *not* be enabled at the same time. | 629 # On Android, the variable use_lto enables LTO on code compiled with -Os, |
| 630 # In this case LTO would 'merge' the optimization flags | 630 # and use_lto_o2 enables LTO on code compiled with -O2. On other |
| 631 # at link-time which would lead to all code be optimized with -O2. | 631 # platforms, use_lto enables LTO in all translation units, and use_lto_o2 |
| 632 # Enable LTO on the code compiled with -Os. | 632 # has no effect. |
| 633 # See crbug.com/407544 | 633 # |
| 634 # On Linux and Android, when using LLVM LTO, the script |
| 635 # build/download_gold_plugin.py must be run to download a linker plugin. |
| 636 # On Mac, LLVM needs to be built from scratch using |
| 637 # tools/clang/scripts/update.py and the absolute path to |
| 638 # third_party/llvm-build/Release+Asserts/lib must be added to |
| 639 # $DYLD_LIBRARY_PATH to pick up the right version of the linker plugin. |
| 640 # |
| 641 # On Android, the variables must *not* be enabled at the same time. |
| 642 # In this case LTO would 'merge' the optimization flags at link-time |
| 643 # which would lead to all code be optimized with -O2. See crbug.com/407544 |
| 634 'use_lto%': 0, | 644 'use_lto%': 0, |
| 635 # Enable LTO on code compiled with -O2. | |
| 636 'use_lto_o2%': 0, | 645 'use_lto_o2%': 0, |
| 637 | 646 |
| 638 # Allowed level of identical code folding in the gold linker. | 647 # Allowed level of identical code folding in the gold linker. |
| 639 'gold_icf_level%': 'safe', | 648 'gold_icf_level%': 'safe', |
| 640 | 649 |
| 641 # Libxkbcommon usage. | 650 # Libxkbcommon usage. |
| 642 'use_xkbcommon%': 0, | 651 'use_xkbcommon%': 0, |
| 643 | 652 |
| 644 # Control Flow Integrity for virtual calls. | 653 # Control Flow Integrity for virtual calls. |
| 645 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html | 654 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html |
| (...skipping 5157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5803 ['CXX.host_wrapper', '<(gomadir)/gomacc'], | 5812 ['CXX.host_wrapper', '<(gomadir)/gomacc'], |
| 5804 ], | 5813 ], |
| 5805 }], | 5814 }], |
| 5806 ['use_lto==1', { | 5815 ['use_lto==1', { |
| 5807 'target_defaults': { | 5816 'target_defaults': { |
| 5808 'target_conditions': [ | 5817 'target_conditions': [ |
| 5809 ['_toolset=="target"', { | 5818 ['_toolset=="target"', { |
| 5810 'cflags': [ | 5819 'cflags': [ |
| 5811 '-flto', | 5820 '-flto', |
| 5812 ], | 5821 ], |
| 5822 'xcode_settings': { |
| 5823 'LLVM_LTO': 'YES', |
| 5824 }, |
| 5825 }], |
| 5826 # Work-around for http://openradar.appspot.com/20356002 |
| 5827 ['_toolset=="target" and _type!="static_library"', { |
| 5828 'xcode_settings': { |
| 5829 'OTHER_LDFLAGS': [ |
| 5830 '-Wl,-all_load', |
| 5831 ], |
| 5832 }, |
| 5813 }], | 5833 }], |
| 5814 ], | 5834 ], |
| 5815 }, | 5835 }, |
| 5816 }], | 5836 }], |
| 5817 ['use_lto==1 and clang==0', { | 5837 ['use_lto==1 and clang==0', { |
| 5818 'target_defaults': { | 5838 'target_defaults': { |
| 5819 'target_conditions': [ | 5839 'target_conditions': [ |
| 5820 ['_toolset=="target"', { | 5840 ['_toolset=="target"', { |
| 5821 'cflags': [ | 5841 'cflags': [ |
| 5822 '-ffat-lto-objects', | 5842 '-ffat-lto-objects', |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6069 # settings in target dicts. SYMROOT is a special case, because many other | 6089 # settings in target dicts. SYMROOT is a special case, because many other |
| 6070 # Xcode variables depend on it, including variables such as | 6090 # Xcode variables depend on it, including variables such as |
| 6071 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 6091 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 6072 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 6092 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 6073 # files to appear (when present) in the UI as actual files and not red | 6093 # files to appear (when present) in the UI as actual files and not red |
| 6074 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 6094 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 6075 # and therefore SYMROOT, needs to be set at the project level. | 6095 # and therefore SYMROOT, needs to be set at the project level. |
| 6076 'SYMROOT': '<(DEPTH)/xcodebuild', | 6096 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 6077 }, | 6097 }, |
| 6078 } | 6098 } |
| OLD | NEW |