94c6a5eeab
properly using glibtoolize instead of plain libtoolize. (This is made if glibtool was found and used instead of plain libtool.)
188 lines
6.0 KiB
Bash
Executable File
188 lines
6.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
die(){
|
|
echo "$@"
|
|
exit
|
|
}
|
|
|
|
# this works as 'which' but we use a different name to make it more obvious we
|
|
# aren't using 'which'! ;-)
|
|
findtool(){
|
|
file="$1"
|
|
|
|
IFS=":"
|
|
for path in $PATH
|
|
do
|
|
if test -r "$path/$file"; then
|
|
echo "$path/$file"
|
|
return
|
|
fi
|
|
done
|
|
}
|
|
|
|
#--------------------------------------------------------------------------
|
|
# autoconf 2.57 or newer
|
|
#
|
|
need_autoconf="2.57"
|
|
ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|head -1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
|
|
if test -z "$ac_version"; then
|
|
echo "buildconf: autoconf not found."
|
|
echo " You need autoconf version $need_autoconf or newer installed."
|
|
exit 1
|
|
fi
|
|
IFS=.; set $ac_version; IFS=' '
|
|
if test "$1" = "2" -a "$2" -lt "57" || test "$1" -lt "2"; then
|
|
echo "buildconf: autoconf version $ac_version found."
|
|
echo " You need autoconf version $need_autoconf or newer installed."
|
|
echo " If you have a sufficient autoconf installed, but it"
|
|
echo " is not named 'autoconf', then try setting the"
|
|
echo " AUTOCONF environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
echo "buildconf: autoconf version $ac_version (ok)"
|
|
|
|
#--------------------------------------------------------------------------
|
|
# autoheader 2.50 or newer
|
|
#
|
|
ah_version=`${AUTOHEADER:-autoheader} --version 2>/dev/null|head -1| sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
|
|
if test -z "$ah_version"; then
|
|
echo "buildconf: autoheader not found."
|
|
echo " You need autoheader version 2.50 or newer installed."
|
|
exit 1
|
|
fi
|
|
IFS=.; set $ah_version; IFS=' '
|
|
if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
|
|
echo "buildconf: autoheader version $ah_version found."
|
|
echo " You need autoheader version 2.50 or newer installed."
|
|
echo " If you have a sufficient autoheader installed, but it"
|
|
echo " is not named 'autoheader', then try setting the"
|
|
echo " AUTOHEADER environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
echo "buildconf: autoheader version $ah_version (ok)"
|
|
|
|
#--------------------------------------------------------------------------
|
|
# automake 1.7 or newer
|
|
#
|
|
need_automake="1.7"
|
|
am_version=`${AUTOMAKE:-automake} --version 2>/dev/null|head -1| sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//' -e 's/\(.*\)\(-p.*\)/\1/'`
|
|
if test -z "$am_version"; then
|
|
echo "buildconf: automake not found."
|
|
echo " You need automake version $need_automake or newer installed."
|
|
exit 1
|
|
fi
|
|
IFS=.; set $am_version; IFS=' '
|
|
if test "$1" = "1" -a "$2" -lt "7" || test "$1" -lt "1"; then
|
|
echo "buildconf: automake version $am_version found."
|
|
echo " You need automake version $need_automake or newer installed."
|
|
echo " If you have a sufficient automake installed, but it"
|
|
echo " is not named 'automake', then try setting the"
|
|
echo " AUTOMAKE environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
echo "buildconf: automake version $am_version (ok)"
|
|
|
|
|
|
#--------------------------------------------------------------------------
|
|
# libtool check
|
|
#
|
|
LIBTOOL_WANTED_MAJOR=1
|
|
LIBTOOL_WANTED_MINOR=4
|
|
LIBTOOL_WANTED_PATCH=2
|
|
LIBTOOL_WANTED_VERSION=1.4.2
|
|
|
|
# this approach that tries 'glibtool' first is some kind of work-around for
|
|
# some BSD-systems I believe that use to provide the GNU libtool named
|
|
# glibtool, with 'libtool' being something completely different.
|
|
libtool=`findtool glibtool 2>/dev/null`
|
|
if test ! -x "$libtool"; then
|
|
libtool=`findtool libtool`
|
|
fi
|
|
|
|
# set the LIBTOOLIZE here so that glibtoolize is used if glibtool was found
|
|
LIBTOOLIZE="${libtool}ize"
|
|
|
|
lt_pversion=`$libtool --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//g' -e 's/[- ].*//'`
|
|
if test -z "$lt_pversion"; then
|
|
echo "buildconf: libtool not found."
|
|
echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
|
|
exit 1
|
|
fi
|
|
lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$//'`
|
|
IFS=.; set $lt_version; IFS=' '
|
|
lt_status="good"
|
|
|
|
major=$1
|
|
minor=$2
|
|
patch=$3
|
|
|
|
if test "$major" = "$LIBTOOL_WANTED_MAJOR"; then
|
|
if test "$minor" -lt "$LIBTOOL_WANTED_MINOR"; then
|
|
lt_status="bad"
|
|
elif test -n "$LIBTOOL_WANTED_PATCH"; then
|
|
if test "$minor" -gt "$LIBTOOL_WANTED_MINOR"; then
|
|
lt_status="good"
|
|
elif test -n "$patch"; then
|
|
if test "$patch" -lt "$LIBTOOL_WANTED_PATCH"; then
|
|
lt_status="bad"
|
|
fi
|
|
else
|
|
lt_status="bad"
|
|
fi
|
|
fi
|
|
fi
|
|
if test $lt_status != "good"; then
|
|
echo "buildconf: libtool version $lt_pversion found."
|
|
echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed"
|
|
exit 1
|
|
fi
|
|
|
|
echo "buildconf: libtool version $lt_version (ok)"
|
|
|
|
#--------------------------------------------------------------------------
|
|
# m4 check
|
|
#
|
|
m4=`${M4:-m4} --version 2>/dev/null|head -1`;
|
|
m4_version=`echo $m4 | sed -e 's/^.* \([0-9]\)/\1/' -e 's/[a-z]* *$//'`
|
|
|
|
if { echo $m4 | grep "GNU" >/dev/null 2>&1; } then
|
|
echo "buildconf: GNU m4 version $m4_version (ok)"
|
|
else
|
|
echo "buildconf: m4 version $m4 found. You need a GNU m4 installed!"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
# run the correct scripts now
|
|
|
|
echo "buildconf: running libtoolize"
|
|
${LIBTOOLIZE:-libtoolize} --copy --automake --force || die "The libtool command failed"
|
|
echo "buildconf: running aclocal"
|
|
${ACLOCAL:-aclocal} $ACLOCAL_FLAGS || die "The aclocal command line failed"
|
|
echo "buildconf: running aclocal hack to convert all mv to mv -f"
|
|
perl -i.bak -pe 's/\bmv +([^-\s])/mv -f $1/g' aclocal.m4
|
|
echo "buildconf: running autoheader"
|
|
${AUTOHEADER:-autoheader} || die "The autoheader command failed"
|
|
echo "buildconf: running autoconf"
|
|
${AUTOCONF:-autoconf} || die "The autoconf command failed"
|
|
|
|
if test -d ares; then
|
|
cd ares
|
|
echo "buildconf: running aclocal in the ares directory"
|
|
${ACLOCAL:-aclocal} $ACLOCAL_FLAGS || die "The ares aclocal command failed"
|
|
echo "buildconf: running autoconf in the ares directory"
|
|
${AUTOCONF:-autoconf} || die "The ares autoconf command failed"
|
|
cd ..
|
|
fi
|
|
|
|
echo "buildconf: running automake"
|
|
${AUTOMAKE:-automake} -a || die "The automake command failed"
|
|
|
|
echo "buildconf: OK"
|
|
exit 0
|