blob: 1b89263921dbb5baa380c9d22aa0a8dc51899df0 [file] [log] [blame]
Dan Willemsen7358fda2017-10-24 19:04:50 -07001// Copyright (c) 2011 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
9// These defines will apply to all source files
10// Think again before changing it
11cc_defaults {
12 name: "webrtc_flags",
13 vendor: true,
14
15 cflags: [
16 "-DWEBRTC_POSIX",
17 "-DWEBRTC_LINUX",
18 "-DWEBRTC_THREAD_RR",
19 "-DWEBRTC_CLOCK_TYPE_REALTIME",
20 "-DWEBRTC_ANDROID",
21
22 // The following macros are used by modules,
23 // we might need to re-organize them
24 // "-DWEBRTC_ANDROID_OPENSLES", // [module audio_device]
25 // "-DNETEQ_VOICEENGINE_CODECS", // [module audio_coding neteq]
26 // "-DWEBRTC_MODULE_UTILITY_VIDEO", // [module media_file] [module utility]
27
Chih-Hung Hsieh7e09d5a2017-10-26 10:04:42 -070028 "-Wall",
29 "-Werror",
Dan Willemsen7358fda2017-10-24 19:04:50 -070030 // The following warnings are disabled in most webrtc modules,
31 // until we upgrade to newer cleaner upstream webrtc.
Chih-Hung Hsieh7e09d5a2017-10-26 10:04:42 -070032 "-Wno-missing-braces",
Dan Willemsen7358fda2017-10-24 19:04:50 -070033 "-Wno-missing-field-initializers",
34 "-Wno-unused-parameter",
35 ],
36
37 header_libs: ["libwebrtc_headers"],
38
39 arch: {
40 arm: {
41 instruction_set: "arm",
42
43 cflags: [
44 "-DWEBRTC_ARCH_ARM",
45 // "-DWEBRTC_DETECT_ARM_NEON", // only used in a build configuration without Neon
46 // TODO(kma): figure out if the above define could be moved to NDK build only.
47
48 // The following upstram ARM_NEON and ARMV7A defintions do not work on AOSP yet.
49 // They should be fixed in the next merge from upstream.
50 //# TODO(kma): test if the code under next two macros works with generic GCC compilers
51 // "-DWEBRTC_ARCH_ARM_NEON",
52 // "-flax-vector-conversions",
53 // "-DWEBRTC_ARCH_ARM_V7A",
54 ],
55 },
56 },
57
58 // The following clang-tidy checks are disabled in most webrtc modules,
59 // until we upgrade to newer cleaner upstream webrtc.
60 tidy_checks: [
61 "-cert-*",
62 "-clang-analyzer-*",
63 "-hicpp-*",
64 "-llvm-*",
65 "-google-build-namespaces",
66 "-google-default-arguments",
67 "-google-explicit-constructor",
68 "-google-runtime-int",
69 "-google-runtime-operator",
70 "-misc-incorrect-roundings",
71 "-misc-macro-parentheses",
72 "-misc-misplaced-widening-cast",
73 "-misc-noexcept-move-constructor",
74 "-misc-suspicious-string-compare",
75 "-misc-unused-parameters",
76 "-misc-unused-using-decls",
77 "-performance-type-promotion-in-math-fn",
78 "-performance-unnecessary-copy-initialization",
79 "-performance-unnecessary-value-param",
80 ],
81}
82
83cc_library_shared {
84 name: "libwebrtc_audio_preprocessing",
85 vendor: true,
86
87 whole_static_libs: [
88 "libwebrtc_aec",
89 "libwebrtc_aecm",
90 "libwebrtc_agc",
91 "libwebrtc_apm",
92 "libwebrtc_apm_utility",
93 "libwebrtc_apvad",
94 "libwebrtc_base",
95 "libwebrtc_beamformer",
96 "libwebrtc_common",
97 "libwebrtc_intell",
98 "libwebrtc_isac",
99 "libwebrtc_resampler",
100 "libwebrtc_ns",
101 "libwebrtc_spl",
102 "libwebrtc_system_wrappers",
103 "libwebrtc_transient",
104 "libwebrtc_vad",
105 ],
106
107 shared_libs: [
108 "liblog",
109 "libcutils",
110 "libdl",
111 "libprotobuf-cpp-lite",
112 ],
113
114 arch: {
115 arm: {
116 instruction_set: "arm",
117 },
118 },
Pirama Arumuga Nainar15608432019-02-15 14:55:23 -0800119
120 // Disable native_coverage since linking fails with -O0 (needed for
121 // coverage). The fix is to mark InStream::Rewind and OutStream::Rewind as
122 // pure virtual in webrtc/common_types.h
123 native_coverage: false,
Dan Willemsen7358fda2017-10-24 19:04:50 -0700124}
125
126cc_library_shared {
127 name: "libwebrtc_audio_coding",
128 vendor: true,
129
130 whole_static_libs: [
131 "libwebrtc_base",
132 "libwebrtc_common",
133 "libwebrtc_intell",
134 "libwebrtc_isac",
135 "libwebrtc_isacfix",
136 "libwebrtc_resampler",
137 "libwebrtc_spl",
138 "libwebrtc_system_wrappers",
139 ],
140
141 shared_libs: [
142 "libprotobuf-cpp-lite",
143 "liblog",
144 "libcutils",
145 "libdl",
146 ],
147
148 arch: {
149 arm: {
150 instruction_set: "arm",
151 },
152 },
153}
154
155cc_library_headers {
156 name: "libwebrtc_headers",
Dan Willemsen647707f2017-10-26 00:33:06 -0700157 vendor: true,
Dan Willemsen7358fda2017-10-24 19:04:50 -0700158 export_include_dirs: ["."],
159}
160
161subdirs = ["webrtc/*"]