summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2023-01-07 14:58:43 +0000
committerJames Le Cuirot <chewi@gentoo.org>2023-01-28 22:11:20 +0000
commit597efc1908793a77001d42ebbd96ebb07f8ee631 (patch)
treeb20508a16f5f85481499b355f98c948dbff7e560
parenttoolchain.eclass: Fix cross-compiling gcc for standalone prefix (diff)
downloadgentoo-597efc1908793a77001d42ebbd96ebb07f8ee631.tar.gz
gentoo-597efc1908793a77001d42ebbd96ebb07f8ee631.tar.bz2
gentoo-597efc1908793a77001d42ebbd96ebb07f8ee631.zip
toolchain.eclass: Move remaining gcc prefix tweaks from profile
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
-rw-r--r--eclass/toolchain.eclass13
-rw-r--r--profiles/features/prefix/standalone/profile.bashrc14
2 files changed, 14 insertions, 13 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 479814f0df3e..6d8901d21812 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -719,6 +719,19 @@ toolchain_src_prepare() {
einfo "Remove texinfo (bug #198182, bug #464008)"
eapply "${FILESDIR}"/gcc-configure-texinfo.patch
+ if ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
+ einfo "Prefixifying dynamic linkers..."
+ for f in gcc/config/*/*linux*.h ; do
+ ebegin " Updating ${f}"
+ if [[ ${f} == gcc/config/rs6000/linux*.h ]]; then
+ sed -i -r "s,(DYNAMIC_LINKER_PREFIX\s+)\"\",\1\"${EPREFIX}\",g" "${f}" || die
+ else
+ sed -i -r "/_DYNAMIC_LINKER/s,([\":])(/lib),\1${EPREFIX}\2,g" "${f}" || die
+ fi
+ eend $?
+ done
+ fi
+
# >=gcc-4
if [[ -x contrib/gcc_update ]] ; then
einfo "Touching generated files"
diff --git a/profiles/features/prefix/standalone/profile.bashrc b/profiles/features/prefix/standalone/profile.bashrc
index 043f766c37e9..57ec4b57abcb 100644
--- a/profiles/features/prefix/standalone/profile.bashrc
+++ b/profiles/features/prefix/standalone/profile.bashrc
@@ -9,19 +9,7 @@
# Disable RAP trick during bootstrap stage2
[[ -z ${BOOTSTRAP_RAP_STAGE2} ]] || return 0
-if [[ ${CATEGORY}/${PN} == sys-devel/gcc && ${EBUILD_PHASE} == configure ]]; then
- cd "${S}"
- einfo "Prefixifying dynamic linkers..."
- for h in gcc/config/*/*linux*.h; do
- ebegin " Updating $h"
- if [[ "${h}" == gcc/config/rs6000/linux*.h ]]; then
- sed -i -r "s,(DYNAMIC_LINKER_PREFIX\s+)\"\",\1\"${EPREFIX}\",g" $h
- else
- sed -i -r "/_DYNAMIC_LINKER/s,([\":])(/lib),\1${EPREFIX}\2,g" $h
- fi
- eend $?
- done
-elif [[ ${CATEGORY}/${PN} == sys-devel/clang && ${EBUILD_PHASE} == configure ]]; then
+if [[ ${CATEGORY}/${PN} == sys-devel/clang && ${EBUILD_PHASE} == configure ]]; then
ebegin "Use ${EPREFIX} as default sysroot"
sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" "${S}"/CMakeLists.txt
eend $?