Source code

Revision control

Copy as Markdown

Other Tools

Name: Abseil
Short Name: absl
License: Apache-2.0
License File: LICENSE
Version: N/A
Revision: de672d07fefc25c4e431052012b68a12c75494aa
Update Mechanism: Manual
Security Critical: yes
Shipped: yes
Description:
This directory contains the source code of Abseil for C++. This can be used by
Chromium, subject to the guidance at
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. From your source root run third_party/abseil-cpp/roll_abseil.py to download the code from the Abseil git repository and apply chromium specific patches.
2. Update BUILD.gn files to match changes in BUILD.bazel
If there is a new test, add dependcy on it from absl_tests in the
third_party/abseil-cpp/BUILD.gn target
3. From your source root run third_party/abseil-cpp/generate_def_files.py to
regenerate Windows symbol definition files.
NOTE: This must be run from a non-Windows host that has target_os=["win"] in its .gclient
4. If abseil adds new features, update styleguide/c++/c++-features.md and add headers for that feature into exclude list in root DEPS
5. Verify your roll no-ops upon `third_party/abseil-cpp/roll_abseil.py --no-branch --no-pull --no-upload --revision <Revision>`
How to review a roll:
1. `git cl patch <CL number>`, then verify that `third_party/abseil-cpp/roll_abseil.py --no-branch --no-pull --no-upload --revision <Revision>`
no-ops.
2. Check that changes to the .def files exist, or whether there is a comment in the CL description calling out they don't change.
3. Check that every change in BUILD.bazel is matched by a counterpart in BUILD.gn.
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 have been translated to BUILD.gn files.
* Patches from //third_party/abseil-cpp/patches have been applied.
* Increment this number to silence presubmits about modifying files in
third_party when regenerating absl .def files: 4