You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
2.5 KiB

#!/bin/sh
##
## gcc.sh -- GCC Package Build Utility
## Copyright (c) 2002 Ralf S. Engelschall <rse@engelschall.com>
##
check="$1"
shift
case $check in
require-binutils )
# determine whether GNU gcc requires GNU binutils on this platform
require="no"
target="$1"
shift
case $target in
*-linux* )
# under Linux the vendor ld is GNU binutils,
# but make sure it is GNU binutils >= 2.12
if [ -f /etc/debian_version ]; then
v=`/usr/bin/dpkg -l binutils | grep binutils | awk '{ print $3; }'`
elif [ -f /etc/redhat-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
elif [ -f /etc/SuSE-release ]; then
v=`/bin/rpm -q --qf '%{VERSION}' binutils`
else
v=`(/usr/bin/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
fi
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes" ;;
esac
;;
*-freebsd* )
# under FreeBSD the vendor ld is GNU binutils,
# but make sure it is GNU binutils >= 2.12
v=`(/usr/bin/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes" ;;
esac
;;
* )
# under other OS the vendor ld is usually not GNU binutils,
# but if it is, make sure it is GNU binutils >= 2.12
for dir in /bin /usr/bin /usr/ccs/bin /sbin /usr/sbin /usr/ccs/sbin; do
if [ -f "$dir/ld" ]; then
if [ ".`($dir/ld --version) 2>/dev/null | grep 'GNU ld'`" != . ]; then
v=`($dir/ld --version | grep 'GNU ld' | sed -e 's;^[^0-9]*\([0-9].[0-9.]*\).*;\1;') 2>/dev/null`
# require GNU binutils >= 2.12
case "$v" in
2.1[2-9] | 2.1[2-9].* ) ;;
* ) require="yes"; break ;;
esac
fi
fi
done
;;
esac
echo "$require" | awk '{ printf("%s", $1); }'
;;
esac