| Index: build/common.gypi
|
| diff --git a/build/common.gypi b/build/common.gypi
|
| index 177cc99cbd7b1613336b59084eb5a73e7729f194..93dc594deb0b2b65c96ec1a559d5e75cac63ec24 100644
|
| --- a/build/common.gypi
|
| +++ b/build/common.gypi
|
| @@ -410,6 +410,10 @@
|
| # builds.
|
| 'use_custom_libcxx%': 0,
|
|
|
| + # Use system libc++ instead of the default C++ library, usually libstdc++.
|
| + # This is intended for iOS builds only.
|
| + 'use_system_libcxx%': 0,
|
| +
|
| # Use a modified version of Clang to intercept allocated types and sizes
|
| # for allocated objects. clang_type_profiler=1 implies clang=1.
|
| # See http://dev.chromium.org/developers/deep-memory-profiler/cpp-object-type-identifier
|
| @@ -1094,6 +1098,7 @@
|
| 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)',
|
| 'use_instrumented_libraries%': '<(use_instrumented_libraries)',
|
| 'use_custom_libcxx%': '<(use_custom_libcxx)',
|
| + 'use_system_libcxx%': '<(use_system_libcxx)',
|
| 'clang_type_profiler%': '<(clang_type_profiler)',
|
| 'order_profiling%': '<(order_profiling)',
|
| 'order_text_section%': '<(order_text_section)',
|
| @@ -1456,6 +1461,12 @@
|
| 'use_chromevox_next%': 0,
|
|
|
| 'conditions': [
|
| + # The version of clang shipped upstream does not find C++ headers when
|
| + # using -stdlib=libc++ so we instead need to use the version of clang
|
| + # coming with Xcode.
|
| + ['OS=="ios" and use_system_libcxx==1', {
|
| + 'clang_xcode%': 1,
|
| + }],
|
| # Enable the Syzygy optimization step for the official builds.
|
| ['OS=="win" and buildtype=="Official" and syzyasan!=1', {
|
| 'syzygy_optimize%': 1,
|
| @@ -5040,6 +5051,16 @@
|
| ['target_subarch=="both"', {
|
| 'VALID_ARCHS': ['arm64', 'armv7', 'x86_64', 'i386'],
|
| }],
|
| + ['use_system_libcxx==1', {
|
| + 'target_conditions': [
|
| + # Only use libc++ when building target for iOS not when building
|
| + # tools for the host (OS X) as Mac targets OS X SDK 10.6 which
|
| + # does not support libc++.
|
| + ['_toolset=="target"', {
|
| + 'CLANG_CXX_LIBRARY': 'libc++', # -stdlib=libc++
|
| + }]
|
| + ],
|
| + }],
|
| ],
|
| },
|
| 'target_conditions': [
|
| @@ -5274,7 +5295,7 @@
|
| # on program correctness and there's no real reason to waste time
|
| # trying to prevent it.
|
| 4503,
|
| -
|
| +
|
| # C4611: interaction between 'function' and C++ object destruction is
|
| # non-portable
|
| # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN
|
|
|