commit | 36490895c5d560cdf9018c46c3ca89ea20e4d8a3 | [log] [tgz] |
---|---|---|
author | Arthur Sonzogni <arthursonzogni@chromium.org> | Tue Oct 03 08:48:32 2023 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Oct 03 08:59:53 2023 |
tree | 2c2117ad9b77e7fbf6626e437ba7c7a1a15ce3e7 | |
parent | 1dff56424cd872867708c3514e18391c5e4ac318 [diff] |
Move partition_alloc into a "partition_alloc" dir. This patch moves: "base/allocator/partition_allocator/..." into: "base/allocator/partition_allocator/src/partition_alloc/...". This tried to keep it as minimal as possible. Interesting follow-ups will happen outside of the rename. Context: -------- To protect against UAF, we want to make the PartitionAlloc library embeddable by some third_parties: pdfium, angle, dawn, swiftshader, ... PartitionAlloc do not declare yet where is its "include_dir". It means third parties must put the library files under "base/allocator/partition_allocator", even if they do not use "base" and would have liked to put it inside their "third_party" directory. We would like to make PartitionAllocator behave like a regular library. It should be importable using: #include <partition_alloc/...> That's why we are using: "src/partition_alloc" This implements step 1 of: 1. Move from files under `src/partition_alloc/` 2. Declare PartitionAlloc GN include_dirs. 3. Update the dependants to use #include <partition_alloc/...> Bug: chromium:1467773 Cq-Include-Trybots: luci.chromium.try:linux-chromeos-siso-rel Cq-Include-Trybots: luci.chromium.try:linux-lacros-siso-rel Cq-Include-Trybots: luci.chromium.try:linux-siso-rel Cq-Include-Trybots: luci.chromium.try:linux-wayland-siso-rel Cq-Include-Trybots: luci.chromium.try:linux-wayland-siso-rel Cq-Include-Trybots: luci.chromium.try:linux_chromium_asan_siso_rel_ng Cq-Include-Trybots: luci.chromium.try:win-siso-rel Change-Id: I1b25cdc9f8077a7041221f51441c72b04b800dcc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4812338 Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Yuki Shiino <yukishiino@chromium.org> Owners-Override: danakj <danakj@chromium.org> Reviewed-by: danakj <danakj@chromium.org> Cr-Commit-Position: refs/heads/main@{#1204530} NOKEYCHECK=True GitOrigin-RevId: 0bcc023b8cdbc073aa5c48db373810db3f765c87
This directory is used to allow different products to customize settings for repos that are DEPS'ed in or shared.
For example: V8 could be built on its own (in a “standalone” configuration), and it could be built as part of Chromium. V8 might define a top-level target, //v8:d8 (a simple executable), that should only be built in the standalone configuration. To figure out whether or not it should be in a standalone configuration, v8 can create a file, build_overrides/v8.gni, that contains a variable, build_standalone_d8 = true
. and import it (as import(“//build_overrides/v8.gni”) from its top-level BUILD.gn file.
Chromium, on the other hand, might not need to build d8, and so it would create its own build_overrides/v8.gni file, and in it set build_standalone_d8 = false
.
The two files should define the same set of variables, but the values can vary as appropriate to the needs of the two different builds.
The build.gni file provides a way for projects to override defaults for variables used in //build itself (which we want to be shareable between projects).
TODO(crbug.com/588513): Ideally //build_overrides and, in particular, //build_overrides/build.gni should go away completely in favor of some mechanism that can re-use other required files like //.gn, so that we don't have to keep requiring projects to create a bunch of different files to use GN.