
Rust steps for Windows target fails when remote-link config is enabled. When remote linking is enabled, Siso's handler generates .lib without symbol tables. lld-link doesn't support .lib without symbol tables. For solink/link steps, it works because Siso replaces .lib with -start-lib ...obj files... -end-lib file groups. This replacement is necessary for Rust steps which also use lld-link even though the Rust steps themselves run locally. This CL adds the replacement logic in rust_link_handler. This CL also moves the rust config to all platforms to share the logic between them. Bug: 381477464 Change-Id: I79a1dd43a5bb0c1b5603d24d85f8382c6a06d2c6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6317825 Commit-Queue: Junji Watanabe <jwata@google.com> Reviewed-by: Fumitoshi Ukai <ukai@google.com> Cr-Commit-Position: refs/heads/main@{#1427545}
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.