5172
+ − 1
#!/bin/sh
+ − 2
+ − 3
# Copyright 2005, 2006, 2007, 2008, 2009, 2010 by
+ − 4
# David Turner, Robert Wilhelm, and Werner Lemberg.
+ − 5
#
+ − 6
# This file is part of the FreeType project, and may only be used, modified,
+ − 7
# and distributed under the terms of the FreeType project license,
+ − 8
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+ − 9
# indicate that you have read the license and understand and accept it
+ − 10
# fully.
+ − 11
+ − 12
run ()
+ − 13
{
+ − 14
echo "running \`$*'"
+ − 15
eval $*
+ − 16
+ − 17
if test $? != 0 ; then
+ − 18
echo "error while running \`$*'"
+ − 19
exit 1
+ − 20
fi
+ − 21
}
+ − 22
+ − 23
get_major_version ()
+ − 24
{
+ − 25
echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
+ − 26
}
+ − 27
+ − 28
get_minor_version ()
+ − 29
{
+ − 30
echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'
+ − 31
}
+ − 32
+ − 33
get_patch_version ()
+ − 34
{
+ − 35
# tricky: some version numbers don't include a patch
+ − 36
# separated with a point, but something like 1.4-p6
+ − 37
patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
+ − 38
if test "$patch" = "$1"; then
+ − 39
patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'`
+ − 40
# if there isn't any patch number, default to 0
+ − 41
if test "$patch" = "$1"; then
+ − 42
patch=0
+ − 43
fi
+ − 44
fi
+ − 45
echo $patch
+ − 46
}
+ − 47
+ − 48
# $1: version to check
+ − 49
# $2: minimum version
+ − 50
+ − 51
compare_to_minimum_version ()
+ − 52
{
+ − 53
MAJOR1=`get_major_version $1`
+ − 54
MAJOR2=`get_major_version $2`
+ − 55
if test $MAJOR1 -lt $MAJOR2; then
+ − 56
echo 0
+ − 57
return
+ − 58
else
+ − 59
if test $MAJOR1 -gt $MAJOR2; then
+ − 60
echo 1
+ − 61
return
+ − 62
fi
+ − 63
fi
+ − 64
+ − 65
MINOR1=`get_minor_version $1`
+ − 66
MINOR2=`get_minor_version $2`
+ − 67
if test $MINOR1 -lt $MINOR2; then
+ − 68
echo 0
+ − 69
return
+ − 70
else
+ − 71
if test $MINOR1 -gt $MINOR2; then
+ − 72
echo 1
+ − 73
return
+ − 74
fi
+ − 75
fi
+ − 76
+ − 77
PATCH1=`get_patch_version $1`
+ − 78
PATCH2=`get_patch_version $2`
+ − 79
if test $PATCH1 -lt $PATCH2; then
+ − 80
echo 0
+ − 81
else
+ − 82
echo 1
+ − 83
fi
+ − 84
}
+ − 85
+ − 86
# check the version of a given tool against a minimum version number
+ − 87
#
+ − 88
# $1: tool path
+ − 89
# $2: tool usual name (e.g. `aclocal')
+ − 90
# $3: tool variable (e.g. `ACLOCAL')
+ − 91
# $4: minimum version to check against
+ − 92
# $5: option field index used to extract the tool version from the
+ − 93
# output of --version
+ − 94
+ − 95
check_tool_version ()
+ − 96
{
+ − 97
field=$5
+ − 98
# assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version"
+ − 99
if test "$field"x = x; then
+ − 100
field=3 # default to 3 for all GNU autotools, after filtering enclosed string
+ − 101
fi
+ − 102
version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field`
+ − 103
version_check=`compare_to_minimum_version $version $4`
+ − 104
if test "$version_check"x = 0x; then
+ − 105
echo "ERROR: Your version of the \`$2' tool is too old."
+ − 106
echo " Minimum version $4 is required (yours is version $version)."
+ − 107
echo " Please upgrade or use the $3 variable to point to a more recent one."
+ − 108
echo ""
+ − 109
exit 1
+ − 110
fi
+ − 111
}
+ − 112
+ − 113
if test ! -f ./builds/unix/configure.raw; then
+ − 114
echo "You must be in the same directory as \`autogen.sh'."
+ − 115
echo "Bootstrapping doesn't work if srcdir != builddir."
+ − 116
exit 1
+ − 117
fi
+ − 118
+ − 119
# On MacOS X, the GNU libtool is named `glibtool'.
+ − 120
HOSTOS=`uname`
+ − 121
LIBTOOLIZE=libtoolize
+ − 122
if test "$HOSTOS"x = Darwinx; then
+ − 123
LIBTOOLIZE=glibtoolize
+ − 124
fi
+ − 125
+ − 126
if test "$ACLOCAL"x = x; then
+ − 127
ACLOCAL=aclocal
+ − 128
fi
+ − 129
+ − 130
if test "$AUTOCONF"x = x; then
+ − 131
AUTOCONF=autoconf
+ − 132
fi
+ − 133
+ − 134
check_tool_version $ACLOCAL aclocal ACLOCAL 1.10.1
+ − 135
check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
+ − 136
check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
+ − 137
+ − 138
# This sets freetype_major, freetype_minor, and freetype_patch.
+ − 139
eval `sed -nf version.sed include/freetype/freetype.h`
+ − 140
+ − 141
# We set freetype-patch to an empty value if it is zero.
+ − 142
if test "$freetype_patch" = ".0"; then
+ − 143
freetype_patch=
+ − 144
fi
+ − 145
+ − 146
cd builds/unix
+ − 147
+ − 148
echo "generating \`configure.ac'"
+ − 149
sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \
+ − 150
< configure.raw > configure.ac
+ − 151
+ − 152
run aclocal -I . --force
+ − 153
run $LIBTOOLIZE --force --copy --install
+ − 154
run autoconf --force
+ − 155
+ − 156
chmod +x mkinstalldirs
+ − 157
chmod +x install-sh
+ − 158
+ − 159
cd ../..
+ − 160
+ − 161
chmod +x ./configure
+ − 162
+ − 163
# EOF