| OLD | NEW |
| (Empty) | |
| 1 #!/bin/sh |
| 2 |
| 3 # Copyright 2005-2015 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 stri
ng |
| 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 if test "$LIBTOOLIZE"x != x; then |
| 122 : |
| 123 elif test "$HOSTOS"x = Darwinx; then |
| 124 LIBTOOLIZE=glibtoolize |
| 125 else |
| 126 LIBTOOLIZE=libtoolize |
| 127 fi |
| 128 |
| 129 if test "$ACLOCAL"x = x; then |
| 130 ACLOCAL=aclocal |
| 131 fi |
| 132 |
| 133 if test "$AUTOCONF"x = x; then |
| 134 AUTOCONF=autoconf |
| 135 fi |
| 136 |
| 137 check_tool_version $ACLOCAL aclocal ACLOCAL 1.10.1 |
| 138 check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4 |
| 139 check_tool_version $AUTOCONF autoconf AUTOCONF 2.62 |
| 140 |
| 141 # This sets freetype_major, freetype_minor, and freetype_patch. |
| 142 eval `sed -nf version.sed include/freetype/freetype.h` |
| 143 |
| 144 # We set freetype-patch to an empty value if it is zero. |
| 145 if test "$freetype_patch" = ".0"; then |
| 146 freetype_patch= |
| 147 fi |
| 148 |
| 149 cd builds/unix |
| 150 |
| 151 echo "generating \`configure.ac'" |
| 152 sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \ |
| 153 < configure.raw > configure.ac |
| 154 |
| 155 run aclocal -I . --force |
| 156 run $LIBTOOLIZE --force --copy --install |
| 157 run autoconf --force |
| 158 |
| 159 chmod +x install-sh |
| 160 |
| 161 cd ../.. |
| 162 |
| 163 chmod +x ./configure |
| 164 |
| 165 # EOF |
| OLD | NEW |