diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2003-01-15 01:59:58 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2003-01-15 01:59:58 +0000 |
commit | af0ce581e6a4c0bd3263b9fa8e621c0d7a483748 (patch) | |
tree | 4b9c68b92799ae953b23264e7a6f5a6a7b675912 /sys-devel/gcc-config/files | |
parent | close bug 12698 -- don't trap on TSTP to allow ^Z of script (job control) (diff) | |
download | gentoo-2-af0ce581e6a4c0bd3263b9fa8e621c0d7a483748.tar.gz gentoo-2-af0ce581e6a4c0bd3263b9fa8e621c0d7a483748.tar.bz2 gentoo-2-af0ce581e6a4c0bd3263b9fa8e621c0d7a483748.zip |
fix wrapper calling cc-config
Diffstat (limited to 'sys-devel/gcc-config/files')
-rw-r--r-- | sys-devel/gcc-config/files/digest-gcc-config-1.2.4 | 0 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/digest-gcc-config-1.2.5 | 0 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/digest-gcc-config-1.2.6 | 0 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/digest-gcc-config-1.2.8 | 0 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/digest-gcc-config-1.2.9 (renamed from sys-devel/gcc-config/files/digest-gcc-config-1.2.3) | 0 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/gcc-config-1.2.3 | 302 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/gcc-config-1.2.4 | 335 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/gcc-config-1.2.5 | 384 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/gcc-config-1.2.6 | 403 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/gcc-config-1.2.9 (renamed from sys-devel/gcc-config/files/gcc-config-1.2.8) | 2 | ||||
-rw-r--r-- | sys-devel/gcc-config/files/wrapper.c | 6 |
11 files changed, 4 insertions, 1428 deletions
diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.2.4 b/sys-devel/gcc-config/files/digest-gcc-config-1.2.4 deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/sys-devel/gcc-config/files/digest-gcc-config-1.2.4 +++ /dev/null diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.2.5 b/sys-devel/gcc-config/files/digest-gcc-config-1.2.5 deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/sys-devel/gcc-config/files/digest-gcc-config-1.2.5 +++ /dev/null diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.2.6 b/sys-devel/gcc-config/files/digest-gcc-config-1.2.6 deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/sys-devel/gcc-config/files/digest-gcc-config-1.2.6 +++ /dev/null diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.2.8 b/sys-devel/gcc-config/files/digest-gcc-config-1.2.8 deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/sys-devel/gcc-config/files/digest-gcc-config-1.2.8 +++ /dev/null diff --git a/sys-devel/gcc-config/files/digest-gcc-config-1.2.3 b/sys-devel/gcc-config/files/digest-gcc-config-1.2.9 index e69de29bb2d1..e69de29bb2d1 100644 --- a/sys-devel/gcc-config/files/digest-gcc-config-1.2.3 +++ b/sys-devel/gcc-config/files/digest-gcc-config-1.2.9 diff --git a/sys-devel/gcc-config/files/gcc-config-1.2.3 b/sys-devel/gcc-config/files/gcc-config-1.2.3 deleted file mode 100644 index d0d70a032613..000000000000 --- a/sys-devel/gcc-config/files/gcc-config-1.2.3 +++ /dev/null @@ -1,302 +0,0 @@ -#!/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.2.3,v 1.1 2002/12/16 18:13:02 azarah Exp $ - - -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 [Option] <CHOST>-<gcc version> -Options: - [--use-old] - - Use the old profile if one was selected. - - [--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...). - - [--get-current-profile] - - Print current used gcc profile. - - [--get-bin-path] - - Print path where binaries of given/current profile are located. - - [--get-lib-path] - - Print path where libraries of given/current profile are located. - - [--get-stdcxx-incdir] - - Print path to g++ include files of given/current profile. - - -USAGE_END - - exit 1 -} - -if [ "$#" -lt 1 ] -then - usage -fi - -cmd_setup() { - - # Sourcing /etc/env.d/gcc/${GCC_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)" -} - -find_path() { - [ -z "$1" ] && return 0 - - for x in /bin /sbin /usr/bin /usr/sbin - do - if [ -x ${x}/$1 -a -r ${x}/$1 ] - then - echo "${x}/$1" - break - fi - done -} - -gen_wrapper() { - ${CAT} > $1 << END -#!/bin/sh - -$2 "\$@" -END - - ${CHMOD} 0755 $1 -} - -GCC_COMP="" -REAL_CHOST="$(/usr/bin/python -c 'import portage; print portage.settings["CHOST"];')" - -switch_profile() { - local MY_LDPATH="" - local GCC_PROFILES="" - - if [ "$(id -u)" -ne 0 ] - then - eerror "$0: Must be root." - exit 1 - fi - - ebegin "Switching to ${GCC_COMP} compiler" - - # Sourcing /etc/env.d/gcc/${GCC_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 ... - GCC_PROFILES="$(${FIND} /etc/env.d/gcc/ -name "${REAL_CHOST}-*")" - GCC_PROFILES="${GCC_PROFILES/\/etc\/env.d\/gcc\/${GCC_COMP}}" - GCC_PROFILES="/etc/env.d/gcc/${GCC_COMP} ${GCC_PROFILES}" - - # Extract all LDPATH's for our CHOST - for x in ${GCC_PROFILES} - do - if [ -f ${x} ] - then - source ${x} - - if [ -z "${MY_LDPATH}" ] - then - MY_LDPATH="${LDPATH}" - else - MY_LDPATH="${MY_LDPATH}:${LDPATH}" - fi - fi - done - - # Setup /etc/env.d/05gcc - ${AWK} '!/STDCXX_INCDIR|LDPATH/ {print $0}' \ - /etc/env.d/gcc/${GCC_COMP} > /etc/env.d/05gcc - echo "LDPATH=\"${MY_LDPATH}\"" >> /etc/env.d/05gcc - - source /etc/env.d/gcc/${GCC_COMP} - - # Create /lib/cpp if missing or a symlink - if [ -L /lib/cpp -o ! -f /lib/cpp ] - then - ${RM} -f /lib/cpp - gen_wrapper /lib/cpp cpp - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /lib/cpp - # Create /usr/bin/cc if missing for a symlink - if [ -L /usr/bin/cc -o ! -f /usr/bin/cc ] - then - ${RM} -f /usr/bin/cc - gen_wrapper /usr/bin/cc gcc - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cc - - echo "CURRENT=${GCC_COMP}" > /etc/env.d/gcc/config - - source /etc/profile - - ${ENV_UPDATE} &> /dev/null - - eend 0 - - return 0 -} - -get_current_profile() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - source /etc/env.d/gcc/config - - if [ -z "${CURRENT}" ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - echo "${CURRENT}" - - return 0 -} - -get_bin_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${PATH}" - - return 0 -} - -get_lib_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}" - - return 0 -} - -get_stdcxx_incdir() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}/include/${STDCXX_INCDIR}" - - return 0 -} - -NEED_ACTION="yes" -DOIT="switch_profile" -CHECK_CHOST="no" - -for x in $* -do - case ${x} in - # Only use specified compiler if one is not already selected. - --use-old) - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - fi - ;; - --use-portage-chost) - CHECK_CHOST="yes" - ;; - --get-current-profile) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_current_profile" - fi - ;; - --get-bin-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_bin_path" - fi - ;; - --get-lib-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_lib_path" - fi - ;; - --get-stdcxx-incdir) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_stdcxx_incdir" - fi - ;; - *) - if [ -z "${GCC_COMP}" ] - then - GCC_COMP="${x}" - fi - ;; - esac -done - -if [ "${DOIT}" = "switch_profile" -a -z "${GCC_COMP}" ] -then - usage -fi - -if [ -z "${GCC_COMP}" ] -then - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - else - usage - fi -fi - -if [ ! -d /usr/lib/gcc-lib/${GCC_COMP%-*}/${GCC_COMP##*-} -o \ - ! -f /etc/env.d/gcc/${GCC_COMP} ] -then - usage -fi - -# Chosen CHOST are not the same as the real CHOST according to make.conf, -# and --use-portage-chost option was given, so do nothing ... -if [ "${CHECK_CHOST}" = "yes" -a "${GCC_COMP%-*}" != "${REAL_CHOST}" ] -then - exit 0 -fi - -eval ${DOIT} - - -# vim:ts=4 diff --git a/sys-devel/gcc-config/files/gcc-config-1.2.4 b/sys-devel/gcc-config/files/gcc-config-1.2.4 deleted file mode 100644 index 8173f9695cb1..000000000000 --- a/sys-devel/gcc-config/files/gcc-config-1.2.4 +++ /dev/null @@ -1,335 +0,0 @@ -#!/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.2.4,v 1.2 2002/12/17 13:06:48 azarah Exp $ - - -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 [Option] <CHOST>-<gcc version> -Options: - [--use-old] - - Use the old profile if one was selected. - - [--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...). - - [--get-current-profile] - - Print current used gcc profile. - - [--list-profiles] - - Print a list of available profiles. - - [--get-bin-path] - - Print path where binaries of given/current profile are located. - - [--get-lib-path] - - Print path where libraries of given/current profile are located. - - [--get-stdcxx-incdir] - - Print path to g++ include files of given/current profile. - - -USAGE_END - - exit 1 -} - -if [ "$#" -lt 1 ] -then - usage -fi - -cmd_setup() { - - # Sourcing /etc/env.d/gcc/${GCC_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)" -} - -find_path() { - [ -z "$1" ] && return 0 - - for x in /bin /sbin /usr/bin /usr/sbin - do - if [ -x ${x}/$1 -a -r ${x}/$1 ] - then - echo "${x}/$1" - break - fi - done -} - -gen_wrapper() { - ${CAT} > $1 << END -#!/bin/sh - -$2 "\$@" -END - - ${CHMOD} 0755 $1 -} - -GCC_COMP="" -REAL_CHOST="$(/usr/bin/python -c 'import portage; print portage.settings["CHOST"];')" - -switch_profile() { - local MY_LDPATH="" - local GCC_PROFILES="" - - if [ "$(id -u)" -ne 0 ] - then - eerror "$0: Must be root." - exit 1 - fi - - ebegin "Switching to ${GCC_COMP} compiler" - - # Sourcing /etc/env.d/gcc/${GCC_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 ... - GCC_PROFILES="$(${FIND} /etc/env.d/gcc/ -name "${REAL_CHOST}-*")" - GCC_PROFILES="${GCC_PROFILES/\/etc\/env.d\/gcc\/${GCC_COMP}}" - GCC_PROFILES="/etc/env.d/gcc/${GCC_COMP} ${GCC_PROFILES}" - - # Extract all LDPATH's for our CHOST - for x in ${GCC_PROFILES} - do - if [ -f ${x} ] - then - source ${x} - - if [ -z "${MY_LDPATH}" ] - then - if [ -d ${LDPATH} ] - then - MY_LDPATH="${LDPATH}" - fi - else - if [ -d ${LDPATH} ] - then - MY_LDPATH="${MY_LDPATH}:${LDPATH}" - fi - fi - fi - done - - # Setup /etc/env.d/05gcc - ${AWK} '!/STDCXX_INCDIR|LDPATH/ {print $0}' \ - /etc/env.d/gcc/${GCC_COMP} > /etc/env.d/05gcc - echo "LDPATH=\"${MY_LDPATH}\"" >> /etc/env.d/05gcc - - source /etc/env.d/gcc/${GCC_COMP} - - # Create /lib/cpp if missing or a symlink - if [ -L /lib/cpp -o ! -f /lib/cpp ] - then - ${RM} -f /lib/cpp - gen_wrapper /lib/cpp cpp - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /lib/cpp - # Create /usr/bin/cc if missing for a symlink - if [ -L /usr/bin/cc -o ! -f /usr/bin/cc ] - then - ${RM} -f /usr/bin/cc - gen_wrapper /usr/bin/cc gcc - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cc - - echo "CURRENT=${GCC_COMP}" > /etc/env.d/gcc/config - - source /etc/profile - - ${ENV_UPDATE} &> /dev/null - - eend 0 - - return 0 -} - -get_current_profile() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - source /etc/env.d/gcc/config - - if [ -z "${CURRENT}" ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - echo "${CURRENT}" - - return 0 -} - -list_profiles() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - for x in /etc/env.d/gcc/* - do - if [ -f ${x} -a ${x} != "/etc/env.d/gcc/config" ] - then - echo "${x##*/}" - fi - done -} - -get_bin_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${PATH}" - - return 0 -} - -get_lib_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}" - - return 0 -} - -get_stdcxx_incdir() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}/include/${STDCXX_INCDIR}" - - return 0 -} - -NEED_ACTION="yes" -DOIT="switch_profile" -CHECK_CHOST="no" - -for x in $* -do - case ${x} in - # Only use specified compiler if one is not already selected. - --use-old) - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - fi - ;; - --use-portage-chost) - CHECK_CHOST="yes" - ;; - --get-current-profile) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_current_profile" - fi - ;; - --list-profiles) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="list_profiles" - fi - ;; - --get-bin-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_bin_path" - fi - ;; - --get-lib-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_lib_path" - fi - ;; - --get-stdcxx-incdir) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_stdcxx_incdir" - fi - ;; - *) - if [ -z "${GCC_COMP}" ] - then - GCC_COMP="${x}" - fi - ;; - esac -done - -if [ "${DOIT}" = "switch_profile" -a -z "${GCC_COMP}" ] -then - usage -fi - -if [ -z "${GCC_COMP}" ] -then - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - else - usage - fi -fi - -if [ ! -d /usr/lib/gcc-lib/${GCC_COMP%-*}/${GCC_COMP##*-} -o \ - ! -f /etc/env.d/gcc/${GCC_COMP} ] -then - usage -fi - -# Chosen CHOST are not the same as the real CHOST according to make.conf, -# and --use-portage-chost option was given, so do nothing ... -if [ "${CHECK_CHOST}" = "yes" -a "${GCC_COMP%-*}" != "${REAL_CHOST}" ] -then - exit 0 -fi - -eval ${DOIT} - - -# vim:ts=4 diff --git a/sys-devel/gcc-config/files/gcc-config-1.2.5 b/sys-devel/gcc-config/files/gcc-config-1.2.5 deleted file mode 100644 index 4d034dadb960..000000000000 --- a/sys-devel/gcc-config/files/gcc-config-1.2.5 +++ /dev/null @@ -1,384 +0,0 @@ -#!/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.2.5,v 1.1 2002/12/23 01:49:50 azarah Exp $ - - -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 [Option] <CHOST>-<gcc version> -Options: - [--use-old] - - Use the old profile if one was selected. - - [--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...). - - [--get-current-profile] - - Print current used gcc profile. - - [--list-profiles] - - Print a list of available profiles. - - [--print-environ] - - Print environment that can be used to setup things for current - gcc profile, or specified one ... - - [--get-bin-path] - - Print path where binaries of given/current profile are located. - - [--get-lib-path] - - Print path where libraries of given/current profile are located. - - [--get-stdcxx-incdir] - - Print path to g++ include files of given/current profile. - - -USAGE_END - - exit 1 -} - -if [ "$#" -lt 1 ] -then - usage -fi - -cmd_setup() { - - # Sourcing /etc/env.d/gcc/${GCC_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)" -} - -find_path() { - [ -z "$1" ] && return 0 - - for x in /bin /sbin /usr/bin /usr/sbin - do - if [ -x ${x}/$1 -a -r ${x}/$1 ] - then - echo "${x}/$1" - break - fi - done -} - -gen_wrapper() { - ${CAT} > $1 << END -#!/bin/sh - -# This is part of sys-devel/gcc-config - -CPP="\`which cpp 2> /dev/null\`" - -# Setup PATH if we cannot find the cpp binary, or if the one -# we find is the wrapper script ... -if [ ! -x "\${CPP}" -o "\${CPP}" == "/usr/bin/cpp" ] -then - PATH="\`/usr/sbin/gcc-config --get-bin-path\`:\${PATH}" -fi - -$2 "\$@" -END - - ${CHMOD} 0755 $1 -} - -GCC_COMP="" -REAL_CHOST="$(/usr/bin/python -c 'import portage; print portage.settings["CHOST"];')" - -switch_profile() { - local MY_LDPATH="" - local GCC_PROFILES="" - - if [ "$(id -u)" -ne 0 ] - then - eerror "$0: Must be root." - exit 1 - fi - - ebegin "Switching to ${GCC_COMP} compiler" - - # Sourcing /etc/env.d/gcc/${GCC_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 ... - GCC_PROFILES="$(${FIND} /etc/env.d/gcc/ -name "${REAL_CHOST}-*")" - GCC_PROFILES="${GCC_PROFILES/\/etc\/env.d\/gcc\/${GCC_COMP}}" - GCC_PROFILES="/etc/env.d/gcc/${GCC_COMP} ${GCC_PROFILES}" - - # Extract all LDPATH's for our CHOST - for x in ${GCC_PROFILES} - do - if [ -f ${x} ] - then - source ${x} - - if [ -z "${MY_LDPATH}" ] - then - if [ -d ${LDPATH} ] - then - MY_LDPATH="${LDPATH}" - fi - else - if [ -d ${LDPATH} ] - then - MY_LDPATH="${MY_LDPATH}:${LDPATH}" - fi - fi - fi - done - - # Setup /etc/env.d/05gcc - ${AWK} '!/STDCXX_INCDIR|LDPATH/ {print $0}' \ - /etc/env.d/gcc/${GCC_COMP} > /etc/env.d/05gcc - echo "LDPATH=\"${MY_LDPATH}\"" >> /etc/env.d/05gcc - - source /etc/env.d/gcc/${GCC_COMP} - - # Create /lib/cpp if missing or a symlink - if [ -L /lib/cpp -o ! -f /lib/cpp ] - then - ${RM} -f /lib/cpp - gen_wrapper /lib/cpp cpp - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /lib/cpp - # Create /usr/bin/cc if missing or a symlink - if [ -L /usr/bin/cc -o ! -f /usr/bin/cc ] - then - ${RM} -f /usr/bin/cc - gen_wrapper /usr/bin/cc gcc - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cc - # Create /usr/bin/cpp if missing or a symlink (used by XFree86 for one) - if [ -L /usr/bin/cpp -o ! -f /usr/bin/cpp ] - then - ${RM} -f /usr/bin/cpp - gen_wrapper /usr/bin/cpp cpp - fi - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cpp - - echo "CURRENT=${GCC_COMP}" > /etc/env.d/gcc/config - - source /etc/profile - - ${ENV_UPDATE} &> /dev/null - - eend 0 - - return 0 -} - -get_current_profile() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - source /etc/env.d/gcc/config - - if [ -z "${CURRENT}" ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - echo "${CURRENT}" - - return 0 -} - -list_profiles() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - for x in /etc/env.d/gcc/* - do - if [ -f ${x} -a ${x} != "/etc/env.d/gcc/config" ] - then - echo "${x##*/}" - fi - done -} - -print_environ() { - local OLDPATH="${PATH}" - - source /etc/env.d/gcc/${GCC_COMP} - - echo "export PATH=\"${PATH}:${OLDPATH}\"" - -# if [ -z "${LD_LIBRARY_PATH}" ] -# then -# echo "export LD_LIBRARY_PATH=\"${LDPATH}\"" -# else -# echo "export LD_LIBRARY_PATH=\"${LDPATH}:${LD_LIBRARY_PATH}\"" -# fi - - echo "export CC=\"${CC}\"" - echo "export CXX=\"${CXX}\"" -} - -get_bin_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${PATH}" - - return 0 -} - -get_lib_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}" - - return 0 -} - -get_stdcxx_incdir() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}/include/${STDCXX_INCDIR}" - - return 0 -} - -NEED_ACTION="yes" -DOIT="switch_profile" -CHECK_CHOST="no" - -for x in $* -do - case ${x} in - # Only use specified compiler if one is not already selected. - --use-old) - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - fi - ;; - --use-portage-chost) - CHECK_CHOST="yes" - ;; - --get-current-profile) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_current_profile" - fi - ;; - --list-profiles) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="list_profiles" - fi - ;; - --print-environ) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="print_environ" - fi - ;; - --get-bin-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_bin_path" - fi - ;; - --get-lib-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_lib_path" - fi - ;; - --get-stdcxx-incdir) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_stdcxx_incdir" - fi - ;; - *) - if [ -z "${GCC_COMP}" ] - then - GCC_COMP="${x}" - fi - ;; - esac -done - -if [ "${DOIT}" = "switch_profile" -a -z "${GCC_COMP}" ] -then - usage -fi - -if [ -z "${GCC_COMP}" ] -then - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - else - usage - fi -fi - -if [ ! -d /usr/lib/gcc-lib/${GCC_COMP%-*}/${GCC_COMP##*-} -o \ - ! -f /etc/env.d/gcc/${GCC_COMP} ] -then - usage -fi - -# Chosen CHOST are not the same as the real CHOST according to make.conf, -# and --use-portage-chost option was given, so do nothing ... -if [ "${CHECK_CHOST}" = "yes" -a "${GCC_COMP%-*}" != "${REAL_CHOST}" ] -then - exit 0 -fi - -eval ${DOIT} - - -# vim:ts=4 diff --git a/sys-devel/gcc-config/files/gcc-config-1.2.6 b/sys-devel/gcc-config/files/gcc-config-1.2.6 deleted file mode 100644 index be8eed414535..000000000000 --- a/sys-devel/gcc-config/files/gcc-config-1.2.6 +++ /dev/null @@ -1,403 +0,0 @@ -#!/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.2.6,v 1.1 2002/12/24 18:26:45 azarah Exp $ - - -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 [Option] <CHOST>-<gcc version> -Options: - [--use-old] - - Use the old profile if one was selected. - - [--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...). - - [--get-current-profile] - - Print current used gcc profile. - - [--list-profiles] - - Print a list of available profiles. - - [--print-environ] - - Print environment that can be used to setup things for current - gcc profile, or specified one ... - - [--get-bin-path] - - Print path where binaries of given/current profile are located. - - [--get-lib-path] - - Print path where libraries of given/current profile are located. - - [--get-stdcxx-incdir] - - Print path to g++ include files of given/current profile. - - -USAGE_END - - exit 1 -} - -if [ "$#" -lt 1 ] -then - usage -fi - -cmd_setup() { - - # Sourcing /etc/env.d/gcc/${GCC_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)" -} - -find_path() { - [ -z "$1" ] && return 0 - - for x in /bin /sbin /usr/bin /usr/sbin - do - if [ -x ${x}/$1 -a -r ${x}/$1 ] - then - echo "${x}/$1" - break - fi - done -} - -gen_wrapper() { - ${CAT} > $1 << END -#!/bin/sh - -# This is part of sys-devel/gcc-config - -CPP="\`which cpp 2> /dev/null\`" - -# Setup PATH if we cannot find the cpp binary, or if the one -# we find is the wrapper script ... -if [ ! -x "\${CPP}" -o "\${CPP}" == "/usr/bin/cpp" ] -then - PATH="\`/usr/sbin/gcc-config --get-bin-path\`:\${PATH}" -fi - -$2 "\$@" -END - - ${CHMOD} 0755 $1 -} - -GCC_COMP="" -REAL_CHOST="$(/usr/bin/python -c 'import portage; print portage.settings["CHOST"];')" - -switch_profile() { - local MY_LDPATH="" - local GCC_PROFILES="" - local REPLACED_CPP="no" - - if [ "$(id -u)" -ne 0 ] - then - eerror "$0: Must be root." - exit 1 - fi - - ebegin "Switching to ${GCC_COMP} compiler" - - # Sourcing /etc/env.d/gcc/${GCC_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 ... - GCC_PROFILES="$(${FIND} /etc/env.d/gcc/ -name "${REAL_CHOST}-*")" - GCC_PROFILES="${GCC_PROFILES/\/etc\/env.d\/gcc\/${GCC_COMP}}" - GCC_PROFILES="/etc/env.d/gcc/${GCC_COMP} ${GCC_PROFILES}" - - # Extract all LDPATH's for our CHOST - for x in ${GCC_PROFILES} - do - if [ -f ${x} ] - then - source ${x} - - if [ -z "${MY_LDPATH}" ] - then - if [ -d ${LDPATH} ] - then - MY_LDPATH="${LDPATH}" - fi - else - if [ -d ${LDPATH} ] - then - MY_LDPATH="${MY_LDPATH}:${LDPATH}" - fi - fi - fi - done - - # Setup /etc/env.d/05gcc - ${AWK} '!/STDCXX_INCDIR|LDPATH/ {print $0}' \ - /etc/env.d/gcc/${GCC_COMP} > /etc/env.d/05gcc - echo "LDPATH=\"${MY_LDPATH}\"" >> /etc/env.d/05gcc - - source /etc/env.d/gcc/${GCC_COMP} - - # Create /lib/cpp if missing or a symlink - if [ -L /lib/cpp -o ! -f /lib/cpp ] - then - ${RM} -f /lib/cpp - gen_wrapper /lib/cpp cpp - # Make sure it are not unmerged by mistake - ${TOUCH} /lib/cpp - fi - # Create /usr/bin/cc if missing or a symlink - if [ -L /usr/bin/cc -o ! -f /usr/bin/cc ] - then - ${RM} -f /usr/bin/cc - gen_wrapper /usr/bin/cc gcc - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cc - fi - # Create /usr/bin/cpp if missing or a symlink (used by XFree86 for one) - if [ -L /usr/bin/cpp -o ! -f /usr/bin/cpp ] || \ - [ -f /usr/bin/cpp -a ! -f /usr/bin/cpp0 ] - then - # In some cases we hava an old binary that was not unmerged, and breaks - # things, thus remove it and replace with proper wrapper ... - if [ -f /usr/bin/cpp ] && \ - [ -z "$(${GREP} "This is part of sys-devel\/gcc-config" /usr/bin/cpp)" ] - then - REPLACED_CPP="yes" - ${MV} -f /usr/bin/cpp /usr/bin/cpp.orig - fi - - ${RM} -f /usr/bin/cpp - gen_wrapper /usr/bin/cpp cpp - # Make sure it are not unmerged by mistake - ${TOUCH} /usr/bin/cpp - fi - - echo "CURRENT=${GCC_COMP}" > /etc/env.d/gcc/config - - source /etc/profile - - ${ENV_UPDATE} &> /dev/null - - eend 0 - - if [ "${REPLACED_CPP}" = "yes" ] - then - echo - ewarn "Sanity check of /usr/bin/cpp failed, backing up to /usr/bin/cpp.orig" - ewarn "and replacing with wrapper script! If you have problems, replace it" - ewarn "with the original, or submit a bugreport." - fi - - return 0 -} - -get_current_profile() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - source /etc/env.d/gcc/config - - if [ -z "${CURRENT}" ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - echo "${CURRENT}" - - return 0 -} - -list_profiles() { - if [ ! -f /etc/env.d/gcc/config ] - then - eerror "$0: No gcc profile is active!" - return 1 - fi - - for x in /etc/env.d/gcc/* - do - if [ -f ${x} -a ${x} != "/etc/env.d/gcc/config" ] - then - echo "${x##*/}" - fi - done -} - -print_environ() { - local OLDPATH="${PATH}" - - source /etc/env.d/gcc/${GCC_COMP} - - echo "export PATH=\"${PATH}:${OLDPATH}\"" - -# if [ -z "${LD_LIBRARY_PATH}" ] -# then -# echo "export LD_LIBRARY_PATH=\"${LDPATH}\"" -# else -# echo "export LD_LIBRARY_PATH=\"${LDPATH}:${LD_LIBRARY_PATH}\"" -# fi - - echo "export CC=\"${CC}\"" - echo "export CXX=\"${CXX}\"" -} - -get_bin_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${PATH}" - - return 0 -} - -get_lib_path() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}" - - return 0 -} - -get_stdcxx_incdir() { - source /etc/env.d/gcc/${GCC_COMP} - - echo "${LDPATH}/include/${STDCXX_INCDIR}" - - return 0 -} - -NEED_ACTION="yes" -DOIT="switch_profile" -CHECK_CHOST="no" - -for x in $* -do - case ${x} in - # Only use specified compiler if one is not already selected. - --use-old) - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - fi - ;; - --use-portage-chost) - CHECK_CHOST="yes" - ;; - --get-current-profile) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_current_profile" - fi - ;; - --list-profiles) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="list_profiles" - fi - ;; - --print-environ) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="print_environ" - fi - ;; - --get-bin-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_bin_path" - fi - ;; - --get-lib-path) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_lib_path" - fi - ;; - --get-stdcxx-incdir) - if [ "${NEED_ACTION}" = "yes" ] - then - NEED_ACTION="no" - DOIT="get_stdcxx_incdir" - fi - ;; - *) - if [ -z "${GCC_COMP}" ] - then - GCC_COMP="${x}" - fi - ;; - esac -done - -if [ "${DOIT}" = "switch_profile" -a -z "${GCC_COMP}" ] -then - usage -fi - -if [ -z "${GCC_COMP}" ] -then - if get_current_profile &> /dev/null - then - GCC_COMP="$(get_current_profile)" - else - usage - fi -fi - -if [ ! -d /usr/lib/gcc-lib/${GCC_COMP%-*}/${GCC_COMP##*-} -o \ - ! -f /etc/env.d/gcc/${GCC_COMP} ] -then - usage -fi - -# Chosen CHOST are not the same as the real CHOST according to make.conf, -# and --use-portage-chost option was given, so do nothing ... -if [ "${CHECK_CHOST}" = "yes" -a "${GCC_COMP%-*}" != "${REAL_CHOST}" ] -then - exit 0 -fi - -eval ${DOIT} - - -# vim:ts=4 diff --git a/sys-devel/gcc-config/files/gcc-config-1.2.8 b/sys-devel/gcc-config/files/gcc-config-1.2.9 index e5d529a17db3..663e937a037f 100644 --- a/sys-devel/gcc-config/files/gcc-config-1.2.8 +++ b/sys-devel/gcc-config/files/gcc-config-1.2.9 @@ -2,7 +2,7 @@ # 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.2.8,v 1.1 2003/01/15 00:25:33 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.2.9,v 1.1 2003/01/15 01:59:58 azarah Exp $ source /etc/init.d/functions.sh || { diff --git a/sys-devel/gcc-config/files/wrapper.c b/sys-devel/gcc-config/files/wrapper.c index a1dc2019679f..8ea3aa928d6b 100644 --- a/sys-devel/gcc-config/files/wrapper.c +++ b/sys-devel/gcc-config/files/wrapper.c @@ -2,7 +2,7 @@ * Copyright 1999-2003 Gentoo Technologies, Inc. * Distributed under the terms of the GNU General Public License v2 * Author: Martin Schlemmer <azarah@gentoo.org> - * $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/wrapper.c,v 1.1 2003/01/15 00:25:33 azarah Exp $ + * $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc-config/files/wrapper.c,v 1.2 2003/01/15 01:59:58 azarah Exp $ */ #define _REENTRANT @@ -79,10 +79,10 @@ int main(int argc, char **argv) { /* It is our wrapper, so get the CC path, and execute the real binary in * there ... */ - inpipe = popen("/usr/bin/cc-config --get-bin-path", "r"); + inpipe = popen("/usr/bin/gcc-config --get-bin-path", "r"); if (NULL == inpipe) { - fprintf(stderr, "Could not run /usr/bin/cc-config!\n"); + fprintf(stderr, "Could not run /usr/bin/gcc-config!\n"); exit(1); } |