summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-09-30 13:08:22 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2018-09-30 13:13:46 +0100
commitadd23a64e7eb4d27bed13f10228721270b83a37f (patch)
tree440ba8b9f6551a4378eac616230091bfacf9fb06
parentx11-wm/larswm: EAPI7 revbump, fix HOMEPAGE, SRC_URI (diff)
downloadgentoo-add23a64e7eb4d27bed13f10228721270b83a37f.tar.gz
gentoo-add23a64e7eb4d27bed13f10228721270b83a37f.tar.bz2
gentoo-add23a64e7eb4d27bed13f10228721270b83a37f.zip
toolchain.eclass: pass CONFIG_SHELL to emake, bug #664486
Christian reports 'make install' failure caused by limitation of ancient autotools in detecting CONFIG_SHELL: ``` /bin/bash .../gcc-3.3.6/libstdc++-v3/../mkinstalldirs \ .../gcc-3.3.6-r2/image//usr/lib/../lib32 /bin/bash ../libtool --mode=install /bin/bash .../gcc-3.3.6/install-sh \ -c libsupc++.la .../gcc-3.3.6-r2/image//usr/lib/../lib32/libsupc++.la libtool: install: `.../gcc-3.3.6-r2/image//usr/lib/../lib32/libsupc++.la' \ is not a directory ``` We already pass CONFIG_SHELL to top-level ./configure. The workaround is to pass CONFIG_SHELL variable to 'make' as well. Reported-by: Christian Schmidt Fixed-by: Christian Schmidt Bug: https://bugs.gentoo.org/664486 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--eclass/toolchain.eclass7
1 files changed, 6 insertions, 1 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ef0d7ab1f99..e2629d40393 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1350,7 +1350,7 @@ toolchain_src_configure() {
addwrite /dev/zero
echo "${S}"/configure "${confgcc[@]}"
# Older gcc versions did not detect bash and re-exec itself, so force the
- # use of bash. Newer ones will auto-detect, but this is not harmeful.
+ # use of bash. Newer ones will auto-detect, but this is not harmful.
CONFIG_SHELL="${EPREFIX}/bin/bash" \
bash "${S}"/configure "${confgcc[@]}" || die "failed to run configure"
@@ -1625,6 +1625,11 @@ toolchain_src_compile() {
[[ ! -x /usr/bin/perl ]] \
&& find "${WORKDIR}"/build -name '*.[17]' -exec touch {} +
+ # Older gcc versions did not detect bash and re-exec itself, so force the
+ # use of bash. Newer ones will auto-detect, but this is not harmful.
+ # This needs to be set for compile as well, as it's used in libtool
+ # generation, which will break install otherwise (at least in 3.3.6): #664486
+ CONFIG_SHELL="${EPREFIX}/bin/bash" \
gcc_do_make ${GCC_MAKE_TARGET}
}