Chromium Code Reviews| 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 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 639 'use_lto%': 0, | 639 'use_lto%': 0, |
| 640 # Enable LTO on code compiled with -O2. | 640 # Enable LTO on code compiled with -O2. |
| 641 'use_lto_o2%': 0, | 641 'use_lto_o2%': 0, |
| 642 | 642 |
| 643 # Allowed level of identical code folding in the gold linker. | 643 # Allowed level of identical code folding in the gold linker. |
| 644 'gold_icf_level%': 'safe', | 644 'gold_icf_level%': 'safe', |
| 645 | 645 |
| 646 # Libxkbcommon usage. | 646 # Libxkbcommon usage. |
| 647 'use_xkbcommon%': 0, | 647 'use_xkbcommon%': 0, |
| 648 | 648 |
| 649 # Control Flow Integrity for virtual calls. | |
| 650 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html | |
| 651 'cfi_vptr%': 0, | |
| 652 | |
| 649 'conditions': [ | 653 'conditions': [ |
| 650 # A flag for POSIX platforms | 654 # A flag for POSIX platforms |
| 651 ['OS=="win"', { | 655 ['OS=="win"', { |
| 652 'os_posix%': 0, | 656 'os_posix%': 0, |
| 653 }, { | 657 }, { |
| 654 'os_posix%': 1, | 658 'os_posix%': 1, |
| 655 }], | 659 }], |
| 656 | 660 |
| 657 # A flag for BSD platforms | 661 # A flag for BSD platforms |
| 658 ['OS=="freebsd" or OS=="openbsd"', { | 662 ['OS=="freebsd" or OS=="openbsd"', { |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1213 'v8_optimized_debug%': '<(v8_optimized_debug)', | 1217 'v8_optimized_debug%': '<(v8_optimized_debug)', |
| 1214 'proprietary_codecs%': '<(proprietary_codecs)', | 1218 'proprietary_codecs%': '<(proprietary_codecs)', |
| 1215 'use_goma%': '<(use_goma)', | 1219 'use_goma%': '<(use_goma)', |
| 1216 'gomadir%': '<(gomadir)', | 1220 'gomadir%': '<(gomadir)', |
| 1217 'use_lto%': '<(use_lto)', | 1221 'use_lto%': '<(use_lto)', |
| 1218 'use_lto_o2%': '<(use_lto_o2)', | 1222 'use_lto_o2%': '<(use_lto_o2)', |
| 1219 'gold_icf_level%': '<(gold_icf_level)', | 1223 'gold_icf_level%': '<(gold_icf_level)', |
| 1220 'video_hole%': '<(video_hole)', | 1224 'video_hole%': '<(video_hole)', |
| 1221 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', | 1225 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', |
| 1222 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', | 1226 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', |
| 1227 'cfi_vptr%': '<(cfi_vptr)', | |
| 1223 | 1228 |
| 1224 # Use system protobuf instead of bundled one. | 1229 # Use system protobuf instead of bundled one. |
| 1225 'use_system_protobuf%': 0, | 1230 'use_system_protobuf%': 0, |
| 1226 | 1231 |
| 1227 # Use system yasm instead of bundled one. | 1232 # Use system yasm instead of bundled one. |
| 1228 'use_system_yasm%': 0, | 1233 'use_system_yasm%': 0, |
| 1229 | 1234 |
| 1230 # Use system ICU instead of bundled one. | 1235 # Use system ICU instead of bundled one. |
| 1231 'use_system_icu%' : 0, | 1236 'use_system_icu%' : 0, |
| 1232 | 1237 |
| (...skipping 1755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2988 }], | 2993 }], |
| 2989 ['enable_ipc_fuzzer==1', { | 2994 ['enable_ipc_fuzzer==1', { |
| 2990 'defines': ['ENABLE_IPC_FUZZER=1'], | 2995 'defines': ['ENABLE_IPC_FUZZER=1'], |
| 2991 }], | 2996 }], |
| 2992 ['video_hole==1', { | 2997 ['video_hole==1', { |
| 2993 'defines': ['VIDEO_HOLE=1'], | 2998 'defines': ['VIDEO_HOLE=1'], |
| 2994 }], | 2999 }], |
| 2995 ['v8_use_external_startup_data==1', { | 3000 ['v8_use_external_startup_data==1', { |
| 2996 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA'], | 3001 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA'], |
| 2997 }], | 3002 }], |
| 2998 ['use_lto==1 and (target_arch=="ia32" or target_arch=="x64")', { | 3003 ['(use_lto==1 or cfi_vptr==1) and (target_arch=="ia32" or target_arch=="x6 4")', { |
|
Nico
2015/03/06 21:13:25
alternatively use_lto could be set to 1 automatica
| |
| 2999 # Required for third_party/zlib/crc_folding.c and various other code | 3004 # Required for third_party/zlib/crc_folding.c and various other code |
| 3000 # that uses SSE. TODO(pcc): Remove this once we properly support | 3005 # that uses SSE. TODO(pcc): Remove this once we properly support |
| 3001 # subtarget specific code generation in LLVM. | 3006 # subtarget specific code generation in LLVM. |
| 3002 'ldflags': ['-Wl,-plugin-opt,mcpu=corei7-avx'], | 3007 'ldflags': ['-Wl,-plugin-opt,mcpu=corei7-avx'], |
| 3003 }], | 3008 }], |
| 3004 ], # conditions for 'target_defaults' | 3009 ], # conditions for 'target_defaults' |
| 3005 'target_conditions': [ | 3010 'target_conditions': [ |
| 3006 ['<(use_libpci)==1', { | 3011 ['<(use_libpci)==1', { |
| 3007 'defines': ['USE_LIBPCI=1'], | 3012 'defines': ['USE_LIBPCI=1'], |
| 3008 }], | 3013 }], |
| (...skipping 2887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5896 'target_defaults': { | 5901 'target_defaults': { |
| 5897 'target_conditions': [ | 5902 'target_conditions': [ |
| 5898 ['_toolset=="target"', { | 5903 ['_toolset=="target"', { |
| 5899 'cflags': [ | 5904 'cflags': [ |
| 5900 '-ffat-lto-objects', | 5905 '-ffat-lto-objects', |
| 5901 ], | 5906 ], |
| 5902 }], | 5907 }], |
| 5903 ], | 5908 ], |
| 5904 }, | 5909 }, |
| 5905 }], | 5910 }], |
| 5906 ['use_lto==1 and clang==1', { | 5911 ['(use_lto==1 or cfi_vptr==1) and clang==1', { |
| 5907 'target_defaults': { | 5912 'target_defaults': { |
| 5908 'target_conditions': [ | 5913 'target_conditions': [ |
| 5909 ['_toolset=="target"', { | 5914 ['_toolset=="target"', { |
| 5910 'arflags': [ | 5915 'arflags': [ |
| 5911 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', | 5916 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', |
| 5912 ], | 5917 ], |
| 5913 }], | 5918 }], |
| 5914 ], | 5919 ], |
| 5915 }, | 5920 }, |
| 5916 }], | 5921 }], |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 5929 'target_defaults': { | 5934 'target_defaults': { |
| 5930 'target_conditions': [ | 5935 'target_conditions': [ |
| 5931 ['_toolset=="target"', { | 5936 ['_toolset=="target"', { |
| 5932 'ldflags': [ | 5937 'ldflags': [ |
| 5933 '-flto', | 5938 '-flto', |
| 5934 ], | 5939 ], |
| 5935 }], | 5940 }], |
| 5936 ], | 5941 ], |
| 5937 }, | 5942 }, |
| 5938 }], | 5943 }], |
| 5944 ['cfi_vptr==1', { | |
| 5945 'target_defaults': { | |
| 5946 'target_conditions': [ | |
| 5947 ['_toolset=="target"', { | |
| 5948 'cflags': [ | |
| 5949 '-fsanitize=cfi-vptr', | |
| 5950 ], | |
| 5951 'ldflags': [ | |
| 5952 '-fsanitize=cfi-vptr', | |
| 5953 ], | |
| 5954 }], | |
| 5955 ], | |
| 5956 }, | |
| 5957 }], | |
| 5939 ], | 5958 ], |
| 5940 'xcode_settings': { | 5959 'xcode_settings': { |
| 5941 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! | 5960 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! |
| 5942 # This block adds *project-wide* configuration settings to each project | 5961 # This block adds *project-wide* configuration settings to each project |
| 5943 # file. It's almost always wrong to put things here. Specify your | 5962 # file. It's almost always wrong to put things here. Specify your |
| 5944 # custom xcode_settings in target_defaults to add them to targets instead. | 5963 # custom xcode_settings in target_defaults to add them to targets instead. |
| 5945 | 5964 |
| 5946 'conditions': [ | 5965 'conditions': [ |
| 5947 # In an Xcode Project Info window, the "Base SDK for All Configurations" | 5966 # In an Xcode Project Info window, the "Base SDK for All Configurations" |
| 5948 # setting sets the SDK on a project-wide basis. In order to get the | 5967 # setting sets the SDK on a project-wide basis. In order to get the |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5999 # settings in target dicts. SYMROOT is a special case, because many other | 6018 # settings in target dicts. SYMROOT is a special case, because many other |
| 6000 # Xcode variables depend on it, including variables such as | 6019 # Xcode variables depend on it, including variables such as |
| 6001 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 6020 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 6002 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 6021 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 6003 # files to appear (when present) in the UI as actual files and not red | 6022 # files to appear (when present) in the UI as actual files and not red |
| 6004 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 6023 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 6005 # and therefore SYMROOT, needs to be set at the project level. | 6024 # and therefore SYMROOT, needs to be set at the project level. |
| 6006 'SYMROOT': '<(DEPTH)/xcodebuild', | 6025 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 6007 }, | 6026 }, |
| 6008 } | 6027 } |
| OLD | NEW |