new version; phear !
authorMike Frysinger <vapier@gentoo.org>
Wed, 13 Oct 2004 16:29:04 +0000 (16:29 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 13 Oct 2004 16:29:04 +0000 (16:29 +0000)
sys-devel/gcc-config/ChangeLog
sys-devel/gcc-config/Manifest
sys-devel/gcc-config/files/digest-gcc-config-1.3.7 [new file with mode: 0644]
sys-devel/gcc-config/files/gcc-config-1.3.7 [new file with mode: 0755]
sys-devel/gcc-config/gcc-config-1.3.7.ebuild [new file with mode: 0644]

index daccf6e5f6fafe58606cb39522bb84d6c6e64b1e..ef102d5a8c1b44c54b7574a709a80395a8254133 100644 (file)
@@ -1,7 +1,15 @@
 # ChangeLog for sys-devel/gcc-config
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/ChangeLog,v 1.60 2004/10/11 02:40:21 tgall Exp $
-  
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/ChangeLog,v 1.61 2004/10/13 16:29:03 vapier Exp $
+
+*gcc-config-1.3.7 (13 Oct 2004)
+
+  13 Oct 2004; Mike Frysinger <vapier@gentoo.org> +files/gcc-config-1.3.7,
+  +gcc-config-1.3.7.ebuild:
+  Better invalid arg handling, list profiles even if you dont have a current
+  one, support $ROOT, dont export CC/CXX, create g77 wrappers alongside f77,
+  and general touchups.
+
   10 Oct 2004; Tom Gall <tgall@gentoo.org> gcc-config-1.3.6-r3.ebuild:
   stable on ppc64
 
index 76392d198cacc09363b507af29e3f8e177770271..c814853b89f916ef2aac7d04b0d1c6848e844c01 100644 (file)
@@ -1,10 +1,13 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 cf7f580c452575f36ec20e702145ad1b ChangeLog 11271
+MD5 3f6b67fff14ff0adcb1e0fe3891cb3f1 ChangeLog 11585
 MD5 39c5ae73589a762c88b6e689f54b8831 gcc-config-1.3.6-r3.ebuild 2611
+MD5 f391eb4960376e84b59755bc11d1ef0c gcc-config-1.3.7.ebuild 2649
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+MD5 a593a21ca79ec36175194dae2021f46d files/gcc-config-1.3.7 10725
 MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-gcc-config-1.3.6-r3 0
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-gcc-config-1.3.7 0
 MD5 6fb6357ea1e81976c54079bbac2b5953 files/gcc-config-1.4 12017
 MD5 b2f6742e0556986c6c1f1de8e737fd6c files/gcc-config-1.4.1 12978
 MD5 44763c26bd5bb1303d5be8b5f4309c29 files/wrapper-1.4.1.c 7299
@@ -15,7 +18,7 @@ MD5 f9ac19eaceaad00963038bc3d3d11b98 files/gcc-config-1.3.6 10163
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.9.10 (GNU/Linux)
 
-iD8DBQFBbS7tHTu7gpaalycRAq4+AKDui76HGz51kN/KeoJfYK5LKN0rVQCg1FDR
-GAZu7RIXBxAFiWa8o5U8N4M=
-=sJi5
+iD8DBQFBbVf3HTu7gpaalycRAtQvAJ473WnTlWW2H0fODqnqgkNTUGIeoACgmsEL
+dURstz3S3qNK0irRNatX0zo=
+=wxDF
 -----END PGP SIGNATURE-----
diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.3.7 b/sys-devel/gcc-config/files/digest-gcc-config-1.3.7
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sys-devel/gcc-config/files/gcc-config-1.3.7 b/sys-devel/gcc-config/files/gcc-config-1.3.7
new file mode 100755 (executable)
index 0000000..793a135
--- /dev/null
@@ -0,0 +1,491 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.3.7,v 1.1 2004/10/13 16:29:04 vapier Exp $
+# Author:  Martin Schlemmer <azarah@gentoo.org>
+
+trap ":" INT QUIT TSTP
+
+source /etc/init.d/functions.sh || {
+       echo "$0: Could not source /etc/init.d/functions.sh!"
+       exit 1
+}
+
+usage() {
+cat << "USAGE_END"
+Usage: gcc-config [options] [CC Profile]
+Change the current cc/gcc profile, or give info about profiles.
+
+Options:
+  -O, --use-old              Use the old profile if one was selected.
+  -P, --use-portage-chost    Only set to given profile if its CHOST is the 
+                             same as that set for portage in /etc/make.conf
+                             (or one of other portage config files...).
+  -c, --get-current-profile  Print current used gcc profile.
+  -l, --list-profiles        Print a list of available profiles.
+  -E, --print-environ        Print environment that can be used to setup the
+                             current gcc profile, or a specified one.
+  -B, --get-bin-path         Print path where binaries of the given/current
+                             profile are located.
+  -L, --get-lib-path         Print path where libraries of the given/current
+                             profile are located.
+  -X, --get-stdcxx-incdir    Print path where g++ include files of the
+                             given/current profile are located.
+
+Profile names are of the form:  <CHOST>-<gcc version>
+For example:                    i686-pc-linux-gnu-3.2.1
+USAGE_END
+
+       exit 1
+}
+
+if [ "$#" -lt 1 ]
+then
+       usage
+fi
+
+find_path() {
+       [ -z "$1" ] && return 0
+
+       local fullpath="$(type -P $1)"
+       
+       if [ -x "${fullpath}" ]
+       then
+               echo "${fullpath}"
+               return 0
+       fi
+
+       for x in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
+       do
+               if [ -x "${x}/$1" -a -r "${x}/$1" ]
+               then
+                       echo "${x}/$1"
+                       return 0
+               fi
+       done
+
+       return 0
+}
+
+cmd_setup() {
+       # Sourcing /etc/env.d/gcc/${CC_COMP} is going to mess up
+       # PATH among things...
+       CP="$(find_path cp)"
+       RM="$(find_path rm)"
+       MV="$(find_path mv)"
+       LN="$(find_path ln)"
+       CAT="$(find_path cat)"
+       AWK="$(find_path gawk)"
+       GREP="$(find_path grep)"
+       FIND="$(find_path find)"
+       CHMOD="$(find_path chmod)"
+       TOUCH="$(find_path touch)"
+       ENV_UPDATE="$(find_path env-update)"
+}
+
+get_real_chost() {
+       [ -n "${REAL_CHOST}" ] && return 0
+
+       # Use absolute path until all protage versions have portageq in /usr/bin
+       export REAL_CHOST="$(/usr/lib/portage/bin/portageq envvar CHOST)"
+
+       if [ -z "${REAL_CHOST}" ]
+       then
+               eerror "$0: Could not get portage CHOST!"
+               return 1
+       fi
+}
+
+switch_profile() {
+       local MY_LDPATH=
+       local GCC_PROFILES=
+       local OLD_CC_COMP=
+       local GCC_BIN_PATH=
+
+       if [ "$(id -u)" -ne 0 ]
+       then
+               eerror "$0: Must be root."
+               exit 1
+       fi
+
+       if [ -r "${GCC_ENV_D}/config" ]
+       then
+               source "${GCC_ENV_D}/config"
+
+               if [ -n "${CURRENT}" ]
+               then
+                       OLD_CC_COMP="${CURRENT}"
+               fi
+       fi
+
+       ebegin "Switching to ${CC_COMP} compiler"
+
+       # Sourcing /etc/env.d/gcc/${CC_COMP} is going to mess up
+       # PATH among things...
+       cmd_setup
+
+       # Order our profiles to have the default first ...
+       # We do this so that we can have them ordered with default
+       # first in /etc/ld.so.conf, as the logical is that all
+       # compilers for default CHOST will be used to compile stuff,
+       # and thus we want all their lib paths in /etc/ld.so.conf ...
+       get_real_chost
+       GCC_PROFILES="$(${FIND} "${GCC_ENV_D}" -name "${REAL_CHOST}-*" -a ! -name "${CC_COMP}")"
+       GCC_PROFILES="${GCC_ENV_D}/${CC_COMP} ${GCC_PROFILES}"
+
+       # Extract all LDPATH's for our CHOST
+       for x in ${GCC_PROFILES}
+       do
+               if [ -f "${x}" ]
+               then
+                       source "${x}"
+
+                       # Handle LDPATH's that have multiple directories
+                       local old_IFS="${IFS}"
+                       export IFS=":"
+                       local sub_ldpath=
+                       for sub_ldpath in ${LDPATH}
+                       do
+                               if [ -z "${MY_LDPATH}" ]
+                               then
+                                       if [ -d "${sub_ldpath}" ]
+                                       then
+                                               MY_LDPATH="${sub_ldpath}"
+                                       fi
+                               else
+                                       if [ -d "${sub_ldpath}" ]
+                                       then
+                                               MY_LDPATH="${MY_LDPATH}:${sub_ldpath}"
+                                       fi
+                               fi
+                       done
+                       export IFS="${old_IFS}"
+               fi
+       done
+
+       # Setup things properly again for this profile
+       source "${GCC_ENV_D}/${CC_COMP}"
+
+       # Setup /etc/env.d/05gcc
+       ${AWK} '!/^(STDCXX_INCDIR|LDPATH|CC|CXX)=/ {print $0}' \
+               "${GCC_ENV_D}/${CC_COMP}" > "${ENV_D}/05gcc"
+
+       # Add our custom LDPATH
+       echo "LDPATH=\"${MY_LDPATH}\"" >> "${ENV_D}/05gcc"
+
+       # Make sure we do not recreate /lib/cpp and /usr/bin/cc ...
+#      echo "DISABLE_GEN_GCC_WRAPPERS=\"yes\"" >> "${ENV_D}/05gcc"
+
+       echo "CURRENT=${CC_COMP}" > ${GCC_ENV_D}/config
+
+       # Save PATH
+       GCC_BIN_PATH="${PATH}"
+       # Fix environment
+       source /etc/profile
+
+       # These might not be installed, and we want to update the mtime
+       # for ccache and distcc anyhow ...
+       ${RM} -f "${ROOT}/lib/cpp"
+       ${CP} -f "${ROOT}/usr/lib/gcc-config/wrapper" "${ROOT}/lib/cpp"
+       for x in gcc cpp cc c++ g++ f77 g77 gcj \
+                ${REAL_CHOST}-gcc ${REAL_CHOST}-c++ ${REAL_CHOST}-g++ \
+                ${REAL_CHOST}-f77 ${REAL_CHOST}-g77 ${REAL_CHOST}-gcj
+       do
+               # Make sure we have no stale wrappers
+               ${RM} -f "${ROOT}/usr/bin/${x}"
+
+               if [ -x "${ROOT}/${GCC_BIN_PATH}/${x}" -o \
+                    "${x}" = "c++" -o "${x}" = "${REAL_CHOST}-c++" -o \
+                    "${x}" = "cpp" -o "${x}" = "cc" ]
+               then
+                       # Only install a wrapper if the binary exists ...
+                       ${CP} -f "${ROOT}"/usr/lib/gcc-config/wrapper" \
+                                "${ROOT}/usr/bin/${x}"
+
+                       if [ "${OLD_CC_COMP}" != "${CC_COMP}" ]
+                       then
+                               ${TOUCH} -m "${ROOT}/usr/bin/${x}"
+                       fi
+               fi
+       done
+
+       if [ "${ROOT}" == "/" ]
+       then
+               ${ENV_UPDATE} &> /dev/null
+       fi
+
+       eend 0
+
+       if [ "${ROOT}" == "/" ] && [ "${OLD_CC_COMP}" != "${CC_COMP}" ]
+       then
+               echo
+               ewarn "If you intend to use the gcc from the new profile in an already"
+               ewarn "running shell, please remember to do:"
+               echo
+               ewarn "  # source /etc/profile"
+               echo
+       fi
+
+       return 0
+}
+
+get_current_profile() {
+       if [ ! -f "${GCC_ENV_D}/config" ]
+       then
+               eerror "$0: No gcc profile is active!"
+               return 1
+       fi
+
+       source "${GCC_ENV_D}/config"
+
+       if [ -z "${CURRENT}" ]
+       then
+               eerror "$0: No gcc profile is active!"
+               return 1
+       fi
+
+       echo "${CURRENT}"
+
+       return 0
+}
+
+list_profiles() {
+       local i=1
+
+       if [ ! -f "${GCC_ENV_D}/config" ]
+       then
+               eerror "$0: No gcc profile is active; please select one!"
+       else
+               get_current_profile > /dev/null
+       fi
+
+       if [ "${ROOT}" != "/" ]
+       then
+               echo "Using gcc-config info in ${ROOT}"
+       fi
+       for x in "${GCC_ENV_D}"/*
+       do
+               if [ -f "${x}" -a "${x}" != "${GCC_ENV_D}/config" ]
+               then
+                       x="${x##*/}"
+                       [ "${x}" == "${CURRENT}" ] && x="${x} *"
+                       echo "[${i}] ${x}"
+                       i=$((i + 1))
+               fi
+       done
+}
+
+print_environ() {
+       local OLDPATH="${PATH}"
+       local ENV_CMD=
+       local SET_ELEMENT=
+
+       source "${GCC_ENV_D}/${CC_COMP}"
+
+       case ${SHELL} in
+               */csh|*/tsch)
+                       ENV_CMD="setenv"
+                       SET_ELEMENT=" "
+                       ;;
+               *)
+                       ENV_CMD="export"
+                       SET_ELEMENT="="
+                       ;;
+       esac
+
+       echo "${ENV_CMD} PATH${SET_ELEMENT}\"${PATH}:${OLDPATH}\""
+#      if [ -z "${LD_LIBRARY_PATH}" ]
+#      then
+#              echo "${ENV_CMD} LD_LIBRARY_PATH${SET_ELEMENT}\"${LDPATH}\""
+#      else
+#              echo "${ENV_CMD} LD_LIBRARY_PATH${SET_ELEMENT}\"${LDPATH}:${LD_LIBRARY_PATH}\""
+#      fi
+#      echo "${ENV_CMD} CC${SET_ELEMENT}\"${CC}\""
+#      echo "${ENV_CMD} CXX${SET_ELEMENT}\"${CXX}\""
+}
+
+get_bin_path() {
+       if [ -e "${GCC_ENV_D}/${CC_COMP}" ] ; then
+               source "${GCC_ENV_D}/${CC_COMP}"
+               echo "${PATH}"
+       else
+               echo "no-config"
+               echo "${GCC_ENV_D}/${CC_COMP} doesnt exist" 1>&2
+       fi
+
+       return 0
+}
+
+get_lib_path() {
+       if [ -e "${GCC_ENV_D}/${CC_COMP}" ] ; then
+               source "${GCC_ENV_D}/${CC_COMP}"
+               echo "${LDPATH}"
+       else
+               echo "no-config"
+               echo "${GCC_ENV_D}/${CC_COMP} doesnt exist" 1>&2
+       fi
+
+       return 0
+}
+
+get_stdcxx_incdir() {
+       if [ -e "${GCC_ENV_D}/${CC_COMP}" ] ; then
+               source "${GCC_ENV_D}/${CC_COMP}"
+               echo "${LDPATH}/include/${STDCXX_INCDIR}"
+       else
+               echo "no-config"
+               echo "${GCC_ENV_D}/${CC_COMP} doesnt exist" 1>&2
+       fi
+
+       return 0
+}
+
+NEED_ACTION="yes"
+DOIT="switch_profile"
+CHECK_CHOST="no"
+
+CC_COMP=
+[ -z "${ROOT}" ] && ROOT="/"
+ENV_D="${ROOT}etc/env.d"
+GCC_ENV_D="${ENV_D}/gcc"
+
+for x in "$@"
+do
+       case "${x}" in
+               # Only use specified compiler if one is not already selected.
+               -O|--use-old)
+                       if get_current_profile &> /dev/null
+                       then
+                               CC_COMP="$(get_current_profile)"
+                       fi
+                       ;;
+               -P|--use-portage-chost)
+                       CHECK_CHOST="yes"
+                       ;;
+               -c|--get-current-profile)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="get_current_profile"
+                       fi
+                       ;;
+               -l|--list-profiles)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="list_profiles"
+                       fi
+                       ;;
+               -E|--print-environ)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="print_environ"
+                       fi
+                       ;;
+               -B|--get-bin-path)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="get_bin_path"
+                       fi
+                       ;;
+               -L|--get-lib-path)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="get_lib_path"
+                       fi
+                       ;;
+               -X|--get-stdcxx-incdir)
+                       if [ "${NEED_ACTION}" = "yes" ]
+                       then
+                               NEED_ACTION="no"
+                               DOIT="get_stdcxx_incdir"
+                       fi
+                       ;;
+               -h|--help)
+                       usage
+                       exit 0
+                       ;;
+               -v|--version)
+                       echo "gcc-config-PORTAGE-VERSION"
+                       exit 0
+                       ;;
+               -*)
+                       eerror "$0: Invalid switch!  Run $0 without parameters for help."
+                       exit 1
+                       ;;
+               *)
+                       if [ -z "${CC_COMP}" ]
+                       then
+                               if [ -z "$(echo ${x} | tr -d '[:digit:]')" ]
+                               then
+                                       # User gave us a # representing the profile
+                                       i=1
+                                       for y in "${GCC_ENV_D}"/*
+                                       do
+                                               [ "${y}" == "${GCC_ENV_D}/config" ] && continue
+
+                                               if [ -f "${y}" ] && [ "${x}" -eq "${i}" ]
+                                               then
+                                                       CC_COMP="${y##*/}"
+                                                       break
+                                               fi
+                                               i=$((i + 1))
+                                       done
+                               else
+                                       # User gave us a full HOST-gccver
+                                       x="${x##*/}"
+                                       if [ ! -f "${GCC_ENV_D}/${x}" ]
+                                       then
+                                               eerror "$0: Could not locate '$x' in '${GCC_ENV_D}/'!"
+                                               exit 1
+                                       fi
+                                       CC_COMP="${x}"
+                               fi
+                       else
+                               eerror "$0: Too many arguments!  Run $0 without parameters for help."
+                               exit 1
+                       fi
+                       ;;
+       esac
+done
+
+if [ "${DOIT}" = "switch_profile" -a -z "${CC_COMP}" ]
+then
+       usage
+fi
+
+if [ -z "${CC_COMP}" ]
+then
+       if get_current_profile &> /dev/null
+       then
+               CC_COMP="$(get_current_profile)"
+       else
+               list_profiles
+               exit 1
+       fi
+fi
+
+CC_COMP_NO_SPECS=$(echo ${CC_COMP} | awk -F- '{ print $1"-"$2"-"$3"-"$4"-"$5 }')
+
+if [ ! -d "${ROOT}/usr/lib/gcc-lib/${CC_COMP_NO_SPECS%-*}/${CC_COMP_NO_SPECS##*-}" -o \
+     ! -f "${GCC_ENV_D}/${CC_COMP}" ]
+then
+       eerror "$0: Profile does not exist or invalid setting for ${GCC_ENV_D}/${CC_COMP}"
+       #exit 1
+fi
+
+if [ "${CHECK_CHOST}" = "yes" ]
+then
+       # Chosen CHOST are not the same as the real CHOST according to
+       # make.conf, and --use-portage-chost option was given, so do nothing
+       get_real_chost
+       [ "${CC_COMP%-*}" != "${REAL_CHOST}" ] && exit 0
+fi
+
+eval ${DOIT}
+
+
+# vim:ts=4
diff --git a/sys-devel/gcc-config/gcc-config-1.3.7.ebuild b/sys-devel/gcc-config/gcc-config-1.3.7.ebuild
new file mode 100644 (file)
index 0000000..53ee334
--- /dev/null
@@ -0,0 +1,98 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.3.7.ebuild,v 1.1 2004/10/13 16:29:03 vapier Exp $
+
+# Version of .c wrapper to use
+W_VER="1.4.2"
+
+DISABLE_GEN_GCC_WRAPPERS="yes"
+
+GCC_CONFIG_BIN="${ROOT}/usr/bin/gcc-config"
+DESCRIPTION="Utility to change the gcc compiler being used."
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE=""
+
+DEPEND="virtual/libc
+       >=sys-apps/portage-2.0.47-r10" # We need portageq ...
+
+pkg_setup() {
+       if [ -x "${GCC_CONFIG_BIN}" ]
+       then
+               # Make sure while we have write access that everything is setup Ok ...
+               ${GCC_CONFIG_BIN} --get-current-profile &> /dev/null
+       fi
+}
+
+src_install() {
+       local gcc_bin_path="$(${GCC_CONFIG_BIN} --get-bin-path)"
+
+       # Setup PATH just in case ...
+       if ${GCC_CONFIG_BIN} --get-current-profile &> /dev/null
+       then
+               if [ -x "${GCC_CONFIG_BIN}" ]
+               then
+                       export PATH="`${GCC_CONFIG_BIN} --get-bin-path`:${PATH}"
+               else
+                       export PATH="`${GCC_CONFIG_BIN} --get-bin-path`:${PATH}"
+               fi
+       fi
+
+       einfo "Compiling wrapper..."
+       ${CC:-gcc} -O2 -Wall -o ${WORKDIR}/wrapper \
+               ${FILESDIR}/wrapper-${W_VER}.c || die
+
+       exeinto /usr/lib/gcc-config
+       doexe ${WORKDIR}/wrapper || die
+
+       # Only setup this if we have a proper gcc version installed, else
+       # we will nuke the non gcc-config versions ...
+       if ${GCC_CONFIG_BIN} --get-current-profile &> /dev/null
+       then
+               einfo "Creating wrappers for compiler tools..."
+               exeinto /lib
+               newexe ${WORKDIR}/wrapper cpp
+
+               exeinto /usr/bin
+               for x in gcc cpp cc c++ g++ f77 g77 gcj \
+                        ${CHOST}-gcc ${CHOST}-c++ ${CHOST}-g++ \
+                        ${CHOST}-f77 ${CHOST}-g77 ${CHOST}-gcj
+               do
+                       # Make sure we only install wrappers for those present ...
+                       [ -x "${gcc_bin_path}/${x}" -o \
+                         "${x}" = "c++" -o "${x}" = "${REAL_CHOST}-c++" -o \
+                         "${x}" = "cpp" -o "${x}" = "cc" ] && \
+                               newexe ${WORKDIR}/wrapper ${x}
+               done
+       fi
+
+       einfo "Installing gcc-config..."
+       newbin ${FILESDIR}/${PN}-${PV} ${PN}
+       dosed "s:PORTAGE-VERSION:${PV}:" /usr/bin/${PN}
+}
+
+pkg_postinst() {
+       # Do we have a valid multi ver setup ?
+       if ${GCC_CONFIG_BIN} --get-current-profile &> /dev/null
+       then
+               # We not longer use the /usr/include/g++-v3 hacks, as
+               # it is not needed ...
+               if [ -L ${ROOT}/usr/include/g++ ]
+               then
+                       rm -f ${ROOT}/usr/include/g++
+               fi
+               if [ -L ${ROOT}/usr/include/g++-v3 ]
+               then
+                       rm -f ${ROOT}/usr/include/g++-v3
+               fi
+
+               if [ ${ROOT} = "/" ]
+               then
+                       ${GCC_CONFIG_BIN} $(/usr/bin/gcc-config --get-current-profile)
+               fi
+       fi
+}