diff options
author | kjellander@webrtc.org <kjellander@webrtc.org> | 2014-08-31 20:32:53 +0000 |
---|---|---|
committer | kjellander@webrtc.org <kjellander@webrtc.org> | 2014-08-31 20:32:53 +0000 |
commit | 05f7eb65ac0297786c073fb6536b1e488d8bed05 (patch) | |
tree | 16b5c98c903ee9d012b2bbc82f981b3357144fdd /build | |
parent | f8698ce1dacfdcf804809638483adb702760469c (diff) | |
download | webrtc-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.gni | 18 |
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) } |