blob: 5b3fe18344b94aff8fa21c861833df9b3383a9c1 [file] [log] [blame]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +00001# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9declare_args() {
10 # Assume Chromium build for now, since that's the priority case for getting GN
11 # up and running with WebRTC.
12 build_with_chromium = true
13 build_with_libjingle = true
14
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000015 # Adds video support to dependencies shared by voice and video engine.
16 # This should normally be enabled; the intended use is to disable only
17 # when building voice engine exclusively.
18 enable_video = true
19
stefan@webrtc.org73823ca2014-07-07 11:46:43 +000020 # Disable this to not build libvpx and instead use an externally provided lib.
21 build_libvpx = true
22
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000023 # Selects fixed-point code where possible.
24 prefer_fixed_point = false
25
kjellander@webrtc.org78f440c2014-06-21 14:25:16 +000026 # Enable data logging. Produces text files with data logged within engines
27 # which can be easily parsed for offline processing.
28 enable_data_logging = false
29
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000030 # Enables the use of protocol buffers for debug recordings.
31 enable_protobuf = true
32
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000033 # Disable these to not build components which can be externally provided.
34 build_json = true
35 build_libjpeg = true
36 build_libyuv = true
37 build_libvpx = true
38 build_ssl = true
39
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000040 # Disable by default.
41 have_dbus_glib = false
42
43 # Enable to use the Mozilla internal settings.
44 build_with_mozilla = false
45
46 # Define MIPS architecture variant, MIPS DSP variant and MIPS FPU
47 # This may be subject to change in accordance to Chromium's MIPS flags
48 mips_arch_variant = "mips32r1"
49 mips_dsp_rev = 0
50 mips_fpu = true
51
52 enable_android_opensl = true
53
kjellander@webrtc.org788f0582014-08-28 13:51:08 +000054 if (build_with_chromium) {
55 # Exclude pulse audio on Chromium since its prerequisites don't require
56 # pulse audio.
57 include_pulse_audio = false
58
59 # Exclude internal ADM since Chromium uses its own IO handling.
60 include_internal_audio_device = false
61
62 # Exclude internal VCM in Chromium build.
63 include_internal_video_capture = false
64
65 # Exclude internal video render module in Chromium build.
66 include_internal_video_render = false
67 } else {
68 # Settings for the standalone (not-in-Chromium) build.
69
70 # TODO(andrew): For now, disable the Chrome plugins, which causes a
71 # flood of chromium-style warnings. Investigate enabling them:
72 # http://code.google.com/p/webrtc/issues/detail?id=163
73 clang_use_chrome_plugins = false
74
75 include_pulse_audio = true
76 include_internal_audio_device = true
77 include_internal_video_capture = true
78 include_internal_video_render = true
79 }
80
81 if (build_with_libjingle) {
82 include_tests = false
83 restrict_webrtc_logging = true
84 } else {
85 include_tests = true
86 restrict_webrtc_logging = false
87 }
88
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000089 if (is_ios) {
90 build_libjpeg = false
91 enable_protobuf = false
92 }
93
94 if (cpu_arch == "arm") {
95 prefer_fixed_point = true
96 }
97}