summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuilherme Amadio <amadio@gentoo.org>2018-07-05 19:27:25 +0200
committerGuilherme Amadio <amadio@gentoo.org>2018-07-05 19:38:15 +0200
commit9f5cbe65e5f2689faf356e647d889aa3dab0cdd4 (patch)
tree1db41b62b946756fe2d3b65cb657fdf101baf8cf /profiles/features
parentprofiles: add arm 17.0 profiles (diff)
downloadgentoo-9f5cbe65e5f2689faf356e647d889aa3dab0cdd4.tar.gz
gentoo-9f5cbe65e5f2689faf356e647d889aa3dab0cdd4.tar.bz2
gentoo-9f5cbe65e5f2689faf356e647d889aa3dab0cdd4.zip
profiles: fix sys-devel/clang on standalone prefix
On standalone prefix, sys-devel/clang needs to be configured with -DDEFAULT_SYSROOT=${EPREFIX} and also needs the same treatment as sys-devel/gcc to remove --sysroot=${EPREFIX} from ld calls.
Diffstat (limited to 'profiles/features')
-rw-r--r--profiles/features/prefix/standalone/profile.bashrc11
1 files changed, 10 insertions, 1 deletions
diff --git a/profiles/features/prefix/standalone/profile.bashrc b/profiles/features/prefix/standalone/profile.bashrc
index 60a2af632d18..d167e7a9155f 100644
--- a/profiles/features/prefix/standalone/profile.bashrc
+++ b/profiles/features/prefix/standalone/profile.bashrc
@@ -15,12 +15,21 @@ if [[ ${CATEGORY}/${PN} == sys-devel/gcc && ${EBUILD_PHASE} == configure ]]; the
eend $?
done
- # use sysroot of toolchain to get currect include and library at compile time
+ # use sysroot of toolchain to get correct include and library at compile time
EXTRA_ECONF="${EXTRA_ECONF} --with-sysroot=${EPREFIX}"
ebegin "remove --sysroot call on ld for native toolchain"
sed -i 's/--sysroot=%R//' gcc/gcc.c
eend $?
+elif [[ ${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 $?
+ pushd "${S}/lib/Driver/ToolChains" >/dev/null
+ ebegin "Remove --sysroot call on ld for native toolchain"
+ sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
+ eend $?
+ popd >/dev/null
elif [[ ${CATEGORY}/${PN} == sys-devel/binutils && ${EBUILD_PHASE} == prepare ]]; then
ebegin "Prefixifying native library path"
sed -i -r "/NATIVE_LIB_DIRS/s,((/usr(/local|)|)/lib),${EPREFIX}\1,g" \