Closed as duplicate of#140922
Closed as duplicate of#140922
Description
Summary
Document for all configured targets should be installed, since items in std may be different in different targets (e.g. std::os
).
Expected behaviour
Document for all configured targets are installed.
Actual behaviour
Only document for one target is installed
Bootstrap configuration (bootstrap.toml)
It is actually a modified configuration from nixpkgs with --enable-docs
and --enable-compiler-docs
options.
# Use different pre-set defaults than the global defaults.
#
# See `src/bootstrap/defaults` for more information.
# Note that this has no default value (x.py uses the defaults in `config.example.toml`).
profile = 'dist'
[llvm]
# Whether to build LLVM as a dynamically linked library (as opposed to statically linked).
# Under the hood, this passes `--shared` to llvm-config.
# NOTE: To avoid performing LTO multiple times, we suggest setting this to `true` when `thin-lto` is enabled.
link-shared = true
[build]
# Build triple for the pre-compiled snapshot compiler. If `rustc` is set, this must match its host
# triple (see `rustc --version --verbose`; cross-compiling the rust build system itself is NOT
# supported). If `rustc` is unset, this must be a platform with pre-compiled host tools
# (https://doc.rust-lang.org/nightly/rustc/platform-support.html). The current platform must be
# able to run binaries of this build triple.
#
# If `rustc` is present in path, this defaults to the host it was compiled for.
# Otherwise, `x.py` will try to infer it from the output of `uname`.
# If `uname` is not found in PATH, we assume this is `x86_64-pc-windows-msvc`.
# This may be changed in the future.
build = 'x86_64-unknown-linux-gnu'
# Which triples to produce a compiler toolchain for. Each of these triples will be bootstrapped from
# the build triple themselves. In other words, this is the list of triples for which to build a
# compiler that can RUN on that triple.
#
# Defaults to just the `build` triple.
host = ['x86_64-unknown-linux-gnu']
# Which triples to build libraries (core/alloc/std/test/proc_macro) for. Each of these triples will
# be bootstrapped from the build triple themselves. In other words, this is the list of triples for
# which to build a library that can CROSS-COMPILE to that triple.
#
# Defaults to `host`. If you set this explicitly, you likely want to add all
# host triples to this list as well in order for those host toolchains to be
# able to compile programs for their native target.
target = ['x86_64-unknown-linux-gnu', 'wasm32-unknown-unknown']
# Instead of downloading the src/stage0 version of Cargo specified, use
# this Cargo binary instead to build all Rust code
# If you set this, you likely want to set `rustc` as well.
cargo = '/nix/store/ymi45lizycin4inrg7mxijkl2l4bdz1q-cargo-bootstrap-1.83.0/bin/cargo'
# Instead of downloading the src/stage0 version of the compiler
# specified, use this rustc binary instead as the stage0 snapshot compiler.
# If you set this, you likely want to set `cargo` as well.
rustc = '/nix/store/idwcpy9i1xslpz2bbdal284fn1habbaw-rustc-bootstrap-wrapper-1.83.0/bin/rustc'
# Whether to build documentation by default. If false, rustdoc and
# friends will still be compiled but they will not be used to generate any
# documentation.
#
# You can still build documentation when this is disabled by explicitly passing paths,
# e.g. `x doc library`.
docs = true
# Indicate whether to build compiler documentation by default.
# You can still build documentation when this is disabled by explicitly passing a path: `x doc compiler`.
compiler-docs = true
# Indicate whether the vendored sources are used for Rust dependencies or not.
#
# Vendoring requires additional setup. We recommend using the pre-generated source tarballs if you
# want to use vendoring. See
# https://forge.rust-lang.org/infra/other-installation-methods.html#source-code.
vendor = true
# Set of tools to be included in the installation.
#
# If `extended = false`, the only one of these built by default is rustdoc.
#
# If `extended = true`, they are all included.
#
# If any enabled tool fails to build, the installation fails.
tools = ['rustc', 'rustdoc', 'rust-analyzer-proc-macro-srv']
# "cargo",
# "clippy",
# "rustdoc",
# "rustfmt",
# "rust-analyzer",
# "rust-analyzer-proc-macro-srv",
# "analysis",
# "src",
# "wasm-component-ld",
# "miri", "cargo-miri" # for dev/nightly channels
#]
# Build the profiler runtime (required when compiling with options that depend
# on this runtime, such as `-C profile-generate` or `-C instrument-coverage`).
profiler = true
# Arguments passed to the `./configure` script, used during distcheck. You
# probably won't fill this in but rather it's filled in by the `./configure`
# script. Useful for debugging.
configure-args = ['--prefix=/home/reid/Source/nixpkgs-rustc-doc/build/outputs/out', '--sysconfdir=/home/reid/Source/nixpkgs-rustc-doc/build/outputs/out/etc', '--release-channel=stable', '--set=build.rustc=/nix/store/idwcpy9i1xslpz2bbdal284fn1habbaw-rustc-bootstrap-wrapper-1.83.0/bin/rustc', '--set=build.cargo=/nix/store/ymi45lizycin4inrg7mxijkl2l4bdz1q-cargo-bootstrap-1.83.0/bin/cargo', '--tools=rustc,rustdoc,rust-analyzer-proc-macro-srv', '--enable-rpath', '--enable-vendor', '--disable-lld', '--build=x86_64-unknown-linux-gnu', '--host=x86_64-unknown-linux-gnu', '--target=x86_64-unknown-linux-gnu,wasm32-unknown-unknown', '--set=target.x86_64-unknown-linux-gnu.cc=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.cc=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.cc=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.linker=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.linker=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.linker=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc', '--set=target.x86_64-unknown-linux-gnu.cxx=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/c++', '--set=target.x86_64-unknown-linux-gnu.cxx=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/c++', '--set=target.x86_64-unknown-linux-gnu.cxx=/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/c++', '--set=target.x86_64-unknown-linux-gnu.crt-static=false', '--set=target.x86_64-unknown-linux-gnu.crt-static=false', '--set=target.x86_64-unknown-linux-gnu.crt-static=false', '--enable-llvm-link-shared', '--set=target.x86_64-unknown-linux-gnu.llvm-config=/nix/store/6pxb0i74lizr4s7qkjfq1spqn3y93zsn-llvm-19.1.5-dev/bin/llvm-config', '--set=target.x86_64-unknown-linux-gnu.llvm-config=/nix/store/6pxb0i74lizr4s7qkjfq1spqn3y93zsn-llvm-19.1.5-dev/bin/llvm-config', '--set=target.x86_64-unknown-linux-gnu.llvm-config=/nix/store/6pxb0i74lizr4s7qkjfq1spqn3y93zsn-llvm-19.1.5-dev/bin/llvm-config', '--enable-profiler', '--enable-docs', '--enable-compiler-docs']
[install]
# Where to install the generated toolchain. Must be an absolute path.
prefix = '/home/reid/Source/nixpkgs-rustc-doc/build/outputs/out'
# Where to install system configuration files.
# If this is a relative path, it will get installed in `prefix` above
sysconfdir = '/home/reid/Source/nixpkgs-rustc-doc/build/outputs/out/etc'
[rust]
# The "channel" for the Rust build to produce. The stable/beta channels only
# allow using stable features, whereas the nightly and dev channels allow using
# nightly features
#
# If using tarball sources, default value for `channel` is taken from the `src/ci/channel` file;
# otherwise, it's "dev".
channel = 'stable'
# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
# platforms to ensure that the compiler is usable by default from the build
# directory (as it links to a number of dynamic libraries). This may not be
# desired in distributions, for example.
rpath = true
# Indicates whether LLD will be compiled and made available in the sysroot for rustc to execute, and
# whether to set it as rustc's default linker on `x86_64-unknown-linux-gnu`. This will also only be
# when *not* building an external LLVM (so only when using `download-ci-llvm` or building LLVM from
# the in-tree source): setting `llvm-config` in the `[target.x86_64-unknown-linux-gnu]` section will
# make this default to false.
lld = false
[target.x86_64-unknown-linux-gnu]
# C compiler to be used to compile C code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
# See `src/bootstrap/cc_detect.rs` for details.
cc = '/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc'
# C++ compiler to be used to compile C++ code (e.g. LLVM and our LLVM shims).
# This is only used for host targets.
# See `src/bootstrap/cc_detect.rs` for details.
cxx = '/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/c++'
# Linker to be used to bootstrap Rust code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
# Setting this will override the `use-lld` option for Rust code when targeting MSVC.
linker = '/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/cc'
# Path to the `llvm-config` binary of the installation of a custom LLVM to link
# against. Note that if this is specified we don't compile LLVM at all for this
# target.
llvm-config = '/nix/store/6pxb0i74lizr4s7qkjfq1spqn3y93zsn-llvm-19.1.5-dev/bin/llvm-config'
# Force static or dynamic linkage of the standard library for this target. If
# this target is a host for rustc, this will also affect the linkage of the
# compiler itself. This is useful for building rustc on targets that normally
# only use static libraries. If unset, the target's default linkage is used.
crt-static = false
[target.wasm32-unknown-unknown]
[dist]
Operating system
NixOS 25.05