mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
mk: If local-rust is the same as the current version, then force a local-rebuild
This commit is contained in:
parent
65fb7be728
commit
c850470f73
2
configure
vendored
2
configure
vendored
@ -600,7 +600,7 @@ opt debug-assertions 0 "build with debugging assertions"
|
|||||||
opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
|
opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
|
||||||
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
|
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
|
||||||
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
|
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
|
||||||
opt local-rebuild 0 "use an installed rustc matching the current version, for rebuilds"
|
opt local-rebuild 0 "assume local-rust matches the current version, for rebuilds; implies local-rust, and is implied if local-rust already matches the current version"
|
||||||
opt llvm-static-stdcpp 0 "statically link to libstdc++ for LLVM"
|
opt llvm-static-stdcpp 0 "statically link to libstdc++ for LLVM"
|
||||||
opt rpath 1 "build rpaths into rustc itself"
|
opt rpath 1 "build rpaths into rustc itself"
|
||||||
opt stage0-landing-pads 1 "enable landing pads during bootstrap with stage0"
|
opt stage0-landing-pads 1 "enable landing pads during bootstrap with stage0"
|
||||||
|
11
mk/main.mk
11
mk/main.mk
@ -64,12 +64,21 @@ CFG_FILENAME_EXTRA=$(shell printf '%s' $(CFG_RELEASE)$(CFG_EXTRA_FILENAME) | $(C
|
|||||||
# from users enabling unstable features on the stable compiler.
|
# from users enabling unstable features on the stable compiler.
|
||||||
CFG_BOOTSTRAP_KEY=$(CFG_FILENAME_EXTRA)
|
CFG_BOOTSTRAP_KEY=$(CFG_FILENAME_EXTRA)
|
||||||
|
|
||||||
|
# If local-rust is the same as the current version, then force a local-rebuild
|
||||||
|
ifdef CFG_ENABLE_LOCAL_RUST
|
||||||
|
ifeq ($(CFG_RELEASE),\
|
||||||
|
$(shell $(S)src/etc/local_stage0.sh --print-rustc-release $(CFG_LOCAL_RUST_ROOT)))
|
||||||
|
CFG_INFO := $(info cfg: auto-detected local-rebuild $(CFG_RELEASE))
|
||||||
|
CFG_ENABLE_LOCAL_REBUILD = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# The stage0 compiler needs to use the previous key recorded in src/stage0.txt,
|
# The stage0 compiler needs to use the previous key recorded in src/stage0.txt,
|
||||||
# except for local-rebuild when it just uses the same current key.
|
# except for local-rebuild when it just uses the same current key.
|
||||||
ifdef CFG_ENABLE_LOCAL_REBUILD
|
ifdef CFG_ENABLE_LOCAL_REBUILD
|
||||||
CFG_BOOTSTRAP_KEY_STAGE0=$(CFG_BOOTSTRAP_KEY)
|
CFG_BOOTSTRAP_KEY_STAGE0=$(CFG_BOOTSTRAP_KEY)
|
||||||
else
|
else
|
||||||
CFG_BOOTSTRAP_KEY_STAGE0=$(shell grep 'rustc_key' $(S)src/stage0.txt | sed 's/rustc_key: '//)
|
CFG_BOOTSTRAP_KEY_STAGE0=$(shell sed -ne 's/^rustc_key: //p' $(S)src/stage0.txt)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# The name of the package to use for creating tarballs, installers etc.
|
# The name of the package to use for creating tarballs, installers etc.
|
||||||
|
@ -11,6 +11,7 @@ endif
|
|||||||
|
|
||||||
$(SNAPSHOT_RUSTC_POST_CLEANUP): \
|
$(SNAPSHOT_RUSTC_POST_CLEANUP): \
|
||||||
$(S)src/stage0.txt \
|
$(S)src/stage0.txt \
|
||||||
|
$(S)src/etc/local_stage0.sh \
|
||||||
$(S)src/etc/get-stage0.py $(MKFILE_DEPS) \
|
$(S)src/etc/get-stage0.py $(MKFILE_DEPS) \
|
||||||
| $(HBIN0_H_$(CFG_BUILD))/
|
| $(HBIN0_H_$(CFG_BUILD))/
|
||||||
@$(call E, fetch: $@)
|
@$(call E, fetch: $@)
|
||||||
|
@ -49,6 +49,13 @@ if [ -z $TARG_DIR ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "$TARG_DIR" in
|
||||||
|
--print-rustc-release)
|
||||||
|
# not actually copying to TARG_DIR, just print the local rustc version and exit
|
||||||
|
${PREFIX}/bin/rustc${BIN_SUF} --version --verbose | sed -ne 's/^release: //p'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
|
||||||
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
|
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
|
||||||
cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
|
cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
|
||||||
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
|
cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
|
||||||
@ -66,3 +73,5 @@ cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}term*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DI
|
|||||||
|
|
||||||
# do not fail if one of the above fails, as all we need is a working rustc!
|
# do not fail if one of the above fails, as all we need is a working rustc!
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user