commit:     9f5cbe65e5f2689faf356e647d889aa3dab0cdd4
Author:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  5 17:27:25 2018 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Thu Jul  5 17:38:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f5cbe65

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(-)

diff --git a/profiles/features/prefix/standalone/profile.bashrc 
b/profiles/features/prefix/standalone/profile.bashrc
index 60a2af632d1..d167e7a9155 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" \

Reply via email to