
Currently, no_default_deps becomes false when libcxx_is_shared = false around https://source.chromium.org/chromium/chromium/src/+/main:buildtools/third_party/libc++/BUILD.gn;l=220;drc=a98c174e923d5f7c208565a9fdcd6ec613f9526d and `no_default_deps = false` adds deps to libc++ module in libc++ build in https://source.chromium.org/chromium/chromium/src/+/main:build/config/BUILDCONFIG.gn;l=632;drc=dd08a0dd52e4239b53b45383b052a2bac44814c6 Then libc++ build with libc++ modules is currently broken like https://ci.chromium.org/ui/p/chromium/builders/ci/linux-modules-compile-fyi-rel/6579/overview for the toolchain where libcxx_is_shared = false (e.g. clang_x64_with_system_allocator). So to control libc++ modules deps separately, this introduces another flag `use_libcxx_modules` to remove deps to libc++ modules from libc++ target. Bug: 40440396 Change-Id: I51deb88f73480d2b92696371b6d2c776e279766d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6256966 Reviewed-by: Junji Watanabe <jwata@google.com> Commit-Queue: Takuto Ikuta <tikuta@chromium.org> Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Cr-Commit-Position: refs/heads/main@{#1424875}
About
//build
contains:
- Core GN templates and configuration
- Core Python build scripts
Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
v8, etc), it should be kept as self-contained as possible by not referring
to files outside of it. Some exceptions exist (//testing
, select
//third_party
subdirectories), but new dependencies tend to break these other
projects, and so should be avoided.
Changes to //build
should be landed in the Chromium repo. They will then be
replicated to the stand-alone build repo
by the gsubtreed tool.
Note: You can find all directories already available through gsubtreed in the
list of all chromium repos.
Contents
//build/config
- Common templates via.gni
files.//build/toolchain
- GN toolchain definitions.Other .py files
- Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.
Files referenced by //.gn
:
//build/BUILDCONFIG.gn
- Included by allBUILD.gn
files.//build/secondary
- An overlay forBUILD.gn
files. Enables addingBUILD.gn
to directories that live in sub-repositories.//build_overrides
- Refer to //build_overrides/README.md.