mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 09:46:09 +03:00
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
|
# Copyright 2014 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/chrome_build.gni")
|
||
|
import("//build/config/chromecast_build.gni")
|
||
|
import("//build/config/sanitizers/sanitizers.gni")
|
||
|
|
||
|
if (is_chrome_branded) {
|
||
|
_default_ffmpeg_branding = "Chrome"
|
||
|
} else {
|
||
|
_default_ffmpeg_branding = "Chromium"
|
||
|
}
|
||
|
|
||
|
if (is_chromeos && is_chrome_branded) {
|
||
|
_default_ffmpeg_branding = "ChromeOS"
|
||
|
}
|
||
|
|
||
|
if (is_chromecast) {
|
||
|
if (is_android) {
|
||
|
_default_ffmpeg_branding = "Chrome"
|
||
|
} else {
|
||
|
# TODO(alokp): What audio codecs does Chromecast want here? Sort
|
||
|
# out and add configs if necessary. http://crbug.com/570754
|
||
|
_default_ffmpeg_branding = "ChromeOS"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
declare_args() {
|
||
|
# Controls whether we build the Chromium or Google Chrome version of FFmpeg.
|
||
|
# The Google Chrome version contains additional codecs. Typical values are
|
||
|
# Chromium, Chrome, and ChromeOS.
|
||
|
ffmpeg_branding = _default_ffmpeg_branding
|
||
|
|
||
|
# Set true to build ffmpeg as a shared library. NOTE: this means we should
|
||
|
# always consult is_component_ffmpeg instead of is_component_build for
|
||
|
# ffmpeg targets. This helps linux chromium packagers that swap out our
|
||
|
# ffmpeg.so with their own. See discussion here
|
||
|
# https://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJ
|
||
|
is_component_ffmpeg = is_component_build
|
||
|
|
||
|
# Set to true to force the use of ffmpeg's stdatomic fallback code.
|
||
|
#
|
||
|
# Windows and GCC prior to 4.9 lack stdatomic.h.
|
||
|
#
|
||
|
# This is also useful for developers who use icecc, which relies upon
|
||
|
# clang's -frewrite-includes flag which is broken with #include_next
|
||
|
# directives as used in chromium's clang stdatomic.h.
|
||
|
# Some background: https://bugs.llvm.org/show_bug.cgi?id=26828
|
||
|
ffmpeg_use_atomics_fallback = !is_clang
|
||
|
}
|
||
|
|
||
|
assert(ffmpeg_branding == "Chromium" ||
|
||
|
ffmpeg_branding == "Chrome" ||
|
||
|
ffmpeg_branding == "ChromeOS")
|
||
|
|
||
|
if (current_cpu == "x86") {
|
||
|
ffmpeg_arch = "ia32"
|
||
|
} else if (current_cpu == "arm" && arm_version >= 7 && arm_use_neon) {
|
||
|
ffmpeg_arch = "arm-neon"
|
||
|
} else {
|
||
|
ffmpeg_arch = current_cpu
|
||
|
}
|
||
|
|
||
|
os_config = current_os
|
||
|
if ((is_linux || is_chromeos) && is_msan) {
|
||
|
os_config = "linux-noasm"
|
||
|
} else if (is_chromeos || is_fuchsia) {
|
||
|
os_config = "linux"
|
||
|
} else if (is_win && !is_clang) {
|
||
|
os_config = "win-msvc"
|
||
|
}
|