commit: f0d352a9364580670e00793ff2683d578f66f72d
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 08:27:03 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 08:30:11 2021 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=f0d352a9
scripts/bootstrap-prefix: unify DARWIN_USE_GCC path
- turn ppc-macos into DARWIN_USE_GCC
- drop sys-libs/csu from stage1/2 packages, it's not necessary
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
scripts/bootstrap-prefix.sh | 56 +++++++++++++++++++--------------------------
1 file changed, 24 insertions(+), 32 deletions(-)
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 265ca4693c..40a38c6147 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -186,34 +186,27 @@ configure_toolchain() {
CXX=g++
case ${CHOST}:${DARWIN_USE_GCC} in
- powerpc-*darwin*|*:1)
+ *darwin*:1)
einfo "Triggering Darwin with GCC toolchain"
- compiler_stage1+=" sys-apps/darwin-miscutils
sys-libs/csu"
- local ccvers="$( (unset CHOST; gcc --version
2>/dev/null) )"
+ compiler_stage1+=" sys-apps/darwin-miscutils"
+ local ccvers="$(unset CHOST; /usr/bin/gcc --version
2>/dev/null)"
case "${ccvers}" in
- *"(Gentoo "*)
- # probably the result of a bootstrap in
progress
- [[ ${DARWIN_USE_GCC} == 1 ]] \
- &&
linker=sys-devel/native-cctools \
- ||
linker=sys-devel/binutils-apple
- ;;
*"(GCC) 4.2.1 "*)
- linker=sys-devel/binutils-apple
+ linker="=sys-devel/binutils-apple-3.2.6"
;;
*"(GCC) 4.0.1 "*)
linker="=sys-devel/binutils-apple-3.2.6"
# upgrade to 4.2.1 first
compiler_stage1+="
sys-devel/gcc-apple
- sys-devel/binutils-apple"
+ =sys-devel/binutils-apple-3.2.6"
;;
*"Apple clang version "*|*"Apple LLVM version
"*)
- # gcc cannot build (recent)
binutils-apple due to
- # missing blocks support, so use Xcode
provided
- # linker/assembler
- # UPDATE: binutils-8.2.1-r100 compiles,
but the
- # assembler isn't able to deal with AVX
instructions
- # (yet)
+ # recent binutils-apple are hard to
build (C++11
+ # features, and cmake buildsystem) so
avoid going
+ # there, the system ld is good enough
to bring us to
+ # stage3, after which system set will
take care of
+ # the rest
linker=sys-devel/native-cctools
;;
*)
@@ -227,9 +220,9 @@ configure_toolchain() {
einfo "Triggering Darwin with LLVM/Clang toolchain"
# for compilers choice, see bug:
# https://bugs.gentoo.org/show_bug.cgi?id=538366
- compiler_stage1="sys-apps/darwin-miscutils sys-libs/csu"
+ compiler_stage1="sys-apps/darwin-miscutils"
compiler_type="clang"
- local ccvers="$( (unset CHOST; gcc --version
2>/dev/null) )"
+ local ccvers="$(unset CHOST; /usr/bin/gcc --version
2>/dev/null)"
local llvm_deps="dev-util/ninja"
case "${ccvers}" in
*"Apple clang version "*|*"Apple LLVM version
"*)
@@ -256,7 +249,6 @@ configure_toolchain() {
esac
compiler="
- sys-libs/csu
dev-libs/libffi
${llvm_deps}
sys-libs/libcxxabi
@@ -270,7 +262,7 @@ configure_toolchain() {
# TODO: target clang toolchain someday?
;;
*-solaris*)
- local ccvers="$( (unset CHOST; gcc --version
2>/dev/null) )"
+ local ccvers="$(unset CHOST; gcc --version 2>/dev/null)"
case "${ccvers}" in
*"gcc (GCC) 3.4.3"*)
# host compiler doesn't cope with the
asm introduced
@@ -531,7 +523,7 @@ do_tree() {
bootstrap_tree() {
# RAP uses the latest gentoo main repo snapshot to bootstrap.
is-rap && LATEST_TREE_YES=1
- local PV="20210104"
+ local PV="20210105"
if [[ -n ${LATEST_TREE_YES} ]]; then
do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
else
@@ -1512,14 +1504,11 @@ bootstrap_stage1() {
# too vital to rely on a host-provided one
[[ -x ${ROOT}/tmp/usr/bin/python ]] || (bootstrap_python) || return 1
- if [[ ! -e ${ROOT}/tmp/usr/bin/cmake ]] && [[ ${CHOST} == *-darwin* ]]
- then
- # TODO: make DARWIN_USE_GCC path also activated on ppc-macos,
- # since it effectively is so
- if [[ ${DARWIN_USE_GCC} != 1 || ${CHOST} == powerpc* ]] ; then
- (bootstrap_cmake) || return 1
- fi
- fi
+ # cmake for llvm/clang toolchain on macOS
+ [[ -e ${ROOT}/tmp/usr/bin/cmake ]] \
+ || [[ ${CHOST} != *-darwin* ]] \
+ || [[ ${DARWIN_USE_GCC} == 1 ]] \
+ || (bootstrap_cmake) || return 1
# checks itself if things need to be done still
(bootstrap_tree) || return 1
@@ -3073,8 +3062,11 @@ esac
# handle GCC install path on recent Darwin
case ${CHOST} in
- powerpc-*darwin*|arm64-*darwin*)
- unset DARWIN_USE_GCC # there is no choice here, don't trigger
GCC path
+ powerpc-*darwin*)
+ DARWIN_USE_GCC=1 # must use GCC, Clang is impossible
+ ;;
+ arm64-*darwin*)
+ DARWIN_USE_GCC=0 # cannot use GCC yet (needs silicon support)
;;
*-darwin*)
# normalise value of DARWIN_USE_GCC