initial version
authorMartin Schlemmer <azarah@gentoo.org>
Sun, 27 Oct 2002 22:38:11 +0000 (22:38 +0000)
committerMartin Schlemmer <azarah@gentoo.org>
Sun, 27 Oct 2002 22:38:11 +0000 (22:38 +0000)
sys-devel/gcc-config/ChangeLog [new file with mode: 0644]
sys-devel/gcc-config/files/digest-gcc-config-1.0 [new file with mode: 0644]
sys-devel/gcc-config/files/gcc-config-1.0 [new file with mode: 0644]
sys-devel/gcc-config/gcc-config-1.0.ebuild [new file with mode: 0644]

diff --git a/sys-devel/gcc-config/ChangeLog b/sys-devel/gcc-config/ChangeLog
new file mode 100644 (file)
index 0000000..5486d64
--- /dev/null
@@ -0,0 +1,10 @@
+# ChangeLog for sys-devel/gcc-config
+# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/ChangeLog,v 1.1 2002/10/27 22:38:11 azarah Exp $
+
+*gcc-config (28 Oct 2002)
+
+  28 Oct 2002; Martin Schlemmer <azarah@gentoo.org> :
+
+  Initial version.
+
diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.0 b/sys-devel/gcc-config/files/digest-gcc-config-1.0
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/sys-devel/gcc-config/files/gcc-config-1.0 b/sys-devel/gcc-config/files/gcc-config-1.0
new file mode 100644 (file)
index 0000000..a11b090
--- /dev/null
@@ -0,0 +1,98 @@
+#!/bin/bash
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Author:  Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.0,v 1.1 2002/10/27 22:38:11 azarah Exp $
+
+
+source /etc/init.d/functions.sh || {
+       echo "$0: Could not source /etc/init.d/functions.sh!"
+       exit 1
+}
+
+if [ "$(id -u)" -ne 0 ]
+then
+       eerror "$0: Must be root."
+       exit 1
+fi
+
+usage() {
+cat << "FOO"
+usage: gcc-config <CHOST>-<gcc version>
+
+FOO
+       exit 1
+}
+
+if [ "$#" -ne 1 ] && [ "$#" -eq 2 -a "$1" != "--use-old" ]
+then
+       usage
+fi
+
+GCC_COMP=""
+
+# Only use specified compiler if one is not already selected.
+if [ "$1" = "--use-old" ]
+then
+       shift
+
+       if [ -f /etc/env.d/gcc/config ]
+       then
+               source /etc/env.d/gcc/config
+               if [ -n "${CURRENT}" ]
+               then
+                       GCC_COMP="${CURRENT}"
+               fi
+       fi
+       
+       if [ -z "${GCC_COMP}" ]
+       then
+               GCC_COMP="$1"
+       fi
+else
+       GCC_COMP="$1"
+fi
+if [ ! -d /usr/lib/gcc-lib/${GCC_COMP%-*}/${GCC_COMP##*-} -o \
+     ! -f /etc/env.d/gcc/${GCC_COMP} ]
+then
+       usage
+else
+       ebegin "Switching to ${GCC_COMP} compiler"
+
+       # Sourcing /etc/env.d/gcc/${GCC_COMP} is going to mess up
+       # PATH among things...
+       CP="$(which cp)"
+       RM="$(which rm)"
+       MV="$(which mv)"
+       LN="$(which ln)"
+       ENV_UPDATE="$(which env-update)"
+
+       source /etc/env.d/gcc/${GCC_COMP}
+       
+       ${CP} -f /etc/env.d/gcc/${GCC_COMP} /etc/env.d/05gcc
+
+       if [ -d /usr/include/${STDCXX_INCDIR} -a ! -L /usr/include/${STDCXX_INCDIR} ]
+       then
+               ${MV} /usr/include/${STDCXX_INCDIR} /usr/include/${STDCXX_INCDIR}.orig
+       elif [ -L /usr/include/${STDCXX_INCDIR} ]
+       then
+               ${RM} -f /usr/include/${STDCXX_INCDIR}
+       fi
+       ${LN} -snf ..${LDPATH/\/usr}/include/${STDCXX_INCDIR} /usr/include/${STDCXX_INCDIR}
+
+       [ -L /lib/cpp -o -f /lib/cpp ] && ${RM} -f /lib/cpp
+       ${LN} -snf ..${PATH}/cpp /lib/cpp
+       [ -L /usr/bin/cc -o -f /usr/bin/cc ] && ${RM} -f /usr/bin/cc
+       ${LN} -snf ../..${PATH}/gcc /usr/bin/cc
+
+       echo "CURRENT=${GCC_COMP}" > /etc/env.d/gcc/config
+
+       source /etc/profile
+
+       ${ENV_UPDATE} &> /dev/null
+
+       eend 0
+fi
+
+
+# vim:ts=4
diff --git a/sys-devel/gcc-config/gcc-config-1.0.ebuild b/sys-devel/gcc-config/gcc-config-1.0.ebuild
new file mode 100644 (file)
index 0000000..06f9852
--- /dev/null
@@ -0,0 +1,20 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/gcc-config-1.0.ebuild,v 1.1 2002/10/27 22:38:11 azarah Exp $
+
+S="${WORKDIR}/${P}"
+DESCRIPTION="Utility to change the gcc compiler being used."
+SRC_URI=""
+HOMEPAGE="http://www.gentoo.org/"
+
+KEYWORDS="x86 ppc sparc sparc64 alpha"
+SLOT="0"
+LICENSE="GPL-2"
+
+DEPEND="virtual/glibc"
+
+
+src_install() {
+       newsbin ${FILESDIR}/${PN}-${PV} ${PN}
+}
+