#!/bin/sh ## ## gcc.sh -- GCC Package Build Utility ## Copyright (c) 2002 Ralf S. Engelschall ## 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