Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Side by Side Diff: build/common.gypi

Issue 1045113004: Update LTO flags for Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/chrome_dll.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_dll.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698