1#!/usr/bin/env sh 2# 3# SpanDSP - a series of DSP components for telephony 4# 5# autogen script 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU Lesser General Public License version 2.1, 9# as published by the Free Software Foundation. 10# 11# This program is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU General Public License for more details. 15# 16# You should have received a copy of the GNU Lesser General Public 17# License along with this program; if not, write to the Free Software 18# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19# 20# $Id: autogen.sh,v 1.6 2008/03/30 18:33:24 steveu Exp $ 21# 22 23UNAME=`uname` 24 25if [ "x$UNAME" = "xFreeBSD" ]; then 26 echo "" 27 echo "" 28 echo "******************************************" 29 echo "*** NOTICE ***" 30 echo "******************************************" 31 echo " " 32 echo "FreeBSD is buggy. Please use this " 33 echo "workaround if you want to bootstrap " 34 echo "on FreeBSD. " 35 echo " " 36 echo "cd /usr/local/share/aclocal19 " 37 echo "ln -s ../aclocal/libtool15.m4 . " 38 echo "ln -s ../aclocal/ltdl15.m4 . " 39 echo " " 40 echo "******************************************" 41 echo "" 42fi 43 44debug () 45{ 46 # Outputs debug statments if DEBUG var is set 47 if [ ! -z "$DEBUG" ]; then 48 echo "DEBUG: $1" 49 fi 50} 51 52version_compare() 53{ 54 # Checks a command is found and the version is high enough 55 PROGRAM=$1 56 MAJOR=$2 57 MINOR=$3 58 MICRO=$4 59 test -z "$MAJOR" && MAJOR=0 60 test -z "$MINOR" && MINOR=0 61 test -z "$MICRO" && MICRO=0 62 63 debug "Checking $PROGRAM >= $MAJOR.$MINOR.$MICRO" 64 65 WHICH_PATH=`whereis which | cut -f2 -d' '` 66 COMMAND=`$WHICH_PATH $PROGRAM` 67 if [ -z $COMMAND ]; then 68 echo "$PROGRAM-$MAJOR.$MINOR.$MICRO is required and was not found." 69 return 1 70 else 71 debug "Found $COMMAND" 72 fi 73 74 INS_VER=`$COMMAND --version | head -1 | sed 's/[^0-9]*//' | cut -d' ' -f1` 75 INS_MAJOR=`echo $INS_VER | cut -d. -f1 | sed s/[a-zA-Z\-].*//g` 76 INS_MINOR=`echo $INS_VER | cut -d. -f2 | sed s/[a-zA-Z\-].*//g` 77 INS_MICRO=`echo $INS_VER | cut -d. -f3 | sed s/[a-zA-Z\-].*//g` 78 test -z "$INS_MAJOR" && INS_MAJOR=0 79 test -z "$INS_MINOR" && INS_MINOR=0 80 test -z "$INS_MICRO" && INS_MICRO=0 81 debug "Installed version: $INS_VER" 82 83 if [ "$INS_MAJOR" -gt "$MAJOR" ]; then 84 debug "MAJOR: $INS_MAJOR > $MAJOR" 85 return 0 86 elif [ "$INS_MAJOR" -eq "$MAJOR" ]; then 87 debug "MAJOR: $INS_MAJOR = $MAJOR" 88 if [ "$INS_MINOR" -gt "$MINOR" ]; then 89 debug "MINOR: $INS_MINOR > $MINOR" 90 return 0 91 elif [ "$INS_MINOR" -eq "$MINOR" ]; then 92 if [ "$INS_MICRO" -ge "$MICRO" ]; then 93 debug "MICRO: $INS_MICRO >= $MICRO" 94 return 0 95 else 96 debug "MICRO: $INS_MICRO < $MICRO" 97 fi 98 else 99 debug "MINOR: $INS_MINOR < $MINOR" 100 fi 101 else 102 debug "MAJOR: $INS_MAJOR < $MAJOR" 103 fi 104 105 echo "You have the wrong version of $PROGRAM. The minimum required version is $MAJOR.$MINOR.$MICRO" 106 echo " and the version installed is $INS_MAJOR.$INS_MINOR.$INS_MICRO ($COMMAND)." 107 return 1 108} 109 110# Check for required version and die if unhappy 111 112if [ "x$UNAME" = "xFreeBSD" ]; then 113version_compare libtoolize 1 5 16 || exit 1 114version_compare automake19 1 9 5 || exit 1 115version_compare autoconf259 2 59 || exit 1 116ACLOCAL=aclocal19 117AUTOHEADER=autoheader259 118AUTOMAKE=automake19 119AUTOCONF=autoconf259 120else 121version_compare libtoolize 1 5 16 || exit 1 122version_compare automake 1 9 5 || exit 1 123version_compare autoconf 2 59 || exit 1 124ACLOCAL=aclocal 125AUTOHEADER=autoheader 126AUTOMAKE=automake 127AUTOCONF=autoconf 128fi 129 130libtoolize --copy --force --ltdl 131#NetBSD seems to need this file writable 132chmod u+w libltdl/configure 133 134$ACLOCAL 135$AUTOHEADER --force 136$AUTOMAKE --copy --add-missing 137$AUTOCONF --force 138 139#chmod ug+x debian/rules 140 141if [ "x$UNAME" = "xNetBSD" ]; then 142echo "" 143echo "Please remember to run gmake instead of make on NetBSD" 144echo "" 145fi 146