summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorkjellander@webrtc.org <kjellander@webrtc.org>2014-08-31 20:32:53 +0000
committerkjellander@webrtc.org <kjellander@webrtc.org>2014-08-31 20:32:53 +0000
commit05f7eb65ac0297786c073fb6536b1e488d8bed05 (patch)
tree16b5c98c903ee9d012b2bbc82f981b3357144fdd /build
parentf8698ce1dacfdcf804809638483adb702760469c (diff)
downloadwebrtc-05f7eb65ac0297786c073fb6536b1e488d8bed05.tar.gz
GN: Implement voice engine, common audio, audio coding and audio processing
NOTICE: Assembly offsets generation for audio processing will not be ported to GN and the process of removing them is tracked in https://code.google.com/p/webrtc/issues/detail?id=3580. The GN files are based upon the GYP files as of r7009. BUG=3441 TESTED=Passing builds with: gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false aec_debug_dump=true" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false aec_untrusted_delay_for_testing=true" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false prefer_fixed_point=true" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default I don't know how to setup the mips toolchain to test the following, but it's out of scope for the GN effort for now: gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=0" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=1" && ninja -C out/Default gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=2" && ninja -C out/Default Compilation of Chromium's 'all' target with src/third_party/webrtc symlinked to the WebRTC checkout with this CL applied, both with the default GN settings and using --args="is_debug=false os=\"android\" cpu_arch=\"arm\"" R=andrew@webrtc.org, brettw@chromium.org Review URL: https://webrtc-codereview.appspot.com/15999004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7012 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'build')
-rw-r--r--build/webrtc.gni18
1 files changed, 15 insertions, 3 deletions
diff --git a/build/webrtc.gni b/build/webrtc.gni
index 5b3fe183..cae81664 100644
--- a/build/webrtc.gni
+++ b/build/webrtc.gni
@@ -6,20 +6,22 @@
# 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.
+ include_opus = true
+
# 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.
enable_video = true
- # Disable this to not build libvpx and instead use an externally provided lib.
- build_libvpx = true
-
# Selects fixed-point code where possible.
prefer_fixed_point = false
@@ -51,6 +53,11 @@ declare_args() {
enable_android_opensl = true
+ # Link-Time Optimizations.
+ # Executes code generation at link-time instead of compile-time.
+ # https://gcc.gnu.org/wiki/LinkTimeOptimization
+ use_lto = false
+
if (build_with_chromium) {
# Exclude pulse audio on Chromium since its prerequisites don't require
# pulse audio.
@@ -94,4 +101,9 @@ declare_args() {
if (cpu_arch == "arm") {
prefer_fixed_point = true
}
+
+ # 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).
+ build_armv7_neon = (cpu_arch == "arm" && arm_version == 7)
}