This changes most non-test related rtc_source_set targets to be rtc_static_library instead. Targets without any .cc files are excluded. This should bring back the build behavior we used to have with GYP (i.e. same symbols exported in the libjingle_peerconnection.a file, which are used by some downstream projects). After doing an Android build with these changes: $ nm --defined-only -g -C out/Release/lib.unstripped/libjingle_peerconnection_so.so | grep -i createpeerconnectionf 00077c51 T Java_org_webrtc_PeerConnectionFactory_nativeCreatePeerConnectionFactory $ nm --defined-only -g -C out/Release/obj/webrtc/api/libjingle_peerconnection.a | grep -i createpeerconnectionf 00000001 T webrtc::CreatePeerConnectionFactory(rtc::Thread*, rtc::Thread*, rtc::Thread*, webrtc::AudioDeviceModule*, cricket::WebRtcVideoEncoderFactory*, cricket::WebRtcVideoDecoderFactory*) 00000001 T webrtc::CreatePeerConnectionFactory() See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cookbook.md#Note-on-static-libraries for more details on this. NOTICE: This should be further cleaned up in the future, to reduce binary bloat and unnecessary linking time. Right now it's more important to restore the desired build output though. BUG=webrtc:6410, chromium:630755 Review-Url: https://codereview.webrtc.org/2361623004 Cr-Commit-Position: refs/heads/master@{#14364}
89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
# Copyright (c) 2014 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.
|
|
|
|
import("//build/config/arm.gni")
|
|
import("../../build/webrtc.gni")
|
|
|
|
build_video_processing_sse2 = current_cpu == "x86" || current_cpu == "x64"
|
|
|
|
rtc_static_library("video_processing") {
|
|
sources = [
|
|
"frame_preprocessor.cc",
|
|
"frame_preprocessor.h",
|
|
"include/video_processing.h",
|
|
"include/video_processing_defines.h",
|
|
"spatial_resampler.cc",
|
|
"spatial_resampler.h",
|
|
"util/denoiser_filter.cc",
|
|
"util/denoiser_filter.h",
|
|
"util/denoiser_filter_c.cc",
|
|
"util/denoiser_filter_c.h",
|
|
"util/noise_estimation.cc",
|
|
"util/noise_estimation.h",
|
|
"util/skin_detection.cc",
|
|
"util/skin_detection.h",
|
|
"video_decimator.cc",
|
|
"video_decimator.h",
|
|
"video_denoiser.cc",
|
|
"video_denoiser.h",
|
|
"video_processing_impl.cc",
|
|
"video_processing_impl.h",
|
|
]
|
|
|
|
deps = [
|
|
"../../common_audio",
|
|
"../../common_video",
|
|
"../../modules/utility",
|
|
"../../system_wrappers",
|
|
]
|
|
if (build_video_processing_sse2) {
|
|
deps += [ ":video_processing_sse2" ]
|
|
}
|
|
if (rtc_build_with_neon) {
|
|
deps += [ ":video_processing_neon" ]
|
|
}
|
|
|
|
if (is_clang) {
|
|
# Suppress warnings from Chrome's Clang plugins.
|
|
# See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
|
|
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
|
|
}
|
|
}
|
|
|
|
if (build_video_processing_sse2) {
|
|
rtc_static_library("video_processing_sse2") {
|
|
sources = [
|
|
"util/denoiser_filter_sse2.cc",
|
|
"util/denoiser_filter_sse2.h",
|
|
]
|
|
|
|
if (is_clang) {
|
|
# Suppress warnings from Chrome's Clang plugins.
|
|
# See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
|
|
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
|
|
}
|
|
|
|
if (is_posix) {
|
|
cflags = [ "-msse2" ]
|
|
}
|
|
}
|
|
}
|
|
|
|
if (rtc_build_with_neon) {
|
|
rtc_static_library("video_processing_neon") {
|
|
sources = [
|
|
"util/denoiser_filter_neon.cc",
|
|
"util/denoiser_filter_neon.h",
|
|
]
|
|
if (current_cpu != "arm64") {
|
|
suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
|
|
cflags = [ "-mfpu=neon" ]
|
|
}
|
|
}
|
|
}
|