Closed Bug 1954903 Opened 1 month ago Closed 4 days ago

Allow to use system libraries for gbm/drm/PipeWire instead of bundled

Categories

(Core :: WebRTC, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
138 Branch
Tracking Status
firefox138 --- affected
firefox139 --- fixed

People

(Reporter: jgrulich, Assigned: jgrulich)

Details

Attachments

(6 files, 2 obsolete files)

We currently bundle gbm/drm/pipewire libraries for screencast/camera support in WebRTC, but it would be beneficial to have an option to use system libraries.

Regenerate moz.build files for the special handling in gn_processor.py
for gbm, drm and PipeWire libraries.

Also remove libwebrtc/third_party/[gbm,drm,pipewire] libs for which we
now have a special handling in gn_processor.py.

Generation command:
./mach python build/gn_processor.py
dom/media/webrtc/third_party_build/gn-configs/webrtc.json

We were using libepoxy only for GL/EGL defines, but we can use GL/EGL
headers directly.

This is a simple backport of an WebRTC upstream change and also update
to moz.build files to pickup the drop of libepoxy.

Upstream commit: 839b657b184b1afa563f6456b6caeac7c25dcb23

Assignee: nobody → jgrulich
Status: NEW → ASSIGNED
Attachment #9472892 - Attachment description: WIP: Bug 1954903 - Update libwebrtc GN configs and regenerate moz.build files → Bug 1954903 - Update libwebrtc GN configs and regenerate moz.build files
Attachment #9472893 - Attachment description: WIP: Bug 1954903 - Drop dependency on libepoxy from libwebrtc → Bug 1954903 - Drop dependency on libepoxy from libwebrtc
Attachment #9472889 - Attachment description: WIP: Bug 1954903 - Allow to use system gbm libs instead of bundled → Bug 1954903 - Allow to use system gbm libs instead of bundled r=stransky,mjf
Attachment #9472890 - Attachment description: WIP: Bug 1954903 - Allow to use system drm libs instead of bundled → Bug 1954903 - Allow to use system drm libs instead of bundled r=stransky,mjf
Attachment #9472891 - Attachment description: WIP: Bug 1954903 - Allow to use system PipeWire libs instead of bundled → Bug 1954903 - Allow to use system PipeWire libs instead of bundled r=stransky,mjf

We already include main <pipewire/pipewire.h> header, which includes all
the PipeWire headers, making <pipewire/core.h> to be included twice.

This breaks Firefox builds, where using system libraries we have to list
all system headers, making Firefox to unnecessarily list "core.h" header
in the list, while "pipewire.h" should be enough.

This is a simple backport of an WebRTC upstream change.
Upstream commit: 537158885bc60ffe64c2c0c8a7c89d74cb7c105b

Attachment #9472892 - Attachment description: Bug 1954903 - Update libwebrtc GN configs and regenerate moz.build files → Bug 1954903 - Update libwebrtc GN configs r=mjf

Regenerate moz.build files for the special handling in gn_processor.py
for gbm, drm and PipeWire libraries and for updates in GN config files.

Generation command:
./mach python build/gn_processor.py
dom/media/webrtc/third_party_build/gn-configs/webrtc.json

Attachment #9472893 - Attachment description: Bug 1954903 - Drop dependency on libepoxy from libwebrtc → Bug 1954903 - Drop dependency on libepoxy from libwebrtc r=pehrsons,mjf
Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/ff19ec147fca WebRTC backport: PipeWire camera: drop redundant <pipewire/core.h> include r=pehrsons,webrtc-reviewers
Status: ASSIGNED → RESOLVED
Closed: 26 days ago
Resolution: --- → FIXED
Target Milestone: --- → 138 Branch
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

With removal of libepoxy usage from WebRTC, we need GL/EGL headers to be
available during the build.

Attachment #9477662 - Attachment description: Bug 1954903 - Add GL/EGL headers to Ubuntu CI runners r=mjf,glandium → Bug 1954903 - Add GL/EGL headers to Ubuntu CI runners and sysroot r=mjf,glandium
Attachment #9477662 - Attachment is obsolete: true
Attachment #9472893 - Attachment is obsolete: true
Pushed by jgrulich@redhat.com: https://hg.mozilla.org/integration/autoland/rev/473cee020c76 Allow to use system gbm libs instead of bundled r=stransky,mjf https://hg.mozilla.org/integration/autoland/rev/9b7841236572 Allow to use system drm libs instead of bundled r=stransky,mjf https://hg.mozilla.org/integration/autoland/rev/792f94b3567b Allow to use system PipeWire libs instead of bundled r=stransky,mjf https://hg.mozilla.org/integration/autoland/rev/506d4efaf2dc Update libwebrtc GN configs r=webrtc-reviewers,mjf https://hg.mozilla.org/integration/autoland/rev/cae5ddd30f59 Regenerate moz.build files r=mjf,webrtc-reviewers
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: