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

Side by Side Diff: build/common.gypi

Issue 920883002: Use combined native/manual JNI registration. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
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 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1791 1791
1792 # Uses system APIs for decoding audio and video. 1792 # Uses system APIs for decoding audio and video.
1793 'use_libffmpeg%': '0', 1793 'use_libffmpeg%': '0',
1794 1794
1795 # TODO(torne): Remove this unsupported option once all the places that 1795 # TODO(torne): Remove this unsupported option once all the places that
1796 # test it have been updated. 1796 # test it have been updated.
1797 'use_system_stlport%': 0, 1797 'use_system_stlport%': 0,
1798 1798
1799 # Copy it out one scope. 1799 # Copy it out one scope.
1800 'android_webview_build%': '<(android_webview_build)', 1800 'android_webview_build%': '<(android_webview_build)',
1801
1802 # Default android linker script for shared library exports.
1803 'android_linker_script%': '<(SHARED_INTERMEDIATE_DIR)/android_exports.ls t',
1804 }], # OS=="android" 1801 }], # OS=="android"
1805 ['embedded==1', { 1802 ['embedded==1', {
1806 'use_system_fontconfig%': 0, 1803 'use_system_fontconfig%': 0,
1807 }, { 1804 }, {
1808 'use_system_fontconfig%': 1, 1805 'use_system_fontconfig%': 1,
1809 }], 1806 }],
1810 ['chromecast==1', { 1807 ['chromecast==1', {
1811 'enable_mpeg2ts_stream_parser%': 1, 1808 'enable_mpeg2ts_stream_parser%': 1,
1812 'ffmpeg_branding%': 'ChromeOS', 1809 'ffmpeg_branding%': 'ChromeOS',
1813 'ozone_platform_ozonex%': 1, 1810 'ozone_platform_ozonex%': 1,
(...skipping 652 matching lines...) Expand 10 before | Expand all | Expand 10 after
2466 # pnacl uses the clang compiler so we need to suppress all the 2463 # pnacl uses the clang compiler so we need to suppress all the
2467 # same warnings as we do for clang. 2464 # same warnings as we do for clang.
2468 # TODO(sbc): Remove these if/when they are removed from the clang 2465 # TODO(sbc): Remove these if/when they are removed from the clang
2469 # build. 2466 # build.
2470 '-Wno-unused-function', 2467 '-Wno-unused-function',
2471 '-Wno-char-subscripts', 2468 '-Wno-char-subscripts',
2472 '-Wno-c++11-extensions', 2469 '-Wno-c++11-extensions',
2473 '-Wno-unnamed-type-template-args', 2470 '-Wno-unnamed-type-template-args',
2474 ], 2471 ],
2475 2472
2473 # By default, Android targets have their exported JNI symbols stripped,
2474 # so we test the manual JNI registration code paths that are required
2475 # when using the crazy linker. To allow use of native JNI exports (lazily
2476 # resolved by the JVM), targets can enable this variable, which will stop
2477 # the stripping from happening. Only targets which do not need to be
2478 # compatible with the crazy linker are permitted to set this.
2479 'use_native_jni_exports%': 0,
2480
2476 'conditions': [ 2481 'conditions': [
2477 ['OS=="win" and component=="shared_library"', { 2482 ['OS=="win" and component=="shared_library"', {
2478 # See http://msdn.microsoft.com/en-us/library/aa652367.aspx 2483 # See http://msdn.microsoft.com/en-us/library/aa652367.aspx
2479 'win_release_RuntimeLibrary%': '2', # 2 = /MD (nondebug DLL) 2484 'win_release_RuntimeLibrary%': '2', # 2 = /MD (nondebug DLL)
2480 'win_debug_RuntimeLibrary%': '3', # 3 = /MDd (debug DLL) 2485 'win_debug_RuntimeLibrary%': '3', # 3 = /MDd (debug DLL)
2481 }, { 2486 }, {
2482 # See http://msdn.microsoft.com/en-us/library/aa652367.aspx 2487 # See http://msdn.microsoft.com/en-us/library/aa652367.aspx
2483 'win_release_RuntimeLibrary%': '0', # 0 = /MT (nondebug static) 2488 'win_release_RuntimeLibrary%': '0', # 0 = /MT (nondebug static)
2484 'win_debug_RuntimeLibrary%': '1', # 1 = /MTd (debug static) 2489 'win_debug_RuntimeLibrary%': '1', # 1 = /MTd (debug static)
2485 }], 2490 }],
(...skipping 2080 matching lines...) Expand 10 before | Expand all | Expand 10 after
4566 '_STLP_USE_PTR_SPECIALIZATIONS=1', 4571 '_STLP_USE_PTR_SPECIALIZATIONS=1',
4567 'CHROME_BUILD_ID="<(chrome_build_id)"', 4572 'CHROME_BUILD_ID="<(chrome_build_id)"',
4568 ], 4573 ],
4569 'ldflags!': [ 4574 'ldflags!': [
4570 '-pthread', # Not supported by Android toolchain. 4575 '-pthread', # Not supported by Android toolchain.
4571 ], 4576 ],
4572 'ldflags': [ 4577 'ldflags': [
4573 '-Wl,--no-undefined', 4578 '-Wl,--no-undefined',
4574 ], 4579 ],
4575 'conditions': [ 4580 'conditions': [
4576 ['component=="static_library"', { 4581 ['component=="static_library" and android_webview_build==0', {
4577 'ldflags': [ 4582 'ldflags': [
4578 '-Wl,--exclude-libs=ALL', 4583 '-Wl,--exclude-libs=ALL',
4579 ], 4584 ],
4585 'target_conditions': [
4586 ['use_native_jni_exports==0', {
4587 # Use a linker version script to strip JNI exports from
4588 # binaries which have not specifically asked to use them.
4589 'ldflags': [
4590 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr oid/android_no_jni_exports.lst',
4591 ],
4592 }],
4593 ],
4580 }], 4594 }],
4581 ['clang==1', { 4595 ['clang==1', {
4582 'cflags': [ 4596 'cflags': [
4583 # Work around incompatibilities between bionic and clang 4597 # Work around incompatibilities between bionic and clang
4584 # headers. 4598 # headers.
4585 '-D__compiler_offsetof=__builtin_offsetof', 4599 '-D__compiler_offsetof=__builtin_offsetof',
4586 '-Dnan=__builtin_nan', 4600 '-Dnan=__builtin_nan',
4587 ], 4601 ],
4588 'conditions': [ 4602 'conditions': [
4589 ['target_arch=="arm"', { 4603 ['target_arch=="arm"', {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
4628 # The NDK has these things, but doesn't define the constants 4642 # The NDK has these things, but doesn't define the constants
4629 # to say that it does. Define them here instead. 4643 # to say that it does. Define them here instead.
4630 'HAVE_SYS_UIO_H', 4644 'HAVE_SYS_UIO_H',
4631 ], 4645 ],
4632 'cflags': [ 4646 'cflags': [
4633 '--sysroot=<(android_ndk_sysroot)', 4647 '--sysroot=<(android_ndk_sysroot)',
4634 ], 4648 ],
4635 'ldflags': [ 4649 'ldflags': [
4636 '--sysroot=<(android_ndk_sysroot)', 4650 '--sysroot=<(android_ndk_sysroot)',
4637 '-nostdlib', 4651 '-nostdlib',
4652 # Don't allow visible symbols from libgcc or stlport to be
4653 # re-exported.
4654 '-Wl,--exclude-libs=libgcc.a',
4655 '-Wl,--exclude-libs=libstlport_static.a',
4656 # Don't allow visible symbols from libraries that contain
4657 # assembly code with symbols that aren't hidden properly.
4658 # http://crbug.com/448386
4659 '-Wl,--exclude-libs=libcommon_audio.a',
4660 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4661 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4662 '-Wl,--exclude-libs=libiSACFix.a',
4663 '-Wl,--exclude-libs=libisac_neon.a',
4664 '-Wl,--exclude-libs=libopenmax_dl.a',
4665 '-Wl,--exclude-libs=libopenmax_dl_armv7.a',
4666 '-Wl,--exclude-libs=libopus.a',
4667 '-Wl,--exclude-libs=libvpx.a',
4638 ], 4668 ],
4639 'libraries': [ 4669 'libraries': [
4640 '-l<(android_stlport_library)', 4670 '-l<(android_stlport_library)',
4641 # Manually link the libgcc.a that the cross compiler uses. 4671 # Manually link the libgcc.a that the cross compiler uses.
4642 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', 4672 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4643 '-lc', 4673 '-lc',
4644 '-ldl', 4674 '-ldl',
4645 '-lm', 4675 '-lm',
4646 ], 4676 ],
4647 }], 4677 }],
(...skipping 1219 matching lines...) Expand 10 before | Expand all | Expand 10 after
5867 # settings in target dicts. SYMROOT is a special case, because many other 5897 # settings in target dicts. SYMROOT is a special case, because many other
5868 # Xcode variables depend on it, including variables such as 5898 # Xcode variables depend on it, including variables such as
5869 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5899 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5870 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5900 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5871 # files to appear (when present) in the UI as actual files and not red 5901 # files to appear (when present) in the UI as actual files and not red
5872 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5902 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5873 # and therefore SYMROOT, needs to be set at the project level. 5903 # and therefore SYMROOT, needs to be set at the project level.
5874 'SYMROOT': '<(DEPTH)/xcodebuild', 5904 'SYMROOT': '<(DEPTH)/xcodebuild',
5875 }, 5905 },
5876 } 5906 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698