The work landed in 4034 (use of HW AEC in AppRTC) is currently not active by default since we build for Open SL. I missed that when I did my initial change (since I always disabled OpenSL by GYP_DEFINES). This CL ensures that Java based audio is used as default in WebRTC. It would be great if we could shift over to Open SL (to cut latency) but that would (today) mean that we can't support the HW AEC. Hence, we are not ready to do so yet. BUG=4034 R=kjellander@webrtc.org, perkj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/36699004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@8040 4adac7df-926f-26a2-2b94-8c16560cd09d
119 lines
3.8 KiB
Plaintext
119 lines
3.8 KiB
Plaintext
# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
import("//build/config/arm.gni")
|
|
|
|
declare_args() {
|
|
# Assume Chromium build for now, since that's the priority case for getting GN
|
|
# up and running with WebRTC.
|
|
build_with_chromium = true
|
|
build_with_libjingle = true
|
|
|
|
# Disable this to avoid building the Opus audio codec.
|
|
rtc_include_opus = true
|
|
|
|
# Used to specify an external Jsoncpp include path when not compiling the
|
|
# library that comes with WebRTC (i.e. rtc_build_json == 0).
|
|
rtc_jsoncpp_root = "//third_party/jsoncpp/source/include"
|
|
|
|
# Used to specify an external OpenSSL include path when not compiling the
|
|
# library that comes with WebRTC (i.e. rtc_build_ssl == 0).
|
|
rtc_ssl_root = ""
|
|
|
|
# Adds video support to dependencies shared by voice and video engine.
|
|
# This should normally be enabled; the intended use is to disable only
|
|
# when building voice engine exclusively.
|
|
rtc_enable_video = true
|
|
|
|
# Selects fixed-point code where possible.
|
|
rtc_prefer_fixed_point = false
|
|
|
|
# Enable data logging. Produces text files with data logged within engines
|
|
# which can be easily parsed for offline processing.
|
|
rtc_enable_data_logging = false
|
|
|
|
# Enables the use of protocol buffers for debug recordings.
|
|
rtc_enable_protobuf = true
|
|
|
|
# Disable these to not build components which can be externally provided.
|
|
rtc_build_json = true
|
|
rtc_build_libjpeg = true
|
|
rtc_build_libyuv = true
|
|
rtc_build_libvpx = true
|
|
rtc_build_ssl = true
|
|
|
|
# Disable by default.
|
|
rtc_have_dbus_glib = false
|
|
|
|
# Enable to use the Mozilla internal settings.
|
|
build_with_mozilla = false
|
|
|
|
# Define MIPS architecture variant, MIPS DSP variant and MIPS FPU
|
|
# This may be subject to change in accordance to Chromium's MIPS flags
|
|
mips_arch_variant = "mips32r1"
|
|
mips_dsp_rev = 0
|
|
mips_fpu = true
|
|
|
|
rtc_enable_android_opensl = false
|
|
|
|
# Link-Time Optimizations.
|
|
# Executes code generation at link-time instead of compile-time.
|
|
# https://gcc.gnu.org/wiki/LinkTimeOptimization
|
|
rtc_use_lto = false
|
|
|
|
if (build_with_chromium) {
|
|
# Exclude pulse audio on Chromium since its prerequisites don't require
|
|
# pulse audio.
|
|
rtc_include_pulse_audio = false
|
|
|
|
# Exclude internal ADM since Chromium uses its own IO handling.
|
|
rtc_include_internal_audio_device = false
|
|
|
|
} else {
|
|
# Settings for the standalone (not-in-Chromium) build.
|
|
|
|
# TODO(andrew): For now, disable the Chrome plugins, which causes a
|
|
# flood of chromium-style warnings. Investigate enabling them:
|
|
# http://code.google.com/p/webrtc/issues/detail?id=163
|
|
clang_use_chrome_plugins = false
|
|
|
|
rtc_include_pulse_audio = true
|
|
rtc_include_internal_audio_device = true
|
|
}
|
|
|
|
if (build_with_libjingle) {
|
|
rtc_include_tests = false
|
|
rtc_restrict_logging = true
|
|
} else {
|
|
rtc_include_tests = true
|
|
rtc_restrict_logging = false
|
|
}
|
|
|
|
if (is_ios) {
|
|
rtc_build_libjpeg = false
|
|
rtc_enable_protobuf = false
|
|
}
|
|
|
|
if (cpu_arch == "arm") {
|
|
rtc_prefer_fixed_point = true
|
|
}
|
|
|
|
# TODO(ljubomir): Unset rtc_use_openmax_dl for mips64el once mips64el gets
|
|
# supported in GN (since openmax_dl is not supported for mips64el).
|
|
if (!is_ios && (cpu_arch != "arm" || arm_version >= 7)) {
|
|
rtc_use_openmax_dl = true
|
|
} else {
|
|
rtc_use_openmax_dl = false
|
|
}
|
|
|
|
# WebRTC builds ARM v7 Neon instruction set optimized code for both iOS and
|
|
# Android, which is why we currently cannot use the variables in
|
|
# //build/config/arm.gni (since it disables Neon for Android).
|
|
rtc_build_armv7_neon = (cpu_arch == "arm" && arm_version >= 7)
|
|
}
|