| Index: third_party/libvpx_new/BUILD.gn
|
| diff --git a/third_party/libvpx_new/BUILD.gn b/third_party/libvpx_new/BUILD.gn
|
| index e2a0320c19989c0d9ab480921d1757d298c288f2..24754dbc0bf71fb7e4dc302af572ffc41f9baccd 100644
|
| --- a/third_party/libvpx_new/BUILD.gn
|
| +++ b/third_party/libvpx_new/BUILD.gn
|
| @@ -1,317 +1,15 @@
|
| -# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Copyright 2016 The Chromium Authors. All rights reserved.
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -import("//build/config/arm.gni")
|
| -import("//build/config/android/config.gni")
|
| -import("//build/config/sanitizers/sanitizers.gni")
|
| -import("//third_party/libvpx_new/libvpx_srcs.gni")
|
| -import("//third_party/yasm/yasm_assemble.gni")
|
| -
|
| -# Sets the architecture name for building libvpx.
|
| -if (current_cpu == "x86") {
|
| - cpu_arch_full = "ia32"
|
| -} else if (current_cpu == "x64") {
|
| - if (is_msan) {
|
| - cpu_arch_full = "generic"
|
| - } else {
|
| - cpu_arch_full = "x64"
|
| - }
|
| -} else if (current_cpu == "arm") {
|
| - if (arm_use_neon) {
|
| - cpu_arch_full = "arm-neon"
|
| - } else if (is_android) {
|
| - cpu_arch_full = "arm-neon-cpu-detect"
|
| - } else {
|
| - cpu_arch_full = "arm"
|
| - }
|
| -} else {
|
| - cpu_arch_full = current_cpu
|
| -}
|
| -
|
| -if (is_nacl) {
|
| - platform_include_dir = "//third_party/libvpx_new/source/config/nacl"
|
| -} else {
|
| - if (is_posix && !is_mac) {
|
| - os_category = "linux"
|
| - } else {
|
| - os_category = current_os
|
| - }
|
| - platform_include_dir =
|
| - "//third_party/libvpx_new/source/config/$os_category/$cpu_arch_full"
|
| -}
|
| -
|
| -config("libvpx_config") {
|
| - include_dirs = [
|
| - "//third_party/libvpx_new/source/config",
|
| - platform_include_dir,
|
| - "//third_party/libvpx_new/source/libvpx",
|
| - "$root_gen_dir/third_party/libvpx_new", # Provides vpx_rtcd.h.
|
| - ]
|
| -
|
| - if (current_cpu == "arm" && is_clang) {
|
| - # TODO(hans) Enable integrated-as (crbug.com/124610).
|
| - asmflags = [ "-fno-integrated-as" ]
|
| - if (is_android) {
|
| - rebased_android_toolchain_root =
|
| - rebase_path(android_toolchain_root, root_build_dir)
|
| -
|
| - # Else /usr/bin/as gets picked up.
|
| - asmflags += [ "-B${rebased_android_toolchain_root}/bin" ]
|
| - }
|
| - }
|
| -}
|
| -
|
| -# gn orders flags on a target before flags from configs. The default config
|
| -# adds -Wall, and these flags have to be after -Wall -- so they need to come
|
| -# from a config and can't be on the target directly.
|
| -config("libvpx_warnings") {
|
| - if (is_clang) {
|
| - cflags = [
|
| - # libvpx heavily relies on implicit enum casting.
|
| - "-Wno-conversion",
|
| -
|
| - # libvpx does `if ((a == b))` in some places.
|
| - "-Wno-parentheses-equality",
|
| -
|
| - # libvpx has many static functions in header, which trigger this warning.
|
| - "-Wno-unused-function",
|
| - ]
|
| - } else if (!is_win) {
|
| - cflags = [
|
| - "-Wno-unused-function",
|
| - "-Wno-sign-compare",
|
| - ]
|
| - }
|
| -}
|
| -
|
| # This config is applied to targets that depend on libvpx.
|
| config("libvpx_external_config") {
|
| - include_dirs = [ "//third_party/libvpx_new/source/libvpx" ]
|
| -}
|
| -
|
| -if (current_cpu == "x86" || current_cpu == "x64") {
|
| - yasm_assemble("libvpx_yasm") {
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_assembly
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_assembly
|
| - }
|
| -
|
| - defines = [ "CHROMIUM" ]
|
| - if (is_android) {
|
| - # On Android, define __ANDROID__ to use alternative standard library
|
| - # functions.
|
| - defines += [ "__ANDROID__" ]
|
| - }
|
| - include_dirs = [
|
| - platform_include_dir,
|
| - "//third_party/libvpx_new/source/config",
|
| - "//third_party/libvpx_new/source/libvpx",
|
| - target_gen_dir,
|
| - ]
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_intrinsics_mmx") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (!is_win) {
|
| - cflags = [ "-mmmx" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_mmx
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_mmx
|
| - }
|
| + include_dirs = [ "//third_party/libvpx/source/libvpx" ]
|
| }
|
|
|
| -static_library("libvpx_intrinsics_sse2") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (!is_win || is_clang) {
|
| - cflags = [ "-msse2" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_sse2
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_sse2
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_intrinsics_ssse3") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (!is_win || is_clang) {
|
| - cflags = [ "-mssse3" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_ssse3
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_ssse3
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_intrinsics_sse4_1") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (!is_win || is_clang) {
|
| - cflags = [ "-msse4.1" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_sse4_1
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_sse4_1
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_intrinsics_avx") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (is_win) {
|
| - cflags = [ "/arch:AVX" ]
|
| - } else {
|
| - cflags = [ "-mavx" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_avx
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_avx
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_intrinsics_avx2") {
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (is_win) {
|
| - cflags = [ "/arch:AVX2" ]
|
| - } else {
|
| - cflags = [ "-mavx2" ]
|
| - }
|
| - if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86_avx2
|
| - } else if (current_cpu == "x64") {
|
| - sources = libvpx_srcs_x86_64_avx2
|
| - }
|
| -}
|
| -
|
| -if (cpu_arch_full == "arm-neon-cpu-detect") {
|
| - static_library("libvpx_intrinsics_neon") {
|
| - configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
|
| - configs += [ ":libvpx_config" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - cflags = [ "-mfpu=neon" ]
|
| - sources = libvpx_srcs_arm_neon_cpu_detect_neon
|
| - }
|
| -}
|
| -
|
| -# Converts ARM assembly files to GAS style.
|
| -if (current_cpu == "arm") {
|
| - action_foreach("convert_arm_assembly") {
|
| - script = "//third_party/libvpx_new/run_perl.py"
|
| - if (cpu_arch_full == "arm-neon") {
|
| - sources = libvpx_srcs_arm_neon_assembly
|
| - } else if (cpu_arch_full == "arm-neon-cpu-detect") {
|
| - sources = libvpx_srcs_arm_neon_cpu_detect_assembly
|
| - } else {
|
| - sources = libvpx_srcs_arm_assembly
|
| - }
|
| - outputs = [
|
| - "$target_gen_dir/{{source_name_part}}.S",
|
| - ]
|
| - args = [
|
| - "-s",
|
| - rebase_path(
|
| - "//third_party/libvpx_new/source/libvpx/build/make/ads2gas.pl",
|
| - root_build_dir),
|
| - "-i",
|
| - "{{source}}",
|
| - "-o",
|
| - rebase_path("$target_gen_dir/{{source_name_part}}.S"),
|
| - ]
|
| - }
|
| -
|
| - static_library("libvpx_assembly_arm") {
|
| - sources = get_target_outputs(":convert_arm_assembly")
|
| - configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
|
| - configs += [ ":libvpx_config" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - if (cpu_arch_full == "arm-neon" || cpu_arch_full == "arm-neon-cpu-detect") {
|
| - asmflags = [ "-mfpu=neon" ]
|
| - }
|
| - deps = [
|
| - ":convert_arm_assembly",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -static_library("libvpx_new") {
|
| - if (!is_debug && is_win) {
|
| - configs -= [ "//build/config/compiler:default_optimization" ]
|
| - configs += [ "//build/config/compiler:optimize_max" ]
|
| - }
|
| -
|
| - if (is_nacl) {
|
| - sources = libvpx_srcs_generic
|
| - } else if (current_cpu == "x86") {
|
| - sources = libvpx_srcs_x86
|
| - } else if (current_cpu == "x64") {
|
| - if (is_msan) {
|
| - sources = libvpx_srcs_generic
|
| - } else {
|
| - sources = libvpx_srcs_x86_64
|
| - }
|
| - } else if (current_cpu == "mipsel") {
|
| - sources = libvpx_srcs_mips
|
| - } else if (current_cpu == "arm") {
|
| - if (arm_use_neon) {
|
| - sources = libvpx_srcs_arm_neon
|
| - } else if (is_android) {
|
| - sources = libvpx_srcs_arm_neon_cpu_detect
|
| - } else {
|
| - sources = libvpx_srcs_arm
|
| - }
|
| - } else if (current_cpu == "arm64") {
|
| - sources = libvpx_srcs_arm64
|
| - }
|
| -
|
| - configs += [ ":libvpx_config" ]
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":libvpx_warnings" ]
|
| - deps = []
|
| - if (current_cpu == "x86" || (current_cpu == "x64" && !is_msan)) {
|
| - deps += [
|
| - ":libvpx_intrinsics_avx",
|
| - ":libvpx_intrinsics_avx2",
|
| - ":libvpx_intrinsics_mmx",
|
| - ":libvpx_intrinsics_sse2",
|
| - ":libvpx_intrinsics_sse4_1",
|
| - ":libvpx_intrinsics_ssse3",
|
| - ":libvpx_yasm",
|
| - ]
|
| - }
|
| - if (cpu_arch_full == "arm-neon-cpu-detect") {
|
| - deps += [ ":libvpx_intrinsics_neon" ]
|
| - }
|
| - if (is_android) {
|
| - deps += [ "//third_party/android_tools:cpu_features" ]
|
| - }
|
| - if (current_cpu == "arm") {
|
| - deps += [ ":libvpx_assembly_arm" ]
|
| - }
|
| -
|
| +group("libvpx_new") {
|
| + public_deps = [
|
| + "//third_party/libvpx",
|
| + ]
|
| public_configs = [ ":libvpx_external_config" ]
|
| }
|
|
|