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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 'use_clipboard_aurax11%': 0, | 166 'use_clipboard_aurax11%': 0, |
167 | 167 |
168 # goma settings. | 168 # goma settings. |
169 # 1 to use goma. | 169 # 1 to use goma. |
170 # If no gomadir is set, it uses the default gomadir. | 170 # If no gomadir is set, it uses the default gomadir. |
171 'use_goma%': 0, | 171 'use_goma%': 0, |
172 'gomadir%': '', | 172 'gomadir%': '', |
173 | 173 |
174 # The system root for cross-compiles. Default: none. | 174 # The system root for cross-compiles. Default: none. |
175 'sysroot%': '', | 175 'sysroot%': '', |
| 176 'use_sysroot%': 0, |
176 'chroot_cmd%': '', | 177 'chroot_cmd%': '', |
177 | 178 |
178 # The system libdir used for this ABI. | 179 # The system libdir used for this ABI. |
179 'system_libdir%': 'lib', | 180 'system_libdir%': 'lib', |
180 | 181 |
181 # Default MIPS arch variant. This is set in the conditions block | 182 # Default MIPS arch variant. This is set in the conditions block |
182 # below for MIPS targets. | 183 # below for MIPS targets. |
183 'mips_arch_variant%': '', | 184 'mips_arch_variant%': '', |
184 | 185 |
185 # MIPS DSP ASE revision. Possible values are: | 186 # MIPS DSP ASE revision. Possible values are: |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 'asan_field_padding%': 0, | 410 'asan_field_padding%': 0, |
410 | 411 |
411 # Enable Chromium overrides of the default configurations for various | 412 # Enable Chromium overrides of the default configurations for various |
412 # dynamic tools (like ASan). | 413 # dynamic tools (like ASan). |
413 'use_sanitizer_options%': 0, | 414 'use_sanitizer_options%': 0, |
414 | 415 |
415 # Enable building with SyzyAsan. | 416 # Enable building with SyzyAsan. |
416 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo | 417 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo |
417 'syzyasan%': 0, | 418 'syzyasan%': 0, |
418 | 419 |
419 # Enable crash reporting via Kasko. | |
420 'kasko%': 0, | |
421 | |
422 # Enable building with LSan (Clang's -fsanitize=leak option). | 420 # Enable building with LSan (Clang's -fsanitize=leak option). |
423 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1 | 421 # -fsanitize=leak only works with clang, but lsan=1 implies clang=1 |
424 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks
anitizer | 422 # See https://sites.google.com/a/chromium.org/dev/developers/testing/leaks
anitizer |
425 'lsan%': 0, | 423 'lsan%': 0, |
426 | 424 |
427 # Enable building with TSan (Clang's -fsanitize=thread option). | 425 # Enable building with TSan (Clang's -fsanitize=thread option). |
428 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1 | 426 # -fsanitize=thread only works with clang, but tsan=1 implies clang=1 |
429 # See http://clang.llvm.org/docs/ThreadSanitizer.html | 427 # See http://clang.llvm.org/docs/ThreadSanitizer.html |
430 'tsan%': 0, | 428 'tsan%': 0, |
431 'tsan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/tsan_v2/ignores.txt'
, | 429 'tsan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/tsan_v2/ignores.txt'
, |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 }], | 932 }], |
935 | 933 |
936 ['OS=="linux" and target_arch=="arm" and chromeos==0', { | 934 ['OS=="linux" and target_arch=="arm" and chromeos==0', { |
937 # Set some defaults for arm/linux chrome builds | 935 # Set some defaults for arm/linux chrome builds |
938 'use_allocator%': 'none', | 936 'use_allocator%': 'none', |
939 # sysroot needs to be an absolute path otherwise it generates | 937 # sysroot needs to be an absolute path otherwise it generates |
940 # incorrect results when passed to pkg-config | 938 # incorrect results when passed to pkg-config |
941 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_w
heezy_arm-sysroot', | 939 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_w
heezy_arm-sysroot', |
942 }], # OS=="linux" and target_arch=="arm" and chromeos==0 | 940 }], # OS=="linux" and target_arch=="arm" and chromeos==0 |
943 | 941 |
944 ['OS=="linux" and branding=="Chrome" and buildtype=="Official" and chrom
eos==0', { | 942 ['OS=="linux" and ((branding=="Chrome" and buildtype=="Official" and chr
omeos==0) or use_sysroot==1)' , { |
945 'conditions': [ | 943 'conditions': [ |
946 ['target_arch=="x64"', { | 944 ['target_arch=="x64"', { |
947 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debi
an_wheezy_amd64-sysroot', | 945 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debi
an_wheezy_amd64-sysroot', |
948 }], | 946 }], |
949 ['target_arch=="ia32"', { | 947 ['target_arch=="ia32"', { |
950 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debi
an_wheezy_i386-sysroot', | 948 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debi
an_wheezy_i386-sysroot', |
951 }], | 949 }], |
952 ], | 950 ], |
953 }], # OS=="linux" and branding=="Chrome" and buildtype=="Official" and c
hromeos==0 | 951 }], # OS=="linux" and branding=="Chrome" and buildtype=="Official" and c
hromeos==0 |
954 | 952 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1004 'enable_wifi_bootstrapping%' : 1, | 1002 'enable_wifi_bootstrapping%' : 1, |
1005 }], | 1003 }], |
1006 | 1004 |
1007 # Path to sas.dll, which provides the SendSAS function. | 1005 # Path to sas.dll, which provides the SendSAS function. |
1008 # http://msdn.microsoft.com/en-us/library/windows/desktop/dd979761(v=vs.
85).aspx | 1006 # http://msdn.microsoft.com/en-us/library/windows/desktop/dd979761(v=vs.
85).aspx |
1009 ['target_arch=="x64"', { | 1007 ['target_arch=="x64"', { |
1010 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/a
md64', | 1008 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/a
md64', |
1011 }, { | 1009 }, { |
1012 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x
86', | 1010 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x
86', |
1013 }], | 1011 }], |
| 1012 |
| 1013 # Enable crash reporting via Kasko. |
| 1014 ['OS=="win" and target_arch=="ia32"', { |
| 1015 # TODO(erikwright): This should be disabled after a single ship on Can
ary channel. |
| 1016 'kasko%': 1, |
| 1017 }, { |
| 1018 'kasko%': 0, |
| 1019 }], |
| 1020 |
1014 ], | 1021 ], |
1015 | 1022 |
1016 # Setting this to '0' will cause V8's startup snapshot to be | 1023 # Setting this to '0' will cause V8's startup snapshot to be |
1017 # embedded in the binary instead of being a external files. | 1024 # embedded in the binary instead of being a external files. |
1018 'v8_use_external_startup_data%': 1, | 1025 'v8_use_external_startup_data%': 1, |
1019 | 1026 |
1020 # Set this to 1 to enable use of concatenated impulse responses | 1027 # Set this to 1 to enable use of concatenated impulse responses |
1021 # for the HRTF panner in WebAudio. | 1028 # for the HRTF panner in WebAudio. |
1022 'use_concatenated_impulse_responses': 1, | 1029 'use_concatenated_impulse_responses': 1, |
1023 | 1030 |
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1681 # Android API-level of the SDK used for compilation. | 1688 # Android API-level of the SDK used for compilation. |
1682 'android_sdk_version%': '22', | 1689 'android_sdk_version%': '22', |
1683 'android_sdk_build_tools_version%': '22.0.0', | 1690 'android_sdk_build_tools_version%': '22.0.0', |
1684 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", | 1691 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", |
1685 }, | 1692 }, |
1686 # Copy conditionally-set variables out one scope. | 1693 # Copy conditionally-set variables out one scope. |
1687 'android_ndk_root%': '<(android_ndk_root)', | 1694 'android_ndk_root%': '<(android_ndk_root)', |
1688 'android_ndk_absolute_root%': '<(android_ndk_absolute_root)', | 1695 'android_ndk_absolute_root%': '<(android_ndk_absolute_root)', |
1689 'android_sdk_root%': '<(android_sdk_root)', | 1696 'android_sdk_root%': '<(android_sdk_root)', |
1690 'android_sdk_version%': '<(android_sdk_version)', | 1697 'android_sdk_version%': '<(android_sdk_version)', |
1691 'android_stlport_root': '<(android_ndk_root)/sources/cxx-stl/stlport', | 1698 'android_libcpp_root': '<(android_ndk_root)/sources/cxx-stl/llvm-libc+
+', |
1692 'host_os%': '<(host_os)', | 1699 'host_os%': '<(host_os)', |
1693 | 1700 |
1694 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v
ersion)', | 1701 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v
ersion)', |
1695 # Android SDK build tools (e.g. dx, aapt, aidl) | 1702 # Android SDK build tools (e.g. dx, aapt, aidl) |
1696 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b
uild_tools_version)', | 1703 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b
uild_tools_version)', |
1697 | 1704 |
1698 # Android API level 14 is ICS (Android 4.0) which is the minimum | 1705 # Android API level 14 is ICS (Android 4.0) which is the minimum |
1699 # platform requirement for Chrome on Android, we use it for native | 1706 # platform requirement for Chrome on Android, we use it for native |
1700 # code compilation. | 1707 # code compilation. |
1701 'conditions': [ | 1708 'conditions': [ |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1757 'android_sdk_root%': '<(android_sdk_root)', | 1764 'android_sdk_root%': '<(android_sdk_root)', |
1758 'android_sdk_version%': '<(android_sdk_version)', | 1765 'android_sdk_version%': '<(android_sdk_version)', |
1759 'android_toolchain%': '<(android_toolchain)', | 1766 'android_toolchain%': '<(android_toolchain)', |
1760 | 1767 |
1761 'android_ndk_include': '<(android_ndk_sysroot)/usr/include', | 1768 'android_ndk_include': '<(android_ndk_sysroot)/usr/include', |
1762 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)', | 1769 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)', |
1763 'android_sdk_tools%': '<(android_sdk_tools)', | 1770 'android_sdk_tools%': '<(android_sdk_tools)', |
1764 'android_sdk%': '<(android_sdk)', | 1771 'android_sdk%': '<(android_sdk)', |
1765 'android_sdk_jar%': '<(android_sdk)/android.jar', | 1772 'android_sdk_jar%': '<(android_sdk)/android.jar', |
1766 | 1773 |
1767 'android_stlport_root': '<(android_stlport_root)', | 1774 'android_libcpp_root': '<(android_libcpp_root)', |
1768 'android_stlport_include': '<(android_stlport_root)/stlport', | 1775 'android_libcpp_include': '<(android_libcpp_root)/libcxx/include', |
1769 'android_stlport_libs_dir': '<(android_stlport_root)/libs/<(android_app_
abi)', | 1776 'android_libcpp_libs_dir': '<(android_libcpp_root)/libs/<(android_app_ab
i)', |
1770 'host_os%': '<(host_os)', | 1777 'host_os%': '<(host_os)', |
1771 | 1778 |
1772 # Location of the "objcopy" binary, used by both gyp and scripts. | 1779 # Location of the "objcopy" binary, used by both gyp and scripts. |
1773 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)', | 1780 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)', |
1774 | 1781 |
1775 # Location of the "strip" binary, used by both gyp and scripts. | 1782 # Location of the "strip" binary, used by both gyp and scripts. |
1776 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', | 1783 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', |
1777 | 1784 |
1778 # Location of the "readelf" binary. | 1785 # Location of the "readelf" binary. |
1779 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', | 1786 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1922 ], | 1929 ], |
1923 }], # OS=="mac" or OS=="ios" | 1930 }], # OS=="mac" or OS=="ios" |
1924 ['OS=="win"', { | 1931 ['OS=="win"', { |
1925 'conditions': [ | 1932 'conditions': [ |
1926 # This is the architecture convention used in WinSDK paths. | 1933 # This is the architecture convention used in WinSDK paths. |
1927 ['target_arch=="ia32"', { | 1934 ['target_arch=="ia32"', { |
1928 'winsdk_arch%': 'x86', | 1935 'winsdk_arch%': 'x86', |
1929 },{ | 1936 },{ |
1930 'winsdk_arch%': '<(target_arch)', | 1937 'winsdk_arch%': '<(target_arch)', |
1931 }], | 1938 }], |
1932 ['component=="shared_library"', { | 1939 ['component=="shared_library" or MSVS_VERSION == "2015"', { |
| 1940 # TODO(scottmg): The allocator shimming doesn't work on the 2015 CRT |
| 1941 # and we are hoping to be able to remove it if an additional feature |
| 1942 # lands in the 2015 CRT API. For now, don't shim and revisit once |
| 1943 # VS2015 is RTM: http://crbug.com/481611. |
1933 'win_use_allocator_shim%': 0, | 1944 'win_use_allocator_shim%': 0, |
1934 },{ | 1945 }], |
| 1946 ['component=="static_library"', { |
1935 # Turn on multiple dll by default on Windows when in static_library. | 1947 # Turn on multiple dll by default on Windows when in static_library. |
1936 'chrome_multiple_dll%': 1, | 1948 'chrome_multiple_dll%': 1, |
1937 }], | 1949 }], |
1938 ['asan==1 or syzyasan==1', { | 1950 ['asan==1 or syzyasan==1', { |
1939 'win_use_allocator_shim%': 0, | 1951 'win_use_allocator_shim%': 0, |
1940 }], | 1952 }], |
1941 ['syzyasan==1', { | 1953 ['syzyasan==1', { |
1942 'kasko%': 1, | 1954 'kasko%': 1, |
1943 }], | 1955 }], |
1944 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { | 1956 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2161 'variables': { | 2173 'variables': { |
2162 'conditions': [ | 2174 'conditions': [ |
2163 ['OS=="mac" or OS=="ios"', { | 2175 ['OS=="mac" or OS=="ios"', { |
2164 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll
vm-build/Release+Asserts/lib/libFindBadConstructs.dylib', | 2176 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll
vm-build/Release+Asserts/lib/libFindBadConstructs.dylib', |
2165 }, { # OS != "mac" or OS != "ios" | 2177 }, { # OS != "mac" or OS != "ios" |
2166 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll
vm-build/Release+Asserts/lib/libFindBadConstructs.so', | 2178 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll
vm-build/Release+Asserts/lib/libFindBadConstructs.so', |
2167 }], | 2179 }], |
2168 ], | 2180 ], |
2169 }, | 2181 }, |
2170 'clang_dynlib_flags%': '-Xclang -load -Xclang <(clang_lib_path) ', | 2182 'clang_dynlib_flags%': '-Xclang -load -Xclang <(clang_lib_path) ', |
| 2183 'clang_plugin_args%': '', |
2171 }, { # OS == "win" | 2184 }, { # OS == "win" |
2172 # On Windows, the plugin is built directly into clang, so there's | 2185 # On Windows, the plugin is built directly into clang, so there's |
2173 # no need to load it dynamically. | 2186 # no need to load it dynamically. |
2174 'clang_dynlib_flags%': '', | 2187 'clang_dynlib_flags%': '', |
| 2188 |
| 2189 # Don't error on plugin warnings on Windows until pre-existing war
nings |
| 2190 # are cleaned up. https://crbug.com/467287 |
| 2191 'clang_plugin_args%': '-Xclang -plugin-arg-find-bad-constructs -Xc
lang warn-only', |
2175 }] | 2192 }] |
2176 ], | 2193 ], |
2177 }, | 2194 }, |
2178 # If you change these, also change build/config/clang/BUILD.gn. | 2195 # If you change these, also change build/config/clang/BUILD.gn. |
2179 'clang_chrome_plugins_flags%': | 2196 'clang_chrome_plugins_flags%': |
2180 '<(clang_dynlib_flags)' | 2197 '<(clang_dynlib_flags)' |
2181 '-Xclang -add-plugin -Xclang find-bad-constructs', | 2198 '-Xclang -add-plugin -Xclang find-bad-constructs ' |
| 2199 '<(clang_plugin_args)', |
2182 }], | 2200 }], |
2183 ['asan==1 or msan==1 or lsan==1 or tsan==1', { | 2201 ['asan==1 or msan==1 or lsan==1 or tsan==1', { |
2184 'clang%': 1, | 2202 'clang%': 1, |
2185 'use_allocator%': 'none', | 2203 'use_allocator%': 'none', |
2186 'use_sanitizer_options%': 1, | 2204 'use_sanitizer_options%': 1, |
2187 # Disable ICF in the linker to avoid debug info loss. | 2205 # Disable ICF in the linker to avoid debug info loss. |
2188 'gold_icf_level%': 'none', | 2206 'gold_icf_level%': 'none', |
2189 }], | 2207 }], |
2190 ['asan==1 and OS=="linux" and chromeos==0', { | 2208 ['asan==1 and OS=="linux" and chromeos==0', { |
2191 'use_custom_libcxx%': 1, | 2209 'use_custom_libcxx%': 1, |
(...skipping 1886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4078 ], | 4096 ], |
4079 }], | 4097 }], |
4080 ['target_arch=="arm64"', { | 4098 ['target_arch=="arm64"', { |
4081 'target_conditions': [ | 4099 'target_conditions': [ |
4082 ['_toolset=="target"', { | 4100 ['_toolset=="target"', { |
4083 'conditions': [ | 4101 'conditions': [ |
4084 ['OS=="android"', { | 4102 ['OS=="android"', { |
4085 'cflags!': [ | 4103 'cflags!': [ |
4086 '-fstack-protector', # stack protector is always enabled
on arm64. | 4104 '-fstack-protector', # stack protector is always enabled
on arm64. |
4087 ], | 4105 ], |
4088 'ldflags': [ | |
4089 '-fuse-ld=gold', | |
4090 ], | |
4091 }], | 4106 }], |
4092 ], | 4107 ], |
4093 }], | 4108 }], |
4094 ], | 4109 ], |
4095 }], | 4110 }], |
4096 ['target_arch=="mipsel"', { | 4111 ['target_arch=="mipsel"', { |
4097 'target_conditions': [ | 4112 'target_conditions': [ |
4098 ['_toolset=="target"', { | 4113 ['_toolset=="target"', { |
4099 'conditions': [ | 4114 'conditions': [ |
4100 ['mips_arch_variant=="r6"', { | 4115 ['mips_arch_variant=="r6"', { |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4623 ['OS=="android"', { | 4638 ['OS=="android"', { |
4624 'variables': { | 4639 'variables': { |
4625 # This is a unique identifier for a given build. It's used for | 4640 # This is a unique identifier for a given build. It's used for |
4626 # identifying various build artifacts corresponding to a particular | 4641 # identifying various build artifacts corresponding to a particular |
4627 # build of chrome (e.g. where to find archived symbols). | 4642 # build of chrome (e.g. where to find archived symbols). |
4628 'chrome_build_id%': '', | 4643 'chrome_build_id%': '', |
4629 'conditions': [ | 4644 'conditions': [ |
4630 # Figure this out early since it needs symbols from libgcc.a, so it | 4645 # Figure this out early since it needs symbols from libgcc.a, so it |
4631 # has to be before that in the set of libraries. | 4646 # has to be before that in the set of libraries. |
4632 ['component=="shared_library"', { | 4647 ['component=="shared_library"', { |
4633 'android_stlport_library': 'stlport_shared', | 4648 'android_libcpp_library': 'c++_shared', |
4634 }, { | 4649 }, { |
4635 'android_stlport_library': 'stlport_static', | 4650 'android_libcpp_library': 'c++_static', |
4636 }], | 4651 }], |
4637 ], | 4652 ], |
4638 | 4653 |
4639 # Placing this variable here prevents from forking libvpx, used | 4654 # Placing this variable here prevents from forking libvpx, used |
4640 # by remoting. Remoting is off, so it needn't built, | 4655 # by remoting. Remoting is off, so it needn't built, |
4641 # so forking it's deps seems like overkill. | 4656 # so forking it's deps seems like overkill. |
4642 # But this variable need defined to properly run gyp. | 4657 # But this variable need defined to properly run gyp. |
4643 # A proper solution is to have an OS==android conditional | 4658 # A proper solution is to have an OS==android conditional |
4644 # in third_party/libvpx/libvpx.gyp to define it. | 4659 # in third_party/libvpx/libvpx.gyp to define it. |
4645 'libvpx_path': 'lib/linux/arm', | 4660 'libvpx_path': 'lib/linux/arm', |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4705 ], | 4720 ], |
4706 'cflags': [ | 4721 'cflags': [ |
4707 '-ffunction-sections', | 4722 '-ffunction-sections', |
4708 '-funwind-tables', | 4723 '-funwind-tables', |
4709 '-g', | 4724 '-g', |
4710 '-fstack-protector', | 4725 '-fstack-protector', |
4711 '-fno-short-enums', | 4726 '-fno-short-enums', |
4712 '-finline-limit=64', | 4727 '-finline-limit=64', |
4713 '<@(release_extra_cflags)', | 4728 '<@(release_extra_cflags)', |
4714 '--sysroot=<(android_ndk_sysroot)', | 4729 '--sysroot=<(android_ndk_sysroot)', |
4715 # NOTE: The stlport header include paths below are specified in | 4730 # NOTE: The libc++ header include paths below are specified in |
4716 # cflags rather than include_dirs because they need to come | 4731 # cflags rather than include_dirs because they need to come |
4717 # after include_dirs. | 4732 # after include_dirs. |
4718 # The include ordering here is important; change with caution. | 4733 # The include ordering here is important; change with caution. |
4719 '-isystem<(android_stlport_include)', | 4734 '-isystem<(android_libcpp_include)', |
| 4735 '-isystem<(android_ndk_root)/sources/cxx-stl/llvm-libc++abi/libcxx
abi/include', |
| 4736 '-isystem<(android_ndk_root)/sources/android/support/include', |
4720 ], | 4737 ], |
4721 'defines': [ | 4738 'defines': [ |
4722 'ANDROID', | 4739 'ANDROID', |
4723 '__GNU_SOURCE=1', # Necessary for clone() | 4740 '__GNU_SOURCE=1', # Necessary for clone() |
4724 'USE_STLPORT=1', | |
4725 '_STLP_USE_PTR_SPECIALIZATIONS=1', | |
4726 'CHROME_BUILD_ID="<(chrome_build_id)"', | 4741 'CHROME_BUILD_ID="<(chrome_build_id)"', |
4727 # The NDK has these things, but doesn't define the constants | 4742 # The NDK has these things, but doesn't define the constants |
4728 # to say that it does. Define them here instead. | 4743 # to say that it does. Define them here instead. |
4729 'HAVE_SYS_UIO_H', | 4744 'HAVE_SYS_UIO_H', |
4730 ], | 4745 ], |
4731 'ldflags!': [ | 4746 'ldflags!': [ |
4732 '-pthread', # Not supported by Android toolchain. | 4747 '-pthread', # Not supported by Android toolchain. |
4733 ], | 4748 ], |
4734 'ldflags': [ | 4749 'ldflags': [ |
4735 '-Wl,--no-undefined', | 4750 '-Wl,--no-undefined', |
4736 '--sysroot=<(android_ndk_sysroot)', | 4751 '--sysroot=<(android_ndk_sysroot)', |
4737 '-nostdlib', | 4752 '-nostdlib', |
4738 '-L<(android_stlport_libs_dir)', | 4753 '-L<(android_libcpp_libs_dir)', |
4739 # Don't allow visible symbols from libgcc or stlport to be | 4754 # Don't allow visible symbols from libgcc or libc++ to be |
4740 # re-exported. | 4755 # re-exported. |
4741 '-Wl,--exclude-libs=libgcc.a', | 4756 '-Wl,--exclude-libs=libgcc.a', |
4742 '-Wl,--exclude-libs=libstlport_static.a', | 4757 '-Wl,--exclude-libs=libc++_static.a', |
4743 # Don't allow visible symbols from libraries that contain | 4758 # Don't allow visible symbols from libraries that contain |
4744 # assembly code with symbols that aren't hidden properly. | 4759 # assembly code with symbols that aren't hidden properly. |
4745 # http://crbug.com/448386 | 4760 # http://crbug.com/448386 |
4746 '-Wl,--exclude-libs=libcommon_audio.a', | 4761 '-Wl,--exclude-libs=libcommon_audio.a', |
4747 '-Wl,--exclude-libs=libcommon_audio_neon.a', | 4762 '-Wl,--exclude-libs=libcommon_audio_neon.a', |
4748 '-Wl,--exclude-libs=libcommon_audio_sse2.a', | 4763 '-Wl,--exclude-libs=libcommon_audio_sse2.a', |
4749 '-Wl,--exclude-libs=libiSACFix.a', | 4764 '-Wl,--exclude-libs=libiSACFix.a', |
4750 '-Wl,--exclude-libs=libisac_neon.a', | 4765 '-Wl,--exclude-libs=libisac_neon.a', |
4751 '-Wl,--exclude-libs=libopus.a', | 4766 '-Wl,--exclude-libs=libopus.a', |
4752 '-Wl,--exclude-libs=libvpx.a', | 4767 '-Wl,--exclude-libs=libvpx.a', |
4753 ], | 4768 ], |
4754 'libraries': [ | 4769 'libraries': [ |
4755 '-l<(android_stlport_library)', | 4770 '-l<(android_libcpp_library)', |
| 4771 '-latomic', |
4756 # Manually link the libgcc.a that the cross compiler uses. | 4772 # Manually link the libgcc.a that the cross compiler uses. |
4757 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', | 4773 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', |
4758 '-lc', | 4774 '-lc', |
4759 '-ldl', | 4775 '-ldl', |
4760 '-lm', | 4776 '-lm', |
4761 ], | 4777 ], |
4762 'conditions': [ | 4778 'conditions': [ |
4763 ['component=="static_library"', { | 4779 ['component=="static_library"', { |
4764 'target_conditions': [ | 4780 'target_conditions': [ |
4765 ['use_native_jni_exports==0', { | 4781 ['use_native_jni_exports==0', { |
4766 # Use a linker version script to strip JNI exports from | 4782 # Use a linker version script to strip JNI exports from |
4767 # binaries which have not specifically asked to use them. | 4783 # binaries which have not specifically asked to use them. |
4768 'ldflags': [ | 4784 'ldflags': [ |
4769 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr
oid/android_no_jni_exports.lst', | 4785 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr
oid/android_no_jni_exports.lst', |
4770 ], | 4786 ], |
4771 }], | 4787 }], |
4772 ], | 4788 ], |
4773 }], | 4789 }], |
4774 ['clang==1', { | 4790 ['clang==1', { |
| 4791 'libraries!': [ |
| 4792 # Clang with libc++ does not require an explicit atomic |
| 4793 # library reference. |
| 4794 '-latomic', |
| 4795 ], |
4775 'cflags': [ | 4796 'cflags': [ |
4776 # Work around incompatibilities between bionic and clang | 4797 # Work around incompatibilities between bionic and clang |
4777 # headers. | 4798 # headers. |
4778 '-D__compiler_offsetof=__builtin_offsetof', | 4799 '-D__compiler_offsetof=__builtin_offsetof', |
4779 '-Dnan=__builtin_nan', | 4800 '-Dnan=__builtin_nan', |
4780 ], | 4801 ], |
4781 'conditions': [ | 4802 'conditions': [ |
4782 ['target_arch=="arm"', { | 4803 ['target_arch=="arm"', { |
4783 'cflags': [ | 4804 'cflags': [ |
4784 '-target arm-linux-androideabi', | 4805 '-target arm-linux-androideabi', |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5112 'conditions': [ | 5133 'conditions': [ |
5113 ['mac_want_real_dsym=="default"', { | 5134 ['mac_want_real_dsym=="default"', { |
5114 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. | 5135 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. |
5115 }, { | 5136 }, { |
5116 'mac_real_dsym': '<(mac_want_real_dsym)' | 5137 'mac_real_dsym': '<(mac_want_real_dsym)' |
5117 }], | 5138 }], |
5118 ], | 5139 ], |
5119 }], | 5140 }], |
5120 ], | 5141 ], |
5121 }, | 5142 }, |
| 5143 'configurations': { |
| 5144 'Release_Base': { |
| 5145 'conditions': [ |
| 5146 ['branding=="Chrome" and buildtype=="Official"', { |
| 5147 'xcode_settings': { |
| 5148 'OTHER_CFLAGS': [ |
| 5149 # The Google Chrome Framework dSYM generated by dsymutil has |
| 5150 # grown larger than 4GB, which dsymutil can't handle. Reduce |
| 5151 # the amount of debug symbols. |
| 5152 '-fno-standalone-debug', # See http://crbug.com/479841 |
| 5153 ] |
| 5154 }, |
| 5155 }], |
| 5156 ], |
| 5157 }, # configuration "Release" |
| 5158 }, # configurations |
5122 'xcode_settings': { | 5159 'xcode_settings': { |
5123 'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic | 5160 'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic |
5124 # (Equivalent to -fPIC) | 5161 # (Equivalent to -fPIC) |
5125 # MACOSX_DEPLOYMENT_TARGET maps to -mmacosx-version-min | 5162 # MACOSX_DEPLOYMENT_TARGET maps to -mmacosx-version-min |
5126 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', | 5163 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', |
5127 # Keep pch files below xcodebuild/. | 5164 # Keep pch files below xcodebuild/. |
5128 'SHARED_PRECOMPS_DIR': '$(CONFIGURATION_BUILD_DIR)/SharedPrecompiledHe
aders', | 5165 'SHARED_PRECOMPS_DIR': '$(CONFIGURATION_BUILD_DIR)/SharedPrecompiledHe
aders', |
5129 'OTHER_CFLAGS': [ | 5166 'OTHER_CFLAGS': [ |
5130 # Someday this can be replaced by an 'GCC_STRICT_ALIASING': 'NO' | 5167 # Someday this can be replaced by an 'GCC_STRICT_ALIASING': 'NO' |
5131 # xcode_setting, but not until all downstream projects' mac bots are | 5168 # xcode_setting, but not until all downstream projects' mac bots are |
5132 # using xcode >= 4.6, because that's when the default value of the | 5169 # using xcode >= 4.6, because that's when the default value of the |
5133 # flag in the compiler switched. Pre-4.6, the value 'NO' for that | 5170 # flag in the compiler switched. Pre-4.6, the value 'NO' for that |
5134 # setting is a no-op as far as xcode is concerned, but the compiler | 5171 # setting is a no-op as far as xcode is concerned, but the compiler |
5135 # behaves differently based on whether -fno-strict-aliasing is | 5172 # behaves differently based on whether -fno-strict-aliasing is |
5136 # specified or not. | 5173 # specified or not. |
5137 '-fno-strict-aliasing', # See http://crbug.com/32204. | 5174 '-fno-strict-aliasing', # See http://crbug.com/32204. |
5138 ], | 5175 ], |
5139 'conditions': [ | |
5140 ['branding=="Chrome" and buildtype=="Official"', { | |
5141 'OTHER_CFLAGS': [ | |
5142 # The Google Chrome Framework dSYM generated by dsymutil has | |
5143 # grown larger than 4GB, which dsymutil can't handle. Reduce | |
5144 # the amount of debug symbols. | |
5145 '-gline-tables-only', # See http://crbug.com/479841 | |
5146 ] | |
5147 }], | |
5148 ], | |
5149 }, | 5176 }, |
5150 'target_conditions': [ | 5177 'target_conditions': [ |
5151 ['_type=="executable"', { | 5178 ['_type=="executable"', { |
5152 'postbuilds': [ | 5179 'postbuilds': [ |
5153 { | 5180 { |
5154 # Arranges for data (heap) pages to be protected against | 5181 # Arranges for data (heap) pages to be protected against |
5155 # code execution when running on Mac OS X 10.7 ("Lion"), and | 5182 # code execution when running on Mac OS X 10.7 ("Lion"), and |
5156 # ensures that the position-independent executable (PIE) bit | 5183 # ensures that the position-independent executable (PIE) bit |
5157 # is set for ASLR when running on Mac OS X 10.5 ("Leopard"). | 5184 # is set for ASLR when running on Mac OS X 10.5 ("Leopard"). |
5158 'variables': { | 5185 'variables': { |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5762 ], | 5789 ], |
5763 }], | 5790 }], |
5764 ['sanitizer_coverage!=0', { | 5791 ['sanitizer_coverage!=0', { |
5765 # TODO(asan/win): Move this down into the general | 5792 # TODO(asan/win): Move this down into the general |
5766 # win-target_defaults section once the 64-bit asan runtime | 5793 # win-target_defaults section once the 64-bit asan runtime |
5767 # exists. See crbug.com/345874. | 5794 # exists. See crbug.com/345874. |
5768 'VCCLCompilerTool': { | 5795 'VCCLCompilerTool': { |
5769 'AdditionalOptions': [ | 5796 'AdditionalOptions': [ |
5770 '-fsanitize-coverage=<(sanitizer_coverage)', | 5797 '-fsanitize-coverage=<(sanitizer_coverage)', |
5771 ], | 5798 ], |
5772 'defines': [ | |
5773 'SANITIZER_COVERAGE', | |
5774 ], | |
5775 }, | 5799 }, |
5776 }], | 5800 }], |
5777 ], | 5801 ], |
5778 }, | 5802 }, |
| 5803 'conditions': [ |
| 5804 ['sanitizer_coverage!=0', { |
| 5805 # TODO(asan/win): Move this down into the general |
| 5806 # win-target_defaults section once the 64-bit asan runtime |
| 5807 # exists. See crbug.com/345874. |
| 5808 'defines': [ |
| 5809 'SANITIZER_COVERAGE', |
| 5810 ], |
| 5811 }], |
| 5812 ], |
5779 }, | 5813 }, |
5780 'x64_Base': { | 5814 'x64_Base': { |
5781 'msvs_settings': { | 5815 'msvs_settings': { |
5782 'VCLinkerTool': { | 5816 'VCLinkerTool': { |
5783 'AdditionalOptions': [ | 5817 'AdditionalOptions': [ |
5784 # safeseh is not compatible with x64 | 5818 # safeseh is not compatible with x64 |
5785 '/dynamicbase', | 5819 '/dynamicbase', |
5786 '/ignore:4199', | 5820 '/ignore:4199', |
5787 '/ignore:4221', | 5821 '/ignore:4221', |
5788 '/nxcompat', | 5822 '/nxcompat', |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6156 # settings in target dicts. SYMROOT is a special case, because many other | 6190 # settings in target dicts. SYMROOT is a special case, because many other |
6157 # Xcode variables depend on it, including variables such as | 6191 # Xcode variables depend on it, including variables such as |
6158 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 6192 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
6159 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 6193 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
6160 # files to appear (when present) in the UI as actual files and not red | 6194 # files to appear (when present) in the UI as actual files and not red |
6161 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 6195 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
6162 # and therefore SYMROOT, needs to be set at the project level. | 6196 # and therefore SYMROOT, needs to be set at the project level. |
6163 'SYMROOT': '<(DEPTH)/xcodebuild', | 6197 'SYMROOT': '<(DEPTH)/xcodebuild', |
6164 }, | 6198 }, |
6165 } | 6199 } |
OLD | NEW |