OLD | NEW |
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 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 | 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 | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 import("//build/config/arm.gni") | 9 import("//build/config/arm.gni") |
| 10 import("//build/config/features.gni") |
10 import("//build/config/mips.gni") | 11 import("//build/config/mips.gni") |
11 import("//build_overrides/webrtc.gni") | 12 import("//build_overrides/webrtc.gni") |
12 | 13 |
13 declare_args() { | 14 declare_args() { |
14 build_with_libjingle = true | 15 build_with_libjingle = true |
15 | 16 |
16 # Disable this to avoid building the Opus audio codec. | 17 # Disable this to avoid building the Opus audio codec. |
17 rtc_include_opus = true | 18 rtc_include_opus = true |
18 | 19 |
19 # Used to specify an external Jsoncpp include path when not compiling the | 20 # Used to specify an external Jsoncpp include path when not compiling the |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 # Determines whether NEON code will be built. | 86 # Determines whether NEON code will be built. |
86 rtc_build_with_neon = | 87 rtc_build_with_neon = |
87 (current_cpu == "arm" && (arm_use_neon || arm_optionally_use_neon)) || | 88 (current_cpu == "arm" && (arm_use_neon || arm_optionally_use_neon)) || |
88 current_cpu == "arm64" | 89 current_cpu == "arm64" |
89 | 90 |
90 # Enable this to use HW H.264 encoder/decoder on iOS PeerConnections. | 91 # Enable this to use HW H.264 encoder/decoder on iOS PeerConnections. |
91 # Enabling this may break interop with Android clients that support H264. | 92 # Enabling this may break interop with Android clients that support H264. |
92 rtc_use_objc_h264 = false | 93 rtc_use_objc_h264 = false |
93 | 94 |
94 # Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported on | 95 # Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported on |
95 # all platforms except iOS. Because FFmpeg can be built with/without H.264 | 96 # all platforms except Android and iOS. Because FFmpeg can be built |
96 # support, |ffmpeg_branding| has to separately be set to a value that | 97 # with/without H.264 support, |ffmpeg_branding| has to separately be set to a |
97 # includes H.264, for example "Chrome". If FFmpeg is built without H.264, | 98 # value that includes H.264, for example "Chrome". If FFmpeg is built without |
98 # compilation succeeds but |H264DecoderImpl| fails to initialize. | 99 # H.264, compilation succeeds but |H264DecoderImpl| fails to initialize. See |
99 # See also: |rtc_initialize_ffmpeg|. | 100 # also: |rtc_initialize_ffmpeg|. |
100 # CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING. | 101 # CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING. |
101 # http://www.openh264.org, https://www.ffmpeg.org/ | 102 # http://www.openh264.org, https://www.ffmpeg.org/ |
102 rtc_use_h264 = false | 103 rtc_use_h264 = proprietary_codecs && !is_android && !is_ios |
103 | 104 |
104 # FFmpeg must be initialized for |H264DecoderImpl| to work. This can be done | 105 # FFmpeg must be initialized for |H264DecoderImpl| to work. This can be done |
105 # by WebRTC during |H264DecoderImpl::InitDecode| or externally. FFmpeg must | 106 # by WebRTC during |H264DecoderImpl::InitDecode| or externally. FFmpeg must |
106 # only be initialized once. Projects that initialize FFmpeg externally, such | 107 # only be initialized once. Projects that initialize FFmpeg externally, such |
107 # as Chromium, must turn this flag off so that WebRTC does not also | 108 # as Chromium, must turn this flag off so that WebRTC does not also |
108 # initialize. | 109 # initialize. |
109 rtc_initialize_ffmpeg = !build_with_chromium | 110 rtc_initialize_ffmpeg = !build_with_chromium |
110 } | 111 } |
111 | 112 |
112 # A second declare_args block, so that declarations within it can | 113 # A second declare_args block, so that declarations within it can |
113 # depend on the possibly overridden variables in the first | 114 # depend on the possibly overridden variables in the first |
114 # declare_args block. | 115 # declare_args block. |
115 declare_args() { | 116 declare_args() { |
116 # Include the iLBC audio codec? | 117 # Include the iLBC audio codec? |
117 rtc_include_ilbc = !(build_with_chromium || build_with_mozilla) | 118 rtc_include_ilbc = !(build_with_chromium || build_with_mozilla) |
118 } | 119 } |
119 | 120 |
120 # Make it possible to provide custom locations for some libraries (move these | 121 # Make it possible to provide custom locations for some libraries (move these |
121 # up into declare_args should we need to actually use them for the GN build). | 122 # up into declare_args should we need to actually use them for the GN build). |
122 rtc_libvpx_dir = "//third_party/libvpx_new" | 123 rtc_libvpx_dir = "//third_party/libvpx_new" |
123 rtc_libyuv_dir = "//third_party/libyuv" | 124 rtc_libyuv_dir = "//third_party/libyuv" |
124 rtc_opus_dir = "//third_party/opus" | 125 rtc_opus_dir = "//third_party/opus" |
OLD | NEW |