p/p/linux-standalone/profile.bashrc: track RAP toolchain tricks.
authorBenda Xu <heroxbd@gentoo.org>
Sun, 22 May 2016 07:17:02 +0000 (16:17 +0900)
committerBenda Xu <heroxbd@gentoo.org>
Sun, 22 May 2016 07:18:16 +0000 (16:18 +0900)
profiles/prefix/linux-standalone/profile.bashrc [new file with mode: 0644]

diff --git a/profiles/prefix/linux-standalone/profile.bashrc b/profiles/prefix/linux-standalone/profile.bashrc
new file mode 100644 (file)
index 0000000..1e4cfcb
--- /dev/null
@@ -0,0 +1,29 @@
+# RAP specific patches that is pending upstream.
+# binutils: http://article.gmane.org/gmane.comp.gnu.binutils/67593
+
+if [[ ${CATEGORY}/${PN} == sys-devel/gcc && ${EBUILD_PHASE} == prepare ]]; then
+    cd "${S}"
+    einfo "Prefixifying glibc dynamic linker..."
+    for h in gcc/config/*/linux*.h; do
+       ebegin "  Updating $h"
+       sed -i -r "s,(GLIBC_DYNAMIC_LINKER.*\")(/lib),\1${EPREFIX}\2," \
+           $h || eerror "Please file a bug about this"
+       eend $?
+    done
+
+    # use sysroot of toolchain to get currect 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 || eerror "Please file a bug about this"
+    eend $?
+fi
+
+if [[ ${CATEGORY}/${PN} == sys-devel/binutils && ${EBUILD_PHASE} == prepare ]]; then
+    cd "${S}"
+    ebegin "Prefixifying native library path"
+    sed -i -r "/NATIVE_LIB_DIRS/s,((/usr(/local|)|)/lib),${EPREFIX}\1,g" \
+       ld/configure.tgt || eerror "Please file a bug about this"
+    eend $?
+fi