#!/usr/bin/env bash # Builds documentation for all target triples that we have a registered URL for # in liblibc. This scrapes the list of triples to document from `src/lib.rs` # which has a bunch of `html_root_url` directives we pick up. set -ex rm -rf target/doc mkdir -p target/doc dox() { local arch=$1 local target=$2 echo "documenting ${arch}" if [ "$CI" != "" ]; then rustup target add "${target}" || true fi rm -rf "target/doc/${arch}" mkdir "target/doc/${arch}" export RUSTFLAGS="--cfg core_arch_docs" export RUSTDOCFLAGS="--cfg core_arch_docs" cargo build --verbose --target "${target}" --manifest-path crates/core_arch/Cargo.toml cargo build --verbose --target "${target}" --manifest-path crates/std_detect/Cargo.toml rustdoc --verbose --target "${target}" \ -o "target/doc/${arch}" crates/core_arch/src/lib.rs \ --edition=2018 \ --crate-name core_arch \ --library-path "target/${target}/debug/deps" \ --cfg core_arch_docs rustdoc --verbose --target "${target}" \ -o "target/doc/${arch}" crates/std_detect/src/lib.rs \ --edition=2018 \ --crate-name std_detect \ --library-path "target/${target}/debug/deps" \ --extern cfg_if="$(ls target/"${target}"/debug/deps/libcfg_if-*.rlib)" \ --extern libc="$(ls target/"${target}"/debug/deps/liblibc-*.rlib)" \ --cfg core_arch_docs } dox i686 i686-unknown-linux-gnu dox x86_64 x86_64-unknown-linux-gnu dox arm armv7-unknown-linux-gnueabihf dox aarch64 aarch64-unknown-linux-gnu dox powerpc powerpc-unknown-linux-gnu dox powerpc64le powerpc64le-unknown-linux-gnu dox mips mips-unknown-linux-gnu dox mips64 mips64-unknown-linux-gnuabi64 dox wasm32 wasm32-unknown-unknown