Closed Bug 1795982 Opened 2 years ago Closed 2 years ago

Update libwebrtc's third_party (for abseil-cpp AnyInvocable)

Categories

(Core :: WebRTC, task, P2)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: mjf, Assigned: mjf)

References

Details

Attachments

(5 files)

Upcoming commit 4b97928b30 from libwebrtc requires absl::AnyInvocable. The version of libwebrtc/third_party used with 4b97928b30 is 4b0c11418758f8764e3a837bcf26b553eaace9a5.

Assignee: nobody → mfroman
Blocks: 1790097
Severity: -- → S3
Priority: -- → P2

More code in the new libwebrtc/third_party update uses throw_delegate, which
until now we've been able to carefully avoid. However, in most cases, it
appears that ABSL_HAVE_EXCEPTIONS is turned off. This is good because throwing
exceptions isn't enabled, but upstream aborts instead. A static_assert was
added in throw_delegate.cc to verify that no exceptions can be thrown.

Depends on D159739

Depends on D159740

abseil-cpp/absl/strings/string_view.h has multiple usages that follow a
pattern similar to:
return ABSL_HARDENING_ASSERT(i < size()), ptr_[i];

This causes Mozilla builds to fail because of -Wcomma warnings. For
this file, we'll turn off that warning.

Depends on D159741

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

For posterity, I did roughly the following:

git clone https://github.com/mjfroman/moz-libwebrtc-third-party
git checkout build-359f0db10c8 # make sure we can see commits
git branch build-4b0c1141875 359f0db10c8
git checkout build-4b0c1141875
git format-patch -k 359f0db10c8..build-359f0db10c8
git am *.patch # applies to branch build-4b0c1141875
rm *.patch
git rebase 4b0c1141875
# resolve potential rebase conflicts
git push origin build-4b0c1141875
# cd to copy of elm
# the next step can take ~10min
(cd dom/media/webrtc/third_party_build && \
python3 vendor-libwebrtc.py --from-github https://github.com/mjfroman/moz-libwebrtc-third-party --commit build-4b0c1141875 third_party)
hg revert --include "third_party/libwebrtc/third_party/**moz.build" third_party/libwebrtc/third_party
hg commit -m "vendor 4b0c1141875"
hg status -nd | xargs hg rm
hg status -nu | xargs hg add
hg amend
# fix any build issues in elm, then push to review and land
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/mozilla-central/rev/93f20ddfa566
pt1 - vendor third_party/libwebrtc/third_party (4b0c11418758f8764e3a837bcf26b553eaace9a5) r=ng
https://hg.mozilla.org/mozilla-central/rev/fc7c8942b7c0
pt2 - Tweak upstream gn files for Firefox build. r=ng
https://hg.mozilla.org/mozilla-central/rev/4f45e28949f2
pt3 - re-enable building absl/base:throw_delegate for missing ThrowStdOutOfRange. r=ng
https://hg.mozilla.org/mozilla-central/rev/ab7c29232672
pt3 - re-enable building absl/base:throw_delegate for missing ThrowStdOutOfRange. r=ng - moz.build file updates
https://hg.mozilla.org/mozilla-central/rev/7577046864e6
pt5 - turn off -Wcomma warning for third_party/libwebrtc/third_party/abseil-cpp/absl/strings/string_view.h r=ng
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: