doc: it's valid to use OUT_DIR for intermediate artifacts

Eg, storing `.o` files in OUT_DIR is ok! See
https://github.com/rust-lang/cargo/issues/9661#issuecomment-1021029381
for some discussion.
This commit is contained in:
Aleksey Kladov 2022-01-25 13:22:48 +03:00
parent 9978fd72c8
commit 0468cd6db4
2 changed files with 6 additions and 6 deletions

View File

@ -69,9 +69,9 @@ the source directory of the build scripts package.
### Outputs of the Build Script ### Outputs of the Build Script
Build scripts may save any output files in the directory specified in the Build scripts may save any output files or intermediate artifacts in the
[`OUT_DIR` environment variable][build-env]. Scripts should not modify any directory specified in the [`OUT_DIR` environment variable][build-env]. Scripts
files outside of that directory. should not modify any files outside of that directory.
Build scripts communicate with Cargo by printing to stdout. Cargo will Build scripts communicate with Cargo by printing to stdout. Cargo will
interpret each line that starts with `cargo:` as an instruction that will interpret each line that starts with `cargo:` as an instruction that will

View File

@ -318,9 +318,9 @@ let out_dir = env::var("OUT_DIR").unwrap();
* `CARGO_CFG_TARGET_POINTER_WIDTH=64` — The CPU [pointer width]. * `CARGO_CFG_TARGET_POINTER_WIDTH=64` — The CPU [pointer width].
* `CARGO_CFG_TARGET_ENDIAN=little` — The CPU [target endianness]. * `CARGO_CFG_TARGET_ENDIAN=little` — The CPU [target endianness].
* `CARGO_CFG_TARGET_FEATURE=mmx,sse` — List of CPU [target features] enabled. * `CARGO_CFG_TARGET_FEATURE=mmx,sse` — List of CPU [target features] enabled.
* `OUT_DIR` — the folder in which all output should be placed. This folder is * `OUT_DIR` — the folder in which all output and intermediate artifacts should
inside the build directory for the package being built, and it is be placed. This folder is inside the build directory for the
unique for the package in question. package being built, and it is unique for the package in question.
* `TARGET` — the target triple that is being compiled for. Native code should be * `TARGET` — the target triple that is being compiled for. Native code should be
compiled for this triple. See the [Target Triple] description compiled for this triple. See the [Target Triple] description
for more information. for more information.