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

Side by Side Diff: build/common.gypi

Issue 425313002: Allow selection between libstdc++ and libc++ when targeting iOS (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 403
404 # Use the dynamic libraries instrumented by one of the sanitizers 404 # Use the dynamic libraries instrumented by one of the sanitizers
405 # instead of the standard system libraries. 405 # instead of the standard system libraries.
406 'use_instrumented_libraries%': 0, 406 'use_instrumented_libraries%': 0,
407 407
408 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of 408 # Use libc++ (third_party/libc++ and third_party/libc++abi) instead of
409 # stdlibc++ as standard library. This is intended to use for instrumented 409 # stdlibc++ as standard library. This is intended to use for instrumented
410 # builds. 410 # builds.
411 'use_custom_libcxx%': 0, 411 'use_custom_libcxx%': 0,
412 412
413 # Use system libc++ instead of the default C++ library, usually libstdc++.
414 # This is intended for iOS builds only.
415 'use_system_libcxx%': 0,
416
413 # Use a modified version of Clang to intercept allocated types and sizes 417 # Use a modified version of Clang to intercept allocated types and sizes
414 # for allocated objects. clang_type_profiler=1 implies clang=1. 418 # for allocated objects. clang_type_profiler=1 implies clang=1.
415 # See http://dev.chromium.org/developers/deep-memory-profiler/cpp-object-t ype-identifier 419 # See http://dev.chromium.org/developers/deep-memory-profiler/cpp-object-t ype-identifier
416 # TODO(dmikurube): Support mac. See http://crbug.com/123758#c11 420 # TODO(dmikurube): Support mac. See http://crbug.com/123758#c11
417 'clang_type_profiler%': 0, 421 'clang_type_profiler%': 0,
418 422
419 # Set to true to instrument the code with function call logger. 423 # Set to true to instrument the code with function call logger.
420 # See src/third_party/cygprofile/cyg-profile.cc for details. 424 # See src/third_party/cygprofile/cyg-profile.cc for details.
421 'order_profiling%': 0, 425 'order_profiling%': 0,
422 426
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 'msan%': '<(msan)', 1091 'msan%': '<(msan)',
1088 'msan_blacklist%': '<(msan_blacklist)', 1092 'msan_blacklist%': '<(msan_blacklist)',
1089 'msan_track_origins%': '<(msan_track_origins)', 1093 'msan_track_origins%': '<(msan_track_origins)',
1090 'tsan%': '<(tsan)', 1094 'tsan%': '<(tsan)',
1091 'tsan_blacklist%': '<(tsan_blacklist)', 1095 'tsan_blacklist%': '<(tsan_blacklist)',
1092 'ubsan%': '<(ubsan)', 1096 'ubsan%': '<(ubsan)',
1093 'ubsan_vptr%': '<(ubsan_vptr)', 1097 'ubsan_vptr%': '<(ubsan_vptr)',
1094 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)', 1098 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)',
1095 'use_instrumented_libraries%': '<(use_instrumented_libraries)', 1099 'use_instrumented_libraries%': '<(use_instrumented_libraries)',
1096 'use_custom_libcxx%': '<(use_custom_libcxx)', 1100 'use_custom_libcxx%': '<(use_custom_libcxx)',
1101 'use_system_libcxx%': '<(use_system_libcxx)',
1097 'clang_type_profiler%': '<(clang_type_profiler)', 1102 'clang_type_profiler%': '<(clang_type_profiler)',
1098 'order_profiling%': '<(order_profiling)', 1103 'order_profiling%': '<(order_profiling)',
1099 'order_text_section%': '<(order_text_section)', 1104 'order_text_section%': '<(order_text_section)',
1100 'enable_extensions%': '<(enable_extensions)', 1105 'enable_extensions%': '<(enable_extensions)',
1101 'enable_plugin_installation%': '<(enable_plugin_installation)', 1106 'enable_plugin_installation%': '<(enable_plugin_installation)',
1102 'enable_plugins%': '<(enable_plugins)', 1107 'enable_plugins%': '<(enable_plugins)',
1103 'enable_session_service%': '<(enable_session_service)', 1108 'enable_session_service%': '<(enable_session_service)',
1104 'enable_themes%': '<(enable_themes)', 1109 'enable_themes%': '<(enable_themes)',
1105 'enable_autofill_dialog%': '<(enable_autofill_dialog)', 1110 'enable_autofill_dialog%': '<(enable_autofill_dialog)',
1106 'enable_prod_wallet_service%': '<(enable_prod_wallet_service)', 1111 'enable_prod_wallet_service%': '<(enable_prod_wallet_service)',
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1449 # Chrome OS: whether to build ChromeVox from sources in the Chromium 1454 # Chrome OS: whether to build ChromeVox from sources in the Chromium
1450 # repository rather than using precompiled JavaScript in 1455 # repository rather than using precompiled JavaScript in
1451 # chrome/third_party/chromevox. This is still experimental. 1456 # chrome/third_party/chromevox. This is still experimental.
1452 'use_migrated_chromevox%': 1, 1457 'use_migrated_chromevox%': 1,
1453 1458
1454 # Chrome OS: whether to also build the upcoming version of 1459 # Chrome OS: whether to also build the upcoming version of
1455 # ChromeVox, which can then be enabled via a command-line switch. 1460 # ChromeVox, which can then be enabled via a command-line switch.
1456 'use_chromevox_next%': 0, 1461 'use_chromevox_next%': 0,
1457 1462
1458 'conditions': [ 1463 'conditions': [
1464 # The version of clang shipped upstream does not find C++ headers when
1465 # using -stdlib=libc++ so we instead need to use the version of clang
1466 # coming with Xcode.
1467 ['OS=="ios" and use_system_libcxx==1', {
1468 'clang_xcode%': 1,
1469 }],
1459 # Enable the Syzygy optimization step for the official builds. 1470 # Enable the Syzygy optimization step for the official builds.
1460 ['OS=="win" and buildtype=="Official" and syzyasan!=1', { 1471 ['OS=="win" and buildtype=="Official" and syzyasan!=1', {
1461 'syzygy_optimize%': 1, 1472 'syzygy_optimize%': 1,
1462 }, { 1473 }, {
1463 'syzygy_optimize%': 0, 1474 'syzygy_optimize%': 0,
1464 }], 1475 }],
1465 # Get binutils version so we can enable debug fission if we can. 1476 # Get binutils version so we can enable debug fission if we can.
1466 ['os_posix==1 and OS!="mac" and OS!="ios"', { 1477 ['os_posix==1 and OS!="mac" and OS!="ios"', {
1467 'conditions': [ 1478 'conditions': [
1468 # compiler_version doesn't work with clang 1479 # compiler_version doesn't work with clang
(...skipping 3564 matching lines...) Expand 10 before | Expand all | Expand 10 after
5033 # ones (they are used when building for the simulator). 5044 # ones (they are used when building for the simulator).
5034 ['target_subarch=="arm32"', { 5045 ['target_subarch=="arm32"', {
5035 'VALID_ARCHS': ['armv7', 'i386'], 5046 'VALID_ARCHS': ['armv7', 'i386'],
5036 }], 5047 }],
5037 ['target_subarch=="arm64"', { 5048 ['target_subarch=="arm64"', {
5038 'VALID_ARCHS': ['arm64', 'x86_64'], 5049 'VALID_ARCHS': ['arm64', 'x86_64'],
5039 }], 5050 }],
5040 ['target_subarch=="both"', { 5051 ['target_subarch=="both"', {
5041 'VALID_ARCHS': ['arm64', 'armv7', 'x86_64', 'i386'], 5052 'VALID_ARCHS': ['arm64', 'armv7', 'x86_64', 'i386'],
5042 }], 5053 }],
5054 ['use_system_libcxx==1', {
5055 'target_conditions': [
5056 # Only use libc++ when building target for iOS not when building
5057 # tools for the host (OS X) as Mac targets OS X SDK 10.6 which
5058 # does not support libc++.
5059 ['_toolset=="target"', {
5060 'CLANG_CXX_LIBRARY': 'libc++', # -stdlib=libc++
5061 }]
5062 ],
5063 }],
5043 ], 5064 ],
5044 }, 5065 },
5045 'target_conditions': [ 5066 'target_conditions': [
5046 ['_toolset=="host"', { 5067 ['_toolset=="host"', {
5047 'xcode_settings': { 5068 'xcode_settings': {
5048 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot 5069 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot
5049 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', 5070 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)',
5050 'VALID_ARCHS': [ 5071 'VALID_ARCHS': [
5051 'x86_64', 5072 'x86_64',
5052 ], 5073 ],
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
5267 # usage of this is simply more hassle than the warning is worth. 5288 # usage of this is simply more hassle than the warning is worth.
5268 4355, 5289 4355,
5269 5290
5270 # C4503: 'identifier': decorated name length exceeded, name was 5291 # C4503: 'identifier': decorated name length exceeded, name was
5271 # truncated 5292 # truncated
5272 # This only means that some long error messages might have truncated 5293 # This only means that some long error messages might have truncated
5273 # identifiers in the presence of lots of templates. It has no effect 5294 # identifiers in the presence of lots of templates. It has no effect
5274 # on program correctness and there's no real reason to waste time 5295 # on program correctness and there's no real reason to waste time
5275 # trying to prevent it. 5296 # trying to prevent it.
5276 4503, 5297 4503,
5277 5298
5278 # C4611: interaction between 'function' and C++ object destruction is 5299 # C4611: interaction between 'function' and C++ object destruction is
5279 # non-portable 5300 # non-portable
5280 # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN 5301 # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN
5281 # suggests using exceptions instead of setjmp/longjmp for C++, but 5302 # suggests using exceptions instead of setjmp/longjmp for C++, but
5282 # Chromium code compiles without exception support. We therefore have 5303 # Chromium code compiles without exception support. We therefore have
5283 # to use setjmp/longjmp for e.g. JPEG decode error handling, which 5304 # to use setjmp/longjmp for e.g. JPEG decode error handling, which
5284 # means we have to turn off this warning (and be careful about how 5305 # means we have to turn off this warning (and be careful about how
5285 # object destruction happens in such cases). 5306 # object destruction happens in such cases).
5286 4611, 5307 4611,
5287 5308
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
5672 # settings in target dicts. SYMROOT is a special case, because many other 5693 # settings in target dicts. SYMROOT is a special case, because many other
5673 # Xcode variables depend on it, including variables such as 5694 # Xcode variables depend on it, including variables such as
5674 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5695 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5675 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5696 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5676 # files to appear (when present) in the UI as actual files and not red 5697 # files to appear (when present) in the UI as actual files and not red
5677 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5698 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5678 # and therefore SYMROOT, needs to be set at the project level. 5699 # and therefore SYMROOT, needs to be set at the project level.
5679 'SYMROOT': '<(DEPTH)/xcodebuild', 5700 'SYMROOT': '<(DEPTH)/xcodebuild',
5680 }, 5701 },
5681 } 5702 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698