blob: cb4beff264be258a8294f89848bfd5c084591560 [file] [log] [blame]
Name: Abseil
Short Name: absl
URL: https://github.com/abseil/abseil-cpp
License: Apache 2.0
License File: LICENSE
Version: 0
Revision: d39fe6cd6f5eb72dc741f17d3a143a6a5a56538a
Security Critical: yes
Description:
This directory contains the source code of Abseil for C++. This can be used by
Chromium, subject to the guidance at https://chromium-cpp.appspot.com/; it can
be used without restriction by Chromium's dependencies, except that objects
compiled into Chromium itself cannot use anything relying on
absl::base_internal::FastTypeId (see https://crbug.com/1096380).
How to update Abseil:
1. Download the code from the Abseil git repository (see URL).
2. Copy the content of the Abseil git repo to //third_party/abseil-cpp.
3. From //third_party/abseil-cpp/ launch ./rename_annotations.sh.
This script will rewrite dynamic_annotations and thread_annotations
macros and function inside Abseil in order to avoid ODR violations
and macro clashing with Chromium
(see: https://github.com/abseil/abseil-cpp/issues/122).
Local Modifications:
* absl/copts.bzl has been translated to //third_party/absl-cpp/BUILD.gn. Both
files contain lists of compiler flags in order to reduce duplication.
* All the BUILD.bazel files has been translated to BUILD.gn files.
* Functions and macros in absl/base/dynamic_annotations.{h,cc} and
absl/base/thread_annotations.h have been renamed to avoid ODR
violations and macro clashes with Chromium (see step 3).
* Patches from //third_party/abseil-cpp/patches have been applied.