0
Files
src/build
Junji Watanabe 59eb26282d siso: Replace thin archives with -start-lib/-end-lib in rspfile for rust link
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}
2025-03-03 20:34:50 -08:00
..
2024-08-06 16:00:03 +00:00
2025-02-27 03:12:10 -08:00
2025-02-25 20:38:16 -08:00
2024-12-03 02:17:15 +00:00
2025-02-27 23:01:48 -08:00
2025-01-29 14:51:12 -08:00
2025-02-27 03:12:10 -08:00
2024-06-06 00:55:30 +00:00
2024-06-06 00:55:30 +00:00

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 all BUILD.gn files.
  • //build/secondary - An overlay for BUILD.gn files. Enables adding BUILD.gn to directories that live in sub-repositories.
  • //build_overrides - Refer to //build_overrides/README.md.

Docs