blob: dd7da7de5f0a4bd23d8ba0a5d3db9eaf4f37da41 [file] [log] [blame]
// Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS. All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.
// These defines will apply to all source files
// Think again before changing it
cc_defaults {
name: "webrtc_flags",
vendor: true,
cflags: [
"-DWEBRTC_POSIX",
"-DWEBRTC_LINUX",
"-DWEBRTC_THREAD_RR",
"-DWEBRTC_CLOCK_TYPE_REALTIME",
"-DWEBRTC_ANDROID",
// The following macros are used by modules,
// we might need to re-organize them
// "-DWEBRTC_ANDROID_OPENSLES", // [module audio_device]
// "-DNETEQ_VOICEENGINE_CODECS", // [module audio_coding neteq]
// "-DWEBRTC_MODULE_UTILITY_VIDEO", // [module media_file] [module utility]
"-Wall",
"-Werror",
// The following warnings are disabled in most webrtc modules,
// until we upgrade to newer cleaner upstream webrtc.
"-Wno-missing-braces",
"-Wno-missing-field-initializers",
"-Wno-unused-parameter",
],
header_libs: ["libwebrtc_headers"],
arch: {
arm: {
instruction_set: "arm",
cflags: [
"-DWEBRTC_ARCH_ARM",
// "-DWEBRTC_DETECT_ARM_NEON", // only used in a build configuration without Neon
// TODO(kma): figure out if the above define could be moved to NDK build only.
// The following upstram ARM_NEON and ARMV7A defintions do not work on AOSP yet.
// They should be fixed in the next merge from upstream.
//# TODO(kma): test if the code under next two macros works with generic GCC compilers
// "-DWEBRTC_ARCH_ARM_NEON",
// "-flax-vector-conversions",
// "-DWEBRTC_ARCH_ARM_V7A",
],
},
},
// The following clang-tidy checks are disabled in most webrtc modules,
// until we upgrade to newer cleaner upstream webrtc.
tidy_checks: [
"-cert-*",
"-clang-analyzer-*",
"-hicpp-*",
"-llvm-*",
"-google-build-namespaces",
"-google-default-arguments",
"-google-explicit-constructor",
"-google-runtime-int",
"-google-runtime-operator",
"-misc-incorrect-roundings",
"-misc-macro-parentheses",
"-misc-misplaced-widening-cast",
"-misc-noexcept-move-constructor",
"-misc-suspicious-string-compare",
"-misc-unused-parameters",
"-misc-unused-using-decls",
"-performance-type-promotion-in-math-fn",
"-performance-unnecessary-copy-initialization",
"-performance-unnecessary-value-param",
],
}
cc_library_shared {
name: "libwebrtc_audio_preprocessing",
vendor: true,
export_include_dirs: [
".",
"webrtc/modules/include",
"webrtc/modules/audio_processing/include",
],
whole_static_libs: [
"libwebrtc_aec",
"libwebrtc_aecm",
"libwebrtc_agc",
"libwebrtc_apm",
"libwebrtc_apm_utility",
"libwebrtc_apvad",
"libwebrtc_base",
"libwebrtc_beamformer",
"libwebrtc_common",
"libwebrtc_intell",
"libwebrtc_isac",
"libwebrtc_resampler",
"libwebrtc_ns",
"libwebrtc_spl",
"libwebrtc_system_wrappers",
"libwebrtc_transient",
"libwebrtc_vad",
],
shared_libs: [
"liblog",
"libcutils",
"libdl",
"libprotobuf-cpp-lite",
],
arch: {
arm: {
instruction_set: "arm",
},
},
// Disable native_coverage since linking fails with -O0 (needed for
// coverage). The fix is to mark InStream::Rewind and OutStream::Rewind as
// pure virtual in webrtc/common_types.h
native_coverage: false,
}
cc_library_shared {
name: "libwebrtc_audio_coding",
vendor: true,
whole_static_libs: [
"libwebrtc_base",
"libwebrtc_common",
"libwebrtc_intell",
"libwebrtc_isac",
"libwebrtc_isacfix",
"libwebrtc_resampler",
"libwebrtc_spl",
"libwebrtc_system_wrappers",
],
shared_libs: [
"libprotobuf-cpp-lite",
"liblog",
"libcutils",
"libdl",
],
arch: {
arm: {
instruction_set: "arm",
},
},
}
cc_library_headers {
name: "libwebrtc_headers",
vendor: true,
export_include_dirs: ["."],
}
subdirs = ["webrtc/*"]