diff options
Diffstat (limited to 'dom/media/webrtc/moz.build')
-rw-r--r-- | dom/media/webrtc/moz.build | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/dom/media/webrtc/moz.build b/dom/media/webrtc/moz.build new file mode 100644 index 0000000000..cb8e363faa --- /dev/null +++ b/dom/media/webrtc/moz.build @@ -0,0 +1,132 @@ +# -*- 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/. +include("/dom/media/webrtc/third_party_build/webrtc.mozbuild") + +with Files("**"): + BUG_COMPONENT = ("Core", "WebRTC: Audio/Video") + +with Files("PeerIdentity.*"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") + +with Files("common/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("jsep/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("libwebrtcglue/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("transportbridge/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("jsapi/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("sdp/**"): + BUG_COMPONENT = ("Core", "WebRTC: Signaling") +with Files("third_party_build/**"): + BUG_COMPONENT = ("Core", "WebRTC") + + +EXPORTS += [ + "CubebDeviceEnumerator.h", + "MediaEngine.h", + "MediaEngineFake.h", + "MediaEnginePrefs.h", + "MediaEngineSource.h", + "MediaTrackConstraints.h", + "SineWaveGenerator.h", +] + +SOURCES += [ + "CubebDeviceEnumerator.cpp", +] + +if CONFIG["MOZ_WEBRTC"]: + EXPORTS += [ + "MediaEngineRemoteVideoSource.h", + "MediaEngineWebRTC.h", + "MediaEngineWebRTCAudio.h", + ] + EXPORTS.mozilla.dom += ["RTCIdentityProviderRegistrar.h"] + UNIFIED_SOURCES += [ + "MediaEngineRemoteVideoSource.cpp", + "MediaEngineWebRTCAudio.cpp", + "RTCCertificate.cpp", + "RTCIdentityProviderRegistrar.cpp", + ] + # MediaEngineWebRTC.cpp needs to be built separately. + SOURCES += [ + "MediaEngineWebRTC.cpp", + ] + PREPROCESSED_IPDL_SOURCES += [ + "PWebrtcGlobal.ipdl", + ] + LOCAL_INCLUDES += [ + "..", + "/dom/base", + "/dom/media", + "/dom/media/webrtc/common", + "/dom/media/webrtc/common/browser_logging", + "/media/libyuv/libyuv/include", + "/third_party/libwebrtc", + "/third_party/libwebrtc/third_party/abseil-cpp", + ] + +if CONFIG["MOZ_WEBRTC_SIGNALING"]: + DIRS += [ + "common", + "jsapi", + "jsep", + "libwebrtcglue", + "sdp", + "transportbridge", + "/third_party/libwebrtc", + ] + + if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + DIRS += [ + "/third_party/drm/", + "/third_party/drm/libdrm", + "/third_party/gbm/", + "/third_party/gbm/libgbm", + "/third_party/libepoxy/", + "/third_party/pipewire/libpipewire", + ] + + # Avoid warnings from third-party code that we can not modify. + if CONFIG["CC_TYPE"] == "clang-cl": + CXXFLAGS += ["-Wno-invalid-source-encoding"] + + +PREPROCESSED_IPDL_SOURCES += [ + "PMediaTransport.ipdl", +] + +UNIFIED_SOURCES += [ + "MediaEngineFake.cpp", + "MediaEngineSource.cpp", + "MediaTrackConstraints.cpp", + "PeerIdentity.cpp", +] + +EXPORTS.mozilla += [ + "PeerIdentity.h", +] +EXPORTS.mozilla.dom += [ + "RTCCertificate.h", +] + +include("/ipc/chromium/chromium-config.mozbuild") + +# Suppress some GCC/clang warnings being treated as errors: +# - about attributes on forward declarations for types that are already +# defined, which complains about important MOZ_EXPORT attributes for +# android API types +CXXFLAGS += [ + "-Wno-error=attributes", +] + +FINAL_LIBRARY = "xul" + +# Add libFuzzer configuration directives +include("/tools/fuzzing/libfuzzer-config.mozbuild") |