| Index: build/common.gypi
|
| diff --git a/build/common.gypi b/build/common.gypi
|
| index f2e2653f67c60d477986b0483ff2913308434b74..6ab6c6bdf31bbda0e70cde9fa3ac37dcd309a097 100644
|
| --- a/build/common.gypi
|
| +++ b/build/common.gypi
|
| @@ -155,10 +155,8 @@
|
| # default. "default" should be used on non-official builds.
|
| 'android_channel%': 'default',
|
|
|
| - # This is set when building the Android WebView inside the Android
|
| - # build system, using the 'android' gyp backend. The WebView code is
|
| - # still built when this is unset, but builds using the normal chromium
|
| - # build system.
|
| + # WebView now builds in a normal android build; don't use this.
|
| + # TODO(torne): remove this. http://crbug.com/440793
|
| 'android_webview_build%': 0,
|
|
|
| # Set ARM architecture version.
|
| @@ -793,8 +791,8 @@
|
| 'native_memory_pressure_signals%': 1,
|
| }],
|
|
|
| - # Enable autofill dialog for Android, Mac and Views-enabled platforms.
|
| - ['toolkit_views==1 or (OS=="android" and android_webview_build==0) or OS=="mac"', {
|
| + # Enable autofill dialog when not on iOS.
|
| + ['OS!="ios"', {
|
| 'enable_autofill_dialog%': 1,
|
|
|
| 'conditions': [
|
| @@ -1023,7 +1021,7 @@
|
|
|
| # TODO(rmcilroy): Enable v8_use_external_startup_data on ChromeOS
|
| # http://crbug.com/421063
|
| - ['android_webview_build==0 and chromecast==0 and chromeos==0 and OS!="ios"', {
|
| + ['chromecast==0 and chromeos==0 and OS!="ios"', {
|
| 'v8_use_external_startup_data%': 1,
|
| }, {
|
| 'v8_use_external_startup_data%': 0,
|
| @@ -1574,18 +1572,11 @@
|
| # it takes effect here.
|
| ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan_vptr==0', {
|
| 'conditions': [
|
| - ['OS=="android" and android_webview_build==0', {
|
| + ['OS=="android"', {
|
| 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler)',
|
| # We directly set the gcc version since we know what we use.
|
| 'gcc_version%': 49,
|
| - }],
|
| - ['OS=="android" and android_webview_build==1', {
|
| - # Android WebView uses a hermetic clang toolchain for host builds.
|
| - 'host_gcc_version%': 0,
|
| - # Android WebView uses the GCC toolchain from the Android build.
|
| - 'gcc_version%': 48,
|
| - }],
|
| - ['OS!="android"', {
|
| + }, {
|
| 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler)',
|
| 'gcc_version%': '<!pymod_do_main(compiler_version target compiler)',
|
| }],
|
| @@ -2085,11 +2076,6 @@
|
| '-E', 'ANDROID_JAVA_TAGGED_ONLY=true',
|
| '--no-output-all-resource-defines',
|
| ],
|
| - 'conditions': [
|
| - ['<(android_webview_build)==1', {
|
| - 'grit_defines': ['-D', 'is_android_webview_build'],
|
| - }],
|
| - ],
|
| }],
|
| ['OS=="mac" or OS=="ios"', {
|
| 'grit_defines': ['-D', 'scale_factors=2x'],
|
| @@ -2310,14 +2296,14 @@
|
| }],
|
|
|
| # Set default compiler flags depending on ARM version.
|
| - ['arm_version==6 and android_webview_build==0', {
|
| + ['arm_version==6', {
|
| 'arm_arch%': 'armv6',
|
| 'arm_tune%': '',
|
| 'arm_fpu%': 'vfp',
|
| 'arm_float_abi%': 'softfp',
|
| 'arm_thumb%': 0,
|
| }],
|
| - ['arm_version==7 and android_webview_build==0', {
|
| + ['arm_version==7', {
|
| 'arm_arch%': 'armv7-a',
|
| 'arm_tune%': 'generic-armv7-a',
|
| 'conditions': [
|
| @@ -2333,24 +2319,13 @@
|
| }],
|
|
|
| # Set default compiler flags for MIPS floating-point support.
|
| - ['target_arch=="mipsel" and android_webview_build==0', {
|
| + ['target_arch=="mipsel"', {
|
| 'mips_float_abi%': 'hard',
|
| }],
|
| - ['target_arch=="mipsel" and mips_arch_variant=="r2" and android_webview_build==0', {
|
| + ['target_arch=="mipsel" and mips_arch_variant=="r2"', {
|
| 'mips_fpu_mode%': 'fp32',
|
| }],
|
|
|
| - ['android_webview_build==1', {
|
| - # The WebView build gets its cpu-specific flags from the Android build system.
|
| - 'arm_arch%': '',
|
| - 'arm_tune%': '',
|
| - 'arm_fpu%': '',
|
| - 'arm_float_abi%': '',
|
| - 'arm_thumb%': 0,
|
| - 'mips_float_abi%': '',
|
| - 'mips_fpu_mode%': '',
|
| - }],
|
| -
|
| # Enable brlapi by default for chromeos.
|
| [ 'chromeos==1', {
|
| 'use_brlapi%': 1,
|
| @@ -4079,10 +4054,6 @@
|
| 'cflags!': [
|
| '-fstack-protector', # stack protector is always enabled on arm64.
|
| ],
|
| - }],
|
| - # TODO: Remove webview test once webview fully compiles from
|
| - # Chromium. crbug.com/440793
|
| - ['OS=="android" and android_webview_build==0', {
|
| 'ldflags': [
|
| '-fuse-ld=gold',
|
| ],
|
| @@ -4095,78 +4066,74 @@
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
| 'conditions': [
|
| - ['android_webview_build==0', {
|
| + ['mips_arch_variant=="r6"', {
|
| 'conditions': [
|
| - ['mips_arch_variant=="r6"', {
|
| - 'conditions': [
|
| - ['clang==1', {
|
| - 'cflags': [ '-target mipsel-linux-gnu', '-march=mips32r6', ],
|
| - 'ldflags': [ '-target mipsel-linux-gnu', ],
|
| - }, { # clang==0
|
| - 'cflags': ['-mips32r6', '-Wa,-mips32r6', ],
|
| - }],
|
| - ['clang==0 and OS=="android"', {
|
| - 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',],
|
| - }],
|
| - ],
|
| + ['clang==1', {
|
| + 'cflags': [ '-target mipsel-linux-gnu', '-march=mips32r6', ],
|
| + 'ldflags': [ '-target mipsel-linux-gnu', ],
|
| + }, { # clang==0
|
| + 'cflags': ['-mips32r6', '-Wa,-mips32r6', ],
|
| }],
|
| - ['mips_arch_variant=="r2"', {
|
| - 'conditions': [
|
| - ['mips_float_abi=="hard" and mips_fpu_mode!=""', {
|
| - 'cflags': ['-m<(mips_fpu_mode)'],
|
| - }],
|
| - ['clang==1', {
|
| - 'conditions': [
|
| - ['OS=="android"', {
|
| - 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32r2'],
|
| - 'ldflags': [ '-target mipsel-linux-android', ],
|
| - }],
|
| - ],
|
| - }, { # clang==0
|
| - 'cflags': ['-mips32r2', '-Wa,-mips32r2', ],
|
| - }],
|
| - ],
|
| + ['clang==0 and OS=="android"', {
|
| + 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',],
|
| }],
|
| - ['mips_arch_variant=="r1"', {
|
| - 'conditions': [
|
| - ['clang==1', {
|
| - 'conditions': [
|
| - ['OS=="android"', {
|
| - 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32'],
|
| - 'ldflags': [ '-target mipsel-linux-android', ],
|
| - }],
|
| - ],
|
| - }, { # clang==0
|
| - 'cflags': ['-mips32', '-Wa,-mips32', ],
|
| + ],
|
| + }],
|
| + ['mips_arch_variant=="r2"', {
|
| + 'conditions': [
|
| + ['mips_float_abi=="hard" and mips_fpu_mode!=""', {
|
| + 'cflags': ['-m<(mips_fpu_mode)'],
|
| + }],
|
| + ['clang==1', {
|
| + 'conditions': [
|
| + ['OS=="android"', {
|
| + 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32r2'],
|
| + 'ldflags': [ '-target mipsel-linux-android', ],
|
| }],
|
| - ],
|
| + ],
|
| + }, { # clang==0
|
| + 'cflags': ['-mips32r2', '-Wa,-mips32r2', ],
|
| }],
|
| + ],
|
| + }],
|
| + ['mips_arch_variant=="r1"', {
|
| + 'conditions': [
|
| ['clang==1', {
|
| - 'cflags!': [
|
| - # Clang does not support the following options.
|
| - '-finline-limit=64',
|
| - ],
|
| - 'cflags': [
|
| - # TODO(gordanac) Enable integrated-as.
|
| - '-no-integrated-as',
|
| - '-B<(android_toolchain)', # Else /usr/bin/as gets picked up.
|
| - ],
|
| - 'ldflags': [
|
| - # Let clang find the ld in the NDK.
|
| - '--gcc-toolchain=<(android_toolchain)/..',
|
| + 'conditions': [
|
| + ['OS=="android"', {
|
| + 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32'],
|
| + 'ldflags': [ '-target mipsel-linux-android', ],
|
| + }],
|
| ],
|
| + }, { # clang==0
|
| + 'cflags': ['-mips32', '-Wa,-mips32', ],
|
| }],
|
| - ['mips_dsp_rev==1', {
|
| - 'cflags': ['-mdsp'],
|
| - }],
|
| - ['mips_dsp_rev==2', {
|
| - 'cflags': ['-mdspr2'],
|
| - }],
|
| + ],
|
| + }],
|
| + ['clang==1', {
|
| + 'cflags!': [
|
| + # Clang does not support the following options.
|
| + '-finline-limit=64',
|
| ],
|
| 'cflags': [
|
| - '-m<(mips_float_abi)-float'
|
| + # TODO(gordanac) Enable integrated-as.
|
| + '-no-integrated-as',
|
| + '-B<(android_toolchain)', # Else /usr/bin/as gets picked up.
|
| + ],
|
| + 'ldflags': [
|
| + # Let clang find the ld in the NDK.
|
| + '--gcc-toolchain=<(android_toolchain)/..',
|
| ],
|
| }],
|
| + ['mips_dsp_rev==1', {
|
| + 'cflags': ['-mdsp'],
|
| + }],
|
| + ['mips_dsp_rev==2', {
|
| + 'cflags': ['-mdspr2'],
|
| + }],
|
| + ],
|
| + 'cflags': [
|
| + '-m<(mips_float_abi)-float'
|
| ],
|
| 'ldflags': [
|
| '-Wl,--no-keep-memory'
|
| @@ -4181,17 +4148,13 @@
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
| 'conditions': [
|
| - ['android_webview_build==0', {
|
| - 'conditions': [
|
| - ['mips_arch_variant=="r6"', {
|
| - 'cflags': ['-mips64r6', '-Wa,-mips64r6'],
|
| - 'ldflags': ['-mips64r6'],
|
| - }],
|
| - ['mips_arch_variant=="r2"', {
|
| - 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
|
| - 'ldflags': ['-mips64r2'],
|
| - }],
|
| - ],
|
| + ['mips_arch_variant=="r6"', {
|
| + 'cflags': ['-mips64r6', '-Wa,-mips64r6'],
|
| + 'ldflags': ['-mips64r6'],
|
| + }],
|
| + ['mips_arch_variant=="r2"', {
|
| + 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
|
| + 'ldflags': ['-mips64r2'],
|
| }],
|
| ],
|
| 'cflags_cc': [
|
| @@ -4713,6 +4676,12 @@
|
| '-finline-limit=64',
|
| '-Wa,--noexecstack',
|
| '<@(release_extra_cflags)',
|
| + '--sysroot=<(android_ndk_sysroot)',
|
| + # NOTE: The stlport header include paths below are specified in
|
| + # cflags rather than include_dirs because they need to come
|
| + # after include_dirs.
|
| + # The include ordering here is important; change with caution.
|
| + '-isystem<(android_stlport_include)',
|
| ],
|
| 'defines': [
|
| 'ANDROID',
|
| @@ -4720,15 +4689,43 @@
|
| 'USE_STLPORT=1',
|
| '_STLP_USE_PTR_SPECIALIZATIONS=1',
|
| 'CHROME_BUILD_ID="<(chrome_build_id)"',
|
| + # The NDK has these things, but doesn't define the constants
|
| + # to say that it does. Define them here instead.
|
| + 'HAVE_SYS_UIO_H',
|
| ],
|
| 'ldflags!': [
|
| '-pthread', # Not supported by Android toolchain.
|
| ],
|
| 'ldflags': [
|
| '-Wl,--no-undefined',
|
| + '--sysroot=<(android_ndk_sysroot)',
|
| + '-nostdlib',
|
| + '-L<(android_stlport_libs_dir)',
|
| + # Don't allow visible symbols from libgcc or stlport to be
|
| + # re-exported.
|
| + '-Wl,--exclude-libs=libgcc.a',
|
| + '-Wl,--exclude-libs=libstlport_static.a',
|
| + # Don't allow visible symbols from libraries that contain
|
| + # assembly code with symbols that aren't hidden properly.
|
| + # http://crbug.com/448386
|
| + '-Wl,--exclude-libs=libcommon_audio.a',
|
| + '-Wl,--exclude-libs=libcommon_audio_neon.a',
|
| + '-Wl,--exclude-libs=libcommon_audio_sse2.a',
|
| + '-Wl,--exclude-libs=libiSACFix.a',
|
| + '-Wl,--exclude-libs=libisac_neon.a',
|
| + '-Wl,--exclude-libs=libopus.a',
|
| + '-Wl,--exclude-libs=libvpx.a',
|
| + ],
|
| + 'libraries': [
|
| + '-l<(android_stlport_library)',
|
| + # Manually link the libgcc.a that the cross compiler uses.
|
| + '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
|
| + '-lc',
|
| + '-ldl',
|
| + '-lm',
|
| ],
|
| 'conditions': [
|
| - ['component=="static_library" and android_webview_build==0', {
|
| + ['component=="static_library"', {
|
| 'target_conditions': [
|
| ['use_native_jni_exports==0', {
|
| # Use a linker version script to strip JNI exports from
|
| @@ -4784,112 +4781,12 @@
|
| '-mllvm -asan-globals=0',
|
| ],
|
| }],
|
| - ['android_webview_build==0', {
|
| - 'defines': [
|
| - # The NDK has these things, but doesn't define the constants
|
| - # to say that it does. Define them here instead.
|
| - 'HAVE_SYS_UIO_H',
|
| - ],
|
| - 'cflags': [
|
| - '--sysroot=<(android_ndk_sysroot)',
|
| - ],
|
| - 'ldflags': [
|
| - '--sysroot=<(android_ndk_sysroot)',
|
| - '-nostdlib',
|
| - # Don't allow visible symbols from libgcc or stlport to be
|
| - # re-exported.
|
| - '-Wl,--exclude-libs=libgcc.a',
|
| - '-Wl,--exclude-libs=libstlport_static.a',
|
| - # Don't allow visible symbols from libraries that contain
|
| - # assembly code with symbols that aren't hidden properly.
|
| - # http://crbug.com/448386
|
| - '-Wl,--exclude-libs=libcommon_audio.a',
|
| - '-Wl,--exclude-libs=libcommon_audio_neon.a',
|
| - '-Wl,--exclude-libs=libcommon_audio_sse2.a',
|
| - '-Wl,--exclude-libs=libiSACFix.a',
|
| - '-Wl,--exclude-libs=libisac_neon.a',
|
| - '-Wl,--exclude-libs=libopus.a',
|
| - '-Wl,--exclude-libs=libvpx.a',
|
| - ],
|
| - 'libraries': [
|
| - '-l<(android_stlport_library)',
|
| - # Manually link the libgcc.a that the cross compiler uses.
|
| - '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
|
| - '-lc',
|
| - '-ldl',
|
| - '-lm',
|
| - ],
|
| - }],
|
| - ['android_webview_build==1', {
|
| - 'cflags': [
|
| - # Android predefines this as 1; undefine it here so Chromium
|
| - # can redefine it later to be 2 for chromium code and unset
|
| - # for third party code. This works because cflags are added
|
| - # before defines.
|
| - '-U_FORTIFY_SOURCE',
|
| - # Disable any additional warnings enabled by the Android build system but which
|
| - # chromium does not build cleanly with (when treating warning as errors).
|
| - # Things that are part of -Wextra:
|
| - '-Wno-extra', # Enabled by -Wextra, but no specific flag
|
| - '-Wno-ignored-qualifiers',
|
| - '-Wno-type-limits',
|
| - '-Wno-unused-but-set-variable',
|
| - ],
|
| - 'cflags_cc': [
|
| - # Other things unrelated to -Wextra:
|
| - '-Wno-non-virtual-dtor',
|
| - '-Wno-sign-promo',
|
| - ],
|
| - 'libraries': [
|
| - '-ldl',
|
| - ],
|
| - }],
|
| - ['android_webview_build==1', {
|
| - 'target_conditions': [
|
| - ['chromium_code==0', {
|
| - 'cflags': [
|
| - # There is a class of warning which:
|
| - # 1) Android always enables and also treats as errors
|
| - # 2) Chromium ignores in third party code
|
| - # So we re-enable those warnings when building Android.
|
| - '-Wno-address',
|
| - '-Wno-format-security',
|
| - '-Wno-return-type',
|
| - '-Wno-sequence-point',
|
| - ],
|
| - 'cflags_cc': [
|
| - '-Wno-non-virtual-dtor',
|
| - ],
|
| - }],
|
| - ],
|
| - }],
|
| ['target_arch == "arm" and order_profiling==0', {
|
| 'ldflags': [
|
| # Enable identical code folding to reduce size.
|
| '-Wl,--icf=<(gold_icf_level)',
|
| ],
|
| }],
|
| - # NOTE: The stlport header include paths below are specified in
|
| - # cflags rather than include_dirs because they need to come
|
| - # after include_dirs. Think of them like system headers, but
|
| - # don't use '-isystem' because the arm-linux-androideabi-4.4.3
|
| - # toolchain (circa Gingerbread) will exhibit strange errors.
|
| - # The include ordering here is important; change with caution.
|
| - ['android_webview_build==0', {
|
| - 'cflags': [
|
| - '-isystem<(android_stlport_include)',
|
| - ],
|
| - 'ldflags': [
|
| - '-L<(android_stlport_libs_dir)',
|
| - ],
|
| - }, { # else: android_webview_build!=0
|
| - 'aosp_build_settings': {
|
| - # Specify that we want to statically link stlport from the
|
| - # NDK. This will provide all the include and library paths
|
| - # automatically at build time, and link the right library.
|
| - 'LOCAL_NDK_STL_VARIANT': 'stlport_static',
|
| - },
|
| - }],
|
| ['target_arch=="ia32"', {
|
| # The x86 toolchain currently has problems with stack-protector.
|
| 'cflags!': [
|
| @@ -4928,19 +4825,13 @@
|
| ['_type=="shared_library" or _type=="loadable_module"', {
|
| 'ldflags': [
|
| '-Wl,-shared,-Bsymbolic',
|
| + # crtbegin_so.o should be the last item in ldflags.
|
| + '<(android_ndk_lib)/crtbegin_so.o',
|
| ],
|
| - 'conditions': [
|
| - ['android_webview_build==0', {
|
| - 'ldflags': [
|
| - # crtbegin_so.o should be the last item in ldflags.
|
| - '<(android_ndk_lib)/crtbegin_so.o',
|
| - ],
|
| - 'libraries': [
|
| - # crtend_so.o needs to be the last item in libraries.
|
| - # Do not add any libraries after this!
|
| - '<(android_ndk_lib)/crtend_so.o',
|
| - ],
|
| - }],
|
| + 'libraries': [
|
| + # crtend_so.o needs to be the last item in libraries.
|
| + # Do not add any libraries after this!
|
| + '<(android_ndk_lib)/crtend_so.o',
|
| ],
|
| }],
|
| ],
|
| @@ -5856,45 +5747,6 @@
|
| ],
|
| },
|
| }],
|
| - # In the android webview build, force host targets to be compiled with clang
|
| - # as the hermetic host gcc is very old on some platforms. This is already
|
| - # the default on the current development version of AOSP but we force it
|
| - # here in case we need to compile against an older release version. We also
|
| - # explicitly set it to false for target binaries to avoid causing problems
|
| - # for the work to enable clang by default in AOSP. We also force the use of
|
| - # libstdc++ on host as peculiarities of the android gyp backend mean that
|
| - # using libc++ doesn't work, and Chromium doesn't yet require a more modern
|
| - # C++ library.
|
| - ['android_webview_build==1', {
|
| - 'target_defaults': {
|
| - 'target_conditions': [
|
| - ['_toolset=="host"', {
|
| - 'aosp_build_settings': {
|
| - 'LOCAL_CLANG': 'true',
|
| - 'LOCAL_CXX_STL': 'libstdc++',
|
| - },
|
| - }, { # else: _toolset != "host"
|
| - 'aosp_build_settings': {
|
| - 'LOCAL_CLANG': 'false',
|
| - },
|
| - }],
|
| - ],
|
| - },
|
| - }],
|
| - # We need a special case to handle the android webview build on mac because
|
| - # the host gcc there doesn't accept this flag, but the target gcc may
|
| - # require it.
|
| - ['gcc_version>=48 and android_webview_build==1 and host_os=="mac"', {
|
| - 'target_defaults': {
|
| - 'target_conditions': [
|
| - ['_toolset=="host"', {
|
| - 'cflags!': [
|
| - '-Wno-unused-local-typedefs',
|
| - ],
|
| - }],
|
| - ],
|
| - },
|
| - }],
|
| ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) '
|
| 'and OS!="win"', {
|
| 'make_global_settings': [
|
|
|