tree 79f5e90c78b4e737302e24baa260efa959bd5807
parent fae280eabe5d31accc53100137459ece19a7a295
author David 'Digit' Turner <digit@google.com> 1690285011 +0200
committer GN LUCI <gn-scoped@luci-project-accounts.iam.gserviceaccount.com> 1690374473 +0000

Ninja: Always pass linker flags to rlib-generating command.

This is a partial rollback of [1] to restore all linker args in
the Ninja command that builds Rust rlib artifacts.

The Fuchsia build system supports remote builders with a wrapper
script that looks at the command-line arguments of the rustc
invocation to determine which input files to send to remote
builders. This is done with a custom toolchain tool() definition.

For example, the final command looks like:

```
<wrapper_script> <wrapper_args> -- <rustc_invocation>
```

And it is crucial that `<rustc_invocation>` lists all linker inputs
(even with `-Lnative=<dir>` and `-Clink-arg=libfoo.a`) to ensure
they can be detected properly.

A recent GN change [1] removed such inputs, which broke the Fuchsia
build (or more accurately, prevents rolling upstream GN into the
Fuchsia tree). For more information, see https://fxbug.dev/130206.

Note that this does not revert the CL entirely, in particular to keep
the fix  for `framework_dirs` as described in the original bug
description.

+ Update variables.cc to avoid losing a docs/reference.md change
  that was applied manually in [1].

[1] https://gn-review.googlesource.com/c/gn/+/15580

Fixed: 340
Change-Id: Ibd65494a9b180037f21a666da5e6d905751b9c61
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/15760
Commit-Queue: David Turner <digit@google.com>
Reviewed-by: Takuto Ikuta <tikuta@google.com>
