From 9f5cbe65e5f2689faf356e647d889aa3dab0cdd4 Mon Sep 17 00:00:00 2001 From: Guilherme Amadio Date: Thu, 5 Jul 2018 19:27:25 +0200 Subject: 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. --- profiles/features/prefix/standalone/profile.bashrc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'profiles') 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" \ -- cgit v1.2.3-65-gdbad