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

Side by Side Diff: build/common.gypi

Issue 951983002: Reland "Enable libc++ on Android" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final rebase Created 5 years, 10 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 | « build/android/setup.gyp ('k') | build/config/android/config.gni » ('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 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 'android_host_arch%': '<!(uname -m)', 1665 'android_host_arch%': '<!(uname -m)',
1666 # Android API-level of the SDK used for compilation. 1666 # Android API-level of the SDK used for compilation.
1667 'android_sdk_version%': '21', 1667 'android_sdk_version%': '21',
1668 'android_sdk_build_tools_version%': '21.0.1', 1668 'android_sdk_build_tools_version%': '21.0.1',
1669 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", 1669 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')",
1670 }, 1670 },
1671 # Copy conditionally-set variables out one scope. 1671 # Copy conditionally-set variables out one scope.
1672 'android_ndk_root%': '<(android_ndk_root)', 1672 'android_ndk_root%': '<(android_ndk_root)',
1673 'android_sdk_root%': '<(android_sdk_root)', 1673 'android_sdk_root%': '<(android_sdk_root)',
1674 'android_sdk_version%': '<(android_sdk_version)', 1674 'android_sdk_version%': '<(android_sdk_version)',
1675 'android_stlport_root': '<(android_ndk_root)/sources/cxx-stl/stlport', 1675 'android_libcpp_root': '<(android_ndk_root)/sources/cxx-stl/llvm-libc+ +',
1676 'host_os%': '<(host_os)', 1676 'host_os%': '<(host_os)',
1677 1677
1678 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v ersion)', 1678 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v ersion)',
1679 # Android SDK build tools (e.g. dx, aapt, aidl) 1679 # Android SDK build tools (e.g. dx, aapt, aidl)
1680 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b uild_tools_version)', 1680 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b uild_tools_version)',
1681 1681
1682 # Android API level 14 is ICS (Android 4.0) which is the minimum 1682 # Android API level 14 is ICS (Android 4.0) which is the minimum
1683 # platform requirement for Chrome on Android, we use it for native 1683 # platform requirement for Chrome on Android, we use it for native
1684 # code compilation. 1684 # code compilation.
1685 'conditions': [ 1685 'conditions': [
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 'android_sdk_root%': '<(android_sdk_root)', 1742 'android_sdk_root%': '<(android_sdk_root)',
1743 'android_sdk_version%': '<(android_sdk_version)', 1743 'android_sdk_version%': '<(android_sdk_version)',
1744 'android_toolchain%': '<(android_toolchain)', 1744 'android_toolchain%': '<(android_toolchain)',
1745 1745
1746 'android_ndk_include': '<(android_ndk_sysroot)/usr/include', 1746 'android_ndk_include': '<(android_ndk_sysroot)/usr/include',
1747 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)', 1747 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)',
1748 'android_sdk_tools%': '<(android_sdk_tools)', 1748 'android_sdk_tools%': '<(android_sdk_tools)',
1749 'android_sdk%': '<(android_sdk)', 1749 'android_sdk%': '<(android_sdk)',
1750 'android_sdk_jar%': '<(android_sdk)/android.jar', 1750 'android_sdk_jar%': '<(android_sdk)/android.jar',
1751 1751
1752 'android_stlport_root': '<(android_stlport_root)', 1752 'android_libcpp_root': '<(android_libcpp_root)',
1753 'android_stlport_include': '<(android_stlport_root)/stlport', 1753 'android_libcpp_include': '<(android_libcpp_root)/libcxx/include',
1754 'android_stlport_libs_dir': '<(android_stlport_root)/libs/<(android_app_ abi)', 1754 'android_libcpp_libs_dir': '<(android_libcpp_root)/libs/<(android_app_ab i)',
1755
1755 'host_os%': '<(host_os)', 1756 'host_os%': '<(host_os)',
1756 1757
1757 # Location of the "objcopy" binary, used by both gyp and scripts. 1758 # Location of the "objcopy" binary, used by both gyp and scripts.
1758 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)', 1759 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)',
1759 1760
1760 # Location of the "strip" binary, used by both gyp and scripts. 1761 # Location of the "strip" binary, used by both gyp and scripts.
1761 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', 1762 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)',
1762 1763
1763 # Location of the "readelf" binary. 1764 # Location of the "readelf" binary.
1764 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', 1765 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)',
(...skipping 2728 matching lines...) Expand 10 before | Expand all | Expand 10 after
4493 ['OS=="android"', { 4494 ['OS=="android"', {
4494 'variables': { 4495 'variables': {
4495 # This is a unique identifier for a given build. It's used for 4496 # This is a unique identifier for a given build. It's used for
4496 # identifying various build artifacts corresponding to a particular 4497 # identifying various build artifacts corresponding to a particular
4497 # build of chrome (e.g. where to find archived symbols). 4498 # build of chrome (e.g. where to find archived symbols).
4498 'chrome_build_id%': '', 4499 'chrome_build_id%': '',
4499 'conditions': [ 4500 'conditions': [
4500 # Figure this out early since it needs symbols from libgcc.a, so it 4501 # Figure this out early since it needs symbols from libgcc.a, so it
4501 # has to be before that in the set of libraries. 4502 # has to be before that in the set of libraries.
4502 ['component=="shared_library"', { 4503 ['component=="shared_library"', {
4503 'android_stlport_library': 'stlport_shared', 4504 'android_libcpp_library': 'c++_shared',
4504 }, { 4505 }, {
4505 'android_stlport_library': 'stlport_static', 4506 'android_libcpp_library': 'c++_static',
4506 }], 4507 }],
4507 ], 4508 ],
4508 4509
4509 # Placing this variable here prevents from forking libvpx, used 4510 # Placing this variable here prevents from forking libvpx, used
4510 # by remoting. Remoting is off, so it needn't built, 4511 # by remoting. Remoting is off, so it needn't built,
4511 # so forking it's deps seems like overkill. 4512 # so forking it's deps seems like overkill.
4512 # But this variable need defined to properly run gyp. 4513 # But this variable need defined to properly run gyp.
4513 # A proper solution is to have an OS==android conditional 4514 # A proper solution is to have an OS==android conditional
4514 # in third_party/libvpx/libvpx.gyp to define it. 4515 # in third_party/libvpx/libvpx.gyp to define it.
4515 'libvpx_path': 'lib/linux/arm', 4516 'libvpx_path': 'lib/linux/arm',
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
4579 '-g', 4580 '-g',
4580 '-fstack-protector', 4581 '-fstack-protector',
4581 '-fno-short-enums', 4582 '-fno-short-enums',
4582 '-finline-limit=64', 4583 '-finline-limit=64',
4583 '-Wa,--noexecstack', 4584 '-Wa,--noexecstack',
4584 '<@(release_extra_cflags)', 4585 '<@(release_extra_cflags)',
4585 ], 4586 ],
4586 'defines': [ 4587 'defines': [
4587 'ANDROID', 4588 'ANDROID',
4588 '__GNU_SOURCE=1', # Necessary for clone() 4589 '__GNU_SOURCE=1', # Necessary for clone()
4589 'USE_STLPORT=1',
4590 '_STLP_USE_PTR_SPECIALIZATIONS=1',
4591 'CHROME_BUILD_ID="<(chrome_build_id)"', 4590 'CHROME_BUILD_ID="<(chrome_build_id)"',
4592 ], 4591 ],
4593 'ldflags!': [ 4592 'ldflags!': [
4594 '-pthread', # Not supported by Android toolchain. 4593 '-pthread', # Not supported by Android toolchain.
4595 ], 4594 ],
4596 'ldflags': [ 4595 'ldflags': [
4597 '-Wl,--no-undefined', 4596 '-Wl,--no-undefined',
4598 ], 4597 ],
4599 'conditions': [ 4598 'conditions': [
4600 ['component=="static_library" and android_webview_build==0', { 4599 ['component=="static_library" and android_webview_build==0', {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
4658 # The NDK has these things, but doesn't define the constants 4657 # The NDK has these things, but doesn't define the constants
4659 # to say that it does. Define them here instead. 4658 # to say that it does. Define them here instead.
4660 'HAVE_SYS_UIO_H', 4659 'HAVE_SYS_UIO_H',
4661 ], 4660 ],
4662 'cflags': [ 4661 'cflags': [
4663 '--sysroot=<(android_ndk_sysroot)', 4662 '--sysroot=<(android_ndk_sysroot)',
4664 ], 4663 ],
4665 'ldflags': [ 4664 'ldflags': [
4666 '--sysroot=<(android_ndk_sysroot)', 4665 '--sysroot=<(android_ndk_sysroot)',
4667 '-nostdlib', 4666 '-nostdlib',
4668 # Don't allow visible symbols from libgcc or stlport to be 4667 # Don't allow visible symbols from libgcc or libc++ to be
4669 # re-exported. 4668 # re-exported.
4670 '-Wl,--exclude-libs=libgcc.a', 4669 '-Wl,--exclude-libs=libgcc.a',
4671 '-Wl,--exclude-libs=libstlport_static.a', 4670 '-Wl,--exclude-libs=libc++_static.a',
4672 # Don't allow visible symbols from libraries that contain 4671 # Don't allow visible symbols from libraries that contain
4673 # assembly code with symbols that aren't hidden properly. 4672 # assembly code with symbols that aren't hidden properly.
4674 # http://crbug.com/448386 4673 # http://crbug.com/448386
4675 '-Wl,--exclude-libs=libcommon_audio.a', 4674 '-Wl,--exclude-libs=libcommon_audio.a',
4676 '-Wl,--exclude-libs=libcommon_audio_neon.a', 4675 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4677 '-Wl,--exclude-libs=libcommon_audio_sse2.a', 4676 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4678 '-Wl,--exclude-libs=libiSACFix.a', 4677 '-Wl,--exclude-libs=libiSACFix.a',
4679 '-Wl,--exclude-libs=libisac_neon.a', 4678 '-Wl,--exclude-libs=libisac_neon.a',
4680 '-Wl,--exclude-libs=libopus.a', 4679 '-Wl,--exclude-libs=libopus.a',
4681 '-Wl,--exclude-libs=libvpx.a', 4680 '-Wl,--exclude-libs=libvpx.a',
4682 ], 4681 ],
4683 'libraries': [ 4682 'libraries': [
4684 '-l<(android_stlport_library)', 4683 '-l<(android_libcpp_library)',
4684 '-latomic',
4685 # Manually link the libgcc.a that the cross compiler uses. 4685 # Manually link the libgcc.a that the cross compiler uses.
4686 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', 4686 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4687 '-lm',
4687 '-lc', 4688 '-lc',
4688 '-ldl', 4689 '-ldl',
4689 '-lm',
4690 ], 4690 ],
4691 }], 4691 }],
4692 ['android_webview_build==1', { 4692 ['android_webview_build==1', {
4693 'cflags': [ 4693 'cflags': [
4694 # Android predefines this as 1; undefine it here so Chromium 4694 # Android predefines this as 1; undefine it here so Chromium
4695 # can redefine it later to be 2 for chromium code and unset 4695 # can redefine it later to be 2 for chromium code and unset
4696 # for third party code. This works because cflags are added 4696 # for third party code. This works because cflags are added
4697 # before defines. 4697 # before defines.
4698 '-U_FORTIFY_SOURCE', 4698 '-U_FORTIFY_SOURCE',
4699 # Disable any additional warnings enabled by the Android build system but which 4699 # Disable any additional warnings enabled by the Android build system but which
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4731 ], 4731 ],
4732 }], 4732 }],
4733 ], 4733 ],
4734 }], 4734 }],
4735 ['target_arch == "arm" and order_profiling==0', { 4735 ['target_arch == "arm" and order_profiling==0', {
4736 'ldflags': [ 4736 'ldflags': [
4737 # Enable identical code folding to reduce size. 4737 # Enable identical code folding to reduce size.
4738 '-Wl,--icf=<(gold_icf_level)', 4738 '-Wl,--icf=<(gold_icf_level)',
4739 ], 4739 ],
4740 }], 4740 }],
4741 # NOTE: The stlport header include paths below are specified in
4742 # cflags rather than include_dirs because they need to come
4743 # after include_dirs. Think of them like system headers, but
4744 # don't use '-isystem' because the arm-linux-androideabi-4.4.3
4745 # toolchain (circa Gingerbread) will exhibit strange errors.
4746 # The include ordering here is important; change with caution.
4747 ['android_webview_build==0', { 4741 ['android_webview_build==0', {
4748 'cflags': [ 4742 'cflags': [
4749 '-isystem<(android_stlport_include)', 4743 '-isystem<(android_libcpp_include)',
4744 '-isystem<(android_ndk_root)/sources/cxx-stl/llvm-libc++abi/li bcxxabi/include',
4745 '-isystem<(android_ndk_root)/sources/android/support/include',
4750 ], 4746 ],
4751 'ldflags': [ 4747 'ldflags': [
4752 '-L<(android_stlport_libs_dir)', 4748 '-L<(android_libcpp_libs_dir)',
4753 ], 4749 ],
4754 }, { # else: android_webview_build!=0 4750 }, { # else: android_webview_build!=0
danakj 2015/04/24 21:25:29 This appears to be gone from common.gypi. A few ot
4751 'defines': [
4752 'USE_STLPORT=1',
4753 '_STLP_USE_PTR_SPECIALIZATIONS=1',
4754 ],
4755 'aosp_build_settings': { 4755 'aosp_build_settings': {
4756 # Specify that we want to statically link stlport from the 4756 # Specify that we want to statically link stlport from the
4757 # NDK. This will provide all the include and library paths 4757 # NDK. This will provide all the include and library paths
4758 # automatically at build time, and link the right library. 4758 # automatically at build time, and link the right library.
4759 'LOCAL_NDK_STL_VARIANT': 'stlport_static', 4759 'LOCAL_NDK_STL_VARIANT': 'stlport_static',
4760 }, 4760 },
4761 }], 4761 }],
4762 ['target_arch=="ia32"', { 4762 ['target_arch=="ia32"', {
4763 # The x86 toolchain currently has problems with stack-protector. 4763 # The x86 toolchain currently has problems with stack-protector.
4764 'cflags!': [ 4764 'cflags!': [
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after
5928 # settings in target dicts. SYMROOT is a special case, because many other 5928 # settings in target dicts. SYMROOT is a special case, because many other
5929 # Xcode variables depend on it, including variables such as 5929 # Xcode variables depend on it, including variables such as
5930 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5930 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5931 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5931 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5932 # files to appear (when present) in the UI as actual files and not red 5932 # files to appear (when present) in the UI as actual files and not red
5933 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5933 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5934 # and therefore SYMROOT, needs to be set at the project level. 5934 # and therefore SYMROOT, needs to be set at the project level.
5935 'SYMROOT': '<(DEPTH)/xcodebuild', 5935 'SYMROOT': '<(DEPTH)/xcodebuild',
5936 }, 5936 },
5937 } 5937 }
OLDNEW
« no previous file with comments | « build/android/setup.gyp ('k') | build/config/android/config.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698