| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #!/bin/sh
- # Run this to generate all the initial makefiles, etc.
- testProgram()
- {
- cmd=$1
- if [ -z "$cmd" ]; then
- return 1;
- fi
- arch=`uname -s`
- # Make sure the which is in an if-block... on some platforms it throws exceptions
- #
- # The ERR trap is not executed if the failed command is part
- # of an until or while loop, part of an if statement, part of a &&
- # or || list.
- if
- which $cmd </dev/null >/dev/null 2>&1
- then
- :
- else
- return 1
- fi
- # The GNU standard is --version
- if
- $cmd --version </dev/null >/dev/null 2>&1
- then
- return 0
- fi
- # Maybe it suppports -V instead
- if
- $cmd -V </dev/null >/dev/null 2>&1
- then
- return 0
- fi
- # Nope, the program seems broken
- return 1
- }
- arch=`uname -s`
- # Disable the errors on FreeBSD until a fix can be found.
- if [ ! "$arch" = "FreeBSD" ]; then
- set -e
- #
- # All errors are fatal from here on out...
- # The shell will complain and exit on any "uncaught" error code.
- #
- #
- # And the trap will ensure sure some kind of error message comes out.
- #
- trap 'echo ""; echo "$0 exiting due to error (sorry!)." >&2' 0
- fi
- RC=0
- gnu="ftp://ftp.gnu.org/pub/gnu"
- # Check for Autoconf
- for command in autoconf autoconf213 autoconf253 autoconf259
- do
- if
- testProgram $command == 1
- then
- autoconf=$command
- autoheader=`echo "$autoconf" | sed -e 's/autoconf/autoheader/'`
- autom4te=`echo "$autoconf" | sed -e 's/autoconf/autmo4te/'`
- autoreconf=`echo "$autoconf" | sed -e 's/autoconf/autoreconf/'`
- autoscan=`echo "$autoconf" | sed -e 's/autoconf/autoscan/'`
- autoupdate=`echo "$autoconf" | sed -e 's/autoconf/autoupdate/'`
- ifnames=`echo "$autoconf" | sed -e 's/autoconf/ifnames/'`
- fi
- done
- # Check for automake
- for command in automake automake14 automake-1.4 automake15 automake-1.5 automake17 automake-1.7 automake19 automake-1.9
- do
- if
- testProgram $command
- then
- automake=$command
- aclocal=`echo "$automake" | sed -e 's/automake/aclocal/'`
- fi
- done
- if [ -z $autoconf ]; then
- echo You must have autoconf installed to compile the corosync package.
- echo Download the appropriate package for your system,
- echo or get the source tarball at: $gnu/autoconf/
- exit 1
- elif [ -z $automake ]; then
- echo You must have automake installed to compile the corosync package.
- echo Download the appropriate package for your system,
- echo or get the source tarball at: $gnu/automake/
- exit 1
- fi
- # Create local copies so that the incremental updates will work.
- rm -f ./autoconf ./automake ./autoheader
- ln -s `which $autoconf` ./autoconf
- ln -s `which $automake` ./automake
- ln -s `which $autoheader` ./autoheader
- printf "$autoconf:\t"
- $autoconf --version | head -n 1
- printf "$automake:\t"
- $automake --version | head -n 1
- echo $aclocal $ACLOCAL_FLAGS
- $aclocal $ACLOCAL_FLAGS
- echo $autoheader
- $autoheader
- echo $automake --add-missing --include-deps --copy
- $automake --add-missing --include-deps --copy
- echo $autoconf
- $autoconf
- echo Now run ./configure
- trap '' 0
|