在package/rust/rust.mk下修改宏定义HOST_RUST_CONFIGURE_CMDS
bash
define HOST_RUST_CONFIGURE_CMDS
( \
echo '[build]'; \
echo 'target = ["$(RUSTC_TARGET_NAME)"]'; \
echo 'cargo = "$(HOST_RUST_BIN_DIR)/cargo/bin/cargo"'; \
echo 'rustc = "$(HOST_RUST_BIN_DIR)/rustc/bin/rustc"'; \
echo 'python = "$(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR)"'; \
echo 'submodules = false'; \
echo 'vendor = true'; \
echo 'extended = true'; \
echo 'tools = ["cargo"]'; \
echo 'compiler-docs = false'; \
echo 'docs = false'; \
echo 'verbose = $(HOST_RUST_VERBOSITY)'; \
echo 'local-rebuild = true'; \
echo '[install]'; \
echo 'prefix = "$(HOST_DIR)"'; \
echo 'sysconfdir = "$(HOST_DIR)/etc"'; \
echo '[rust]'; \
echo 'channel = "stable"'; \
echo 'musl-root = "$(STAGING_DIR)"' ; \
echo '[target.$(RUSTC_TARGET_NAME)]'; \
echo 'cc = "$(TARGET_CROSS)gcc"'; \
echo '[llvm]'; \
echo 'download-ci-llvm = false'; \
echo 'ninja = false'; \
echo 'ldflags = "$(HOST_LDFLAGS)"'; \
) > $(@D)/config.toml
# 修正 LLVM targets,禁止实验性目标
$(SED) '/^\[llvm\]/a targets = "AArch64;ARM;X86"' $(@D)/config.toml
$(SED) '/^\[llvm\]/a experimental-targets = ""' $(@D)/config.toml
endef