summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/third_party_build/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/webrtc/third_party_build/moz.build')
-rw-r--r--dom/media/webrtc/third_party_build/moz.build85
1 files changed, 85 insertions, 0 deletions
diff --git a/dom/media/webrtc/third_party_build/moz.build b/dom/media/webrtc/third_party_build/moz.build
new file mode 100644
index 0000000000..dc0df3ba1b
--- /dev/null
+++ b/dom/media/webrtc/third_party_build/moz.build
@@ -0,0 +1,85 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Core", "WebRTC")
+
+include("/build/gn.mozbuild")
+
+webrtc_non_unified_sources = [
+ "../../../../third_party/libwebrtc/webrtc/common_audio/vad/vad_core.c", # Because of name clash in the kInitCheck variable
+ "../../../../third_party/libwebrtc/webrtc/common_audio/vad/webrtc_vad.c", # Because of name clash in the kInitCheck variable
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/acm2/codec_manager.cc", # Because of duplicate IsCodecRED/etc
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/g722/g722_decode.c", # Because of name clash in the saturate function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/g722/g722_encode.c", # Because of name clash in the saturate function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/isac/fix/source/decode_plc.c", # Because of name clash in the exp2_Q10_T function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.c", # Because of name clash in the exp2_Q10_T function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/isac/fix/source/pitch_filter.c", # Because of name clash in the kDampFilter variable
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/codecs/isac/fix/source/pitch_filter_c.c", # Because of name clash in the kDampFilter variable
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_coding/neteq/audio_vector.cc", # Because of explicit template specializations
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/android/audio_manager.cc", # Because of TAG redefinition
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/android/audio_record_jni.cc", # Becuse of commonly named module static vars
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/android/audio_track_jni.cc", # Becuse of commonly named module static vars
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/android/opensles_player.cc", # Because of TAG redefinition
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/linux/audio_device_pulse_linux.cc", # Because of LATE()
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc", # Because of LATE()
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_device/win/audio_device_core_win.cc", # Because of ordering assumptions in strsafe.h
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aec/echo_cancellation.cc", # Because of conflicts over 'near' on windows
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aecm/aecm_core.cc", # Because of the PART_LEN2 define
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aecm/aecm_core_c.cc", # Because of the PART_LEN2 define
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aecm/aecm_core_mips.cc", # Because of the PART_LEN2 define
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc", # Because of the PART_LEN2 define
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc", # Because of the PART_LEN2 define
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/agc/legacy/analog_agc.c", # Because of name clash in the kInitCheck variable
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/beamformer/covariance_matrix_generator.cc", # Because of needing to define _USE_MATH_DEFINES before including <cmath>
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/beamformer/covariance_matrix_generator.cc", # Because of needing to define _USE_MATH_DEFINES before including <cmath>
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc", # Because of needing to define _USE_MATH_DEFINES before including <cmath>
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/echo_cancellation_impl.cc", # Because of name clash in the MapError function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/echo_control_mobile_impl.cc", # Because of name clash in the MapError function
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc", # Because of kAlpha
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/gain_control_impl.cc", # Because of name clash in the Handle typedef
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/noise_suppression_impl.cc", # Because of name clash in the Handle typedef
+ "../../../../third_party/libwebrtc/webrtc/modules/audio_processing/rms_level.cc", # Because of name clash in the kMinLevel variable
+ "../../../../third_party/libwebrtc/webrtc/modules/congestion_controller/trendline_estimator.cc", # Because of name clash in kDeltaCounterMax
+ "../../../../third_party/libwebrtc/webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.cc", # Because base/logging.h uses #ifndef LOG before defining anything
+ "../../../../third_party/libwebrtc/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.cc", # Because of duplicate definitions of static consts against remote_bitrate_estimator_abs_send_time.cc
+ "../../../../third_party/libwebrtc/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc", # Because of identically named functions and vars between flexfec_receiver.cc and flexfec_sender.cc in an anonymous namespaces
+ "../../../../third_party/libwebrtc/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc", # Because of identically named functions and vars between tmmbr.cc and tmmbn.cc in an anonymous namespaces
+ "../../../../third_party/libwebrtc/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc", # Because of identically named functions and vars between tmmbr.cc and tmmbn.cc in an anonymous namespaces
+ "../../../../third_party/libwebrtc/webrtc/modules/rtp_rtcp/source/ulpfec_generator.cc", # Because of identically named constant kRedForFecHeaderLength in an anonymous namespace
+ "../../../../third_party/libwebrtc/webrtc/modules/video_capture/windows/device_info_ds.cc", # Because of the MEDIASUBTYPE_HDYC variable
+ "../../../../third_party/libwebrtc/webrtc/modules/video_capture/windows/help_functions_ds.cc", # Because of initguid.h
+ "../../../../third_party/libwebrtc/webrtc/modules/video_capture/windows/sink_filter_ds.cc", # Because of the MEDIASUBTYPE_HDYC variable and initguid.h
+ "../../../../third_party/libwebrtc/webrtc/video/overuse_frame_detector.cc", # Because of name clash with call_stats.cc on kWeightFactor
+]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ DIRS += ["../../../../third_party/pipewire/libpipewire"]
+
+GN_DIRS += ["../../../../third_party/libwebrtc/webrtc"]
+
+gn_vars_copy = gn_vars.copy()
+
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].variables = gn_vars_copy
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].mozilla_flags = [
+ "-fobjc-arc",
+ "-mfpu=neon",
+ "-msse2",
+]
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].gn_target = "//:webrtc"
+# We allow warnings for third-party code that can be updated from upstream.
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].sandbox_vars["COMPILE_FLAGS"] = {
+ "WARNINGS_AS_ERRORS": []
+}
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].sandbox_vars[
+ "FINAL_LIBRARY"
+] = "webrtc"
+GN_DIRS[
+ "../../../../third_party/libwebrtc/webrtc"
+].non_unified_sources += webrtc_non_unified_sources
+GN_DIRS["../../../../third_party/libwebrtc/webrtc"].write_mozbuild_vars[
+ "INCLUDE_TK_CFLAGS_DIRS"
+] = ["third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn"]