summaryrefslogtreecommitdiff
path: root/chromium/third_party/webrtc/abseil-in-webrtc.md
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/webrtc/abseil-in-webrtc.md')
-rw-r--r--chromium/third_party/webrtc/abseil-in-webrtc.md13
1 files changed, 12 insertions, 1 deletions
diff --git a/chromium/third_party/webrtc/abseil-in-webrtc.md b/chromium/third_party/webrtc/abseil-in-webrtc.md
index 0541d3c7a5a..da03af07b1a 100644
--- a/chromium/third_party/webrtc/abseil-in-webrtc.md
+++ b/chromium/third_party/webrtc/abseil-in-webrtc.md
@@ -23,9 +23,11 @@ adds the first use.
* `absl::variant` and related stuff from `absl/types/variant.h`.
* The functions in `absl/algorithm/algorithm.h` and
`absl/algorithm/container.h`.
+* `absl/base/const_init.h` for mutex initialization.
* The macros in `absl/base/attributes.h`, `absl/base/config.h` and
`absl/base/macros.h`.
+
## **Disallowed**
### `absl::make_unique`
@@ -34,7 +36,7 @@ adds the first use.
### `absl::Mutex`
-*Use `rtc::CriticalSection` instead.*
+*Use `webrtc::Mutex` instead.*
Chromium has a ban on new static initializers, and `absl::Mutex` uses
one. To make `absl::Mutex` available, we would need to nicely ask the
@@ -61,3 +63,12 @@ has decided if they will change `absl::Span` to match.
These are optimized for speed, not binary size. Even `StrCat` calls
with a modest number of arguments can easily add several hundred bytes
to the binary.
+
+## How to depend on Abseil
+
+For build targets `rtc_library`, `rtc_source_set` and `rtc_static_library`,
+dependencies on Abseil need to be listed in `absl_deps` instead of `deps`.
+
+This is needed in order to support the Abseil component build in Chromium. In
+such build mode, WebRTC will depend on a unique Abseil build target what will
+generate a shared library.