mirror of https://github.com/BOINC/boinc.git
127 lines
4.3 KiB
Bash
Executable File
127 lines
4.3 KiB
Bash
Executable File
#!/bin/sh
|
|
## $Id$
|
|
|
|
## ---------- some portability checks/adjustments [stolen from configure] ----------
|
|
## 'echo -n' is not portable..
|
|
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
|
*c*,-n*) ECHO_N= ECHO_C='
|
|
' ECHO_T=' ' ;;
|
|
*c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
|
|
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
|
|
esac
|
|
##----------
|
|
|
|
## ----------------------------------------------------------------------
|
|
## Check that given command $1 has version >= $2
|
|
## Full path $3 may be specified in order to skip command search.
|
|
## return 0 if ok, 1 too old or not found (-> shell conventions).
|
|
## ----------------------------------------------------------------------
|
|
check_version()
|
|
{
|
|
dir=`pwd`
|
|
cd /tmp
|
|
foundit=
|
|
## get current version of $1
|
|
desired=`echo $2 | awk -F. '{print $1*100+$2}'`
|
|
echo $ECHO_N "Checking version of '$1' >= $desired... $ECHO_C"
|
|
name=$1
|
|
fullpath=${3:-`command -v "$name"`};
|
|
if [ -x "$fullpath" ]; then
|
|
foundit=yes;
|
|
fi
|
|
|
|
if [ "$foundit" != yes ]; then
|
|
echo "Didn't find application";
|
|
version=0
|
|
success=no
|
|
else
|
|
cmdline="$fullpath --version";
|
|
if version=`($cmdline 2>/dev/null)` 2>/dev/null; then
|
|
echo >/dev/null
|
|
else
|
|
version="0";
|
|
fi
|
|
if [ -n "${version}" ]; then
|
|
version=`echo $version | awk '{ for (i=1;i<=NF;i++) { split($i,j,"."); m=j[1]*100+j[2] ; if ((m*1)>0) { print m ; break; } } }'`
|
|
if [ -z "$version" ]; then version=0; fi
|
|
success=`echo "$version" "$desired" | awk '{ if ($1 >= $2) { print "yes";} else {print "no";}} '`
|
|
else
|
|
version=0
|
|
success=no
|
|
fi
|
|
fi
|
|
cd $dir
|
|
|
|
if [ $success = "yes" ] ; then
|
|
echo "succeeded. ($version)"
|
|
return 0;
|
|
else
|
|
echo "failed. ($version)"
|
|
return 1;
|
|
fi
|
|
} ## check_version()
|
|
|
|
|
|
## --------------------------------------------------------------------------------
|
|
## 'MAIN' starts here
|
|
## --------------------------------------------------------------------------------
|
|
echo "Bootstrapping configure script and makefiles:"
|
|
|
|
## ---------- first check santity of the installed versions of the build-system
|
|
## in case there's GNU drop-in tools available, set these
|
|
|
|
## some sorry systems don't have proper GNU-make...
|
|
if ! check_version make 3.79 "$MAKE"; then
|
|
echo "Couldn't find a new-enough version of GNU 'make', please install one!";
|
|
echo "If you have a newer version, set the environment variable 'MAKE' to its path";
|
|
exit 1;
|
|
fi
|
|
|
|
## FreeBSD's m4 seems to be broken? Download a fresh one
|
|
if ! check_version m4 1.4 "$M4" && [ ! -f /usr/ccs/bin/m4 ] && ! check_version gm4 1.4; then
|
|
echo "Couldn't find a new-enough version of 'm4', please install one!";
|
|
echo "If you have a newer version, set the environment variable 'M4' to its path";
|
|
exit 1;
|
|
fi
|
|
|
|
if ! check_version pkg-config 0.15; then
|
|
echo "Couldn't find a new-enough version of 'pkg-config', please install one!";
|
|
exit 1;
|
|
# build_lsc_aux "pkgconfig-0.15.0"
|
|
fi
|
|
|
|
if ! check_version autoreconf 2.58; then
|
|
echo "Couldn't find a new-enough version of 'autoreconf', please install one!";
|
|
exit 1;
|
|
# build_lsc_aux "autoconf-2.59"
|
|
fi
|
|
if ! check_version automake 1.8 "$AUTOMAKE"; then
|
|
echo "Couldn't find a new-enough version of 'automake', please install one!";
|
|
echo "If you have a newer version, set the environment variable 'AUTOMAKE' and 'ACLOCAL' to its path";
|
|
exit 1;
|
|
# build_lsc_aux "automake-1.8.5"
|
|
fi
|
|
if ! check_version libtoolize 1.5 "$LIBTOOLIZE"; then
|
|
echo "Couldn't find a new-enough version of 'libtoolize', please install one!";
|
|
echo "If you have a newer version, set the environment variable 'LIBTOOLIZE' to its path";
|
|
exit 1;
|
|
fi
|
|
|
|
## ---------- now run autoreconf
|
|
cmdline="autoreconf -i";
|
|
## -- if _autosetup was invoked with -f run autoreconf with -f to force a recreation of all files
|
|
if [ "$1" = "-f" ]; then
|
|
cmdline="autoreconf -i -f";
|
|
fi
|
|
|
|
echo "$cmdline"
|
|
if eval $cmdline; then
|
|
echo "Done, now run ./configure"
|
|
echo " ./configure -C to enable caching"
|
|
exit 0
|
|
else
|
|
echo "Something failed .... please check error-message and re-run when fixed."
|
|
echo "exiting..."
|
|
exit 1
|
|
fi
|