@ -20,12 +20,119 @@ run ()
fi
}
# extract major version
get_major_version ( )
{
echo $1 | sed -e 's/\([0-9]\+\)\..*/\1/g'
}
get_minor_version ( )
{
echo $1 | sed -e 's/[0-9]\+\.\([0-9]\+\).*/\1/g'
}
get_patch_version ( )
{
# tricky, some version numbers don't include a patch
# separated with a point, but something like 1.4-p6
#
patch = ` echo $1 | sed -e 's/[0-9]\+\.[0-9]\+\.\([0-9]\+\).*/\1/g' `
if test " $patch " = " $1 " ; then
patch = ` echo $1 | sed -e 's/[0-9]\+\.[0-9]\+\-p\([0-9]\+\).*/\1/g' `
# if there isn't any patch number, default to 0
if test " $patch " = " $1 " ; then
patch = 0
fi
fi
echo $patch
}
# $1: version to check
# $2: minimum version
compare_to_minimum_version ( )
{
MAJOR1 = ` get_major_version $1 `
MAJOR2 = ` get_major_version $2 `
if test $MAJOR1 -lt $MAJOR2 ; then
echo 0
return
else
if test $MAJOR1 -gt $MAJOR2 ; then
echo 1
return
fi
fi
MINOR1 = ` get_minor_version $1 `
MINOR2 = ` get_minor_version $2 `
if test $MINOR1 -lt $MINOR2 ; then
echo 0
return
else
if test $MINOR1 -gt $MINOR2 ; then
echo 1
return
fi
fi
PATCH1 = ` get_patch_version $1 `
PATCH2 = ` get_patch_version $2 `
if test $PATCH1 -lt $PATCH2 ; then
echo 0
else
echo 1
fi
}
# check that version of a given tool against a minimum version number
# $1: tool path
# $2: tool usual name (e.g. 'aclocal')
# $3: tool variable (e.g. 'ACLOCAL')
# $4: minimum version to check against
# $5: option field index used to extract the tool version from the output of --version
#
check_tool_version ( )
{
field = $5
if test " $field " x = x; then
field = 4 # default to 4 for all GNU autotools
fi
version = ` $1 --version | head -1 | cut -d ' ' -f $field `
version_check = ` compare_to_minimum_version $version $4 `
if test " $version_check " x = 0x; then
echo " ERROR: You $2 version is too old. minimum version $4 is required (yours is $version ) "
echo " please upgrade or use the $3 variable to point to a more recent one "
echo ""
exit 1
fi
}
if test ! -f ./builds/unix/configure.raw; then
echo "You must be in the same directory as \`autogen.sh'."
echo "Bootstrapping doesn't work if srcdir != builddir."
exit 1
echo "You must be in the same directory as \`autogen.sh'."
echo "Bootstrapping doesn't work if srcdir != builddir."
exit 1
fi
# On MacOS X, the GNU libtool is named `glibtool'.
HOSTOS = ` uname`
LIBTOOLIZE = libtoolize
if test " $HOSTOS " x = Darwinx; then
LIBTOOLIZE = glibtoolize
fi
if test " $ACLOCAL " x = x; then
ACLOCAL = aclocal
fi
if test " $AUTOCONF " x = x; then
AUTOCONF = autoconf
fi
check_tool_version $ACLOCAL aclocal ACLOCAL 1.10.1
check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
# This sets freetype_major, freetype_minor, and freetype_patch.
eval ` sed -nf version.sed include/freetype/freetype.h`
@ -40,13 +147,6 @@ echo "generating \`configure.ac'"
sed -e " s;@VERSION@; $freetype_major $freetype_minor $freetype_patch ; " \
< configure.raw > configure.ac
# On MacOS X, the GNU libtool is named `glibtool'.
HOSTOS = ` uname`
LIBTOOLIZE = libtoolize
if test " $HOSTOS " x = Darwinx; then
LIBTOOLIZE = glibtoolize
fi
run aclocal -I . --force
run $LIBTOOLIZE --force --copy --install
run autoconf --force