Blame autogen.sh

Packit Service d360f7
#!/bin/sh
Packit Service d360f7
Packit Service d360f7
# Copyright 2005-2017 by
Packit Service d360f7
# David Turner, Robert Wilhelm, and Werner Lemberg.
Packit Service d360f7
#
Packit Service d360f7
# This file is part of the FreeType project, and may only be used, modified,
Packit Service d360f7
# and distributed under the terms of the FreeType project license,
Packit Service d360f7
# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
Packit Service d360f7
# indicate that you have read the license and understand and accept it
Packit Service d360f7
# fully.
Packit Service d360f7
Packit Service d360f7
run ()
Packit Service d360f7
{
Packit Service d360f7
  echo "running \`$*'"
Packit Service d360f7
  eval $*
Packit Service d360f7
Packit Service d360f7
  if test $? != 0 ; then
Packit Service d360f7
    echo "error while running \`$*'"
Packit Service d360f7
    exit 1
Packit Service d360f7
  fi
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
get_major_version ()
Packit Service d360f7
{
Packit Service d360f7
  echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
get_minor_version ()
Packit Service d360f7
{
Packit Service d360f7
  echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
get_patch_version ()
Packit Service d360f7
{
Packit Service d360f7
  # tricky: some version numbers don't include a patch
Packit Service d360f7
  # separated with a point, but something like 1.4-p6
Packit Service d360f7
  patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
Packit Service d360f7
  if test "$patch" = "$1"; then
Packit Service d360f7
    patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'`
Packit Service d360f7
    # if there isn't any patch number, default to 0
Packit Service d360f7
    if test "$patch" = "$1"; then
Packit Service d360f7
      patch=0
Packit Service d360f7
    fi
Packit Service d360f7
  fi
Packit Service d360f7
  echo $patch
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
# $1: version to check
Packit Service d360f7
# $2: minimum version
Packit Service d360f7
Packit Service d360f7
compare_to_minimum_version ()
Packit Service d360f7
{
Packit Service d360f7
  MAJOR1=`get_major_version $1`
Packit Service d360f7
  MAJOR2=`get_major_version $2`
Packit Service d360f7
  if test $MAJOR1 -lt $MAJOR2; then
Packit Service d360f7
    echo 0
Packit Service d360f7
    return
Packit Service d360f7
  else
Packit Service d360f7
    if test $MAJOR1 -gt $MAJOR2; then
Packit Service d360f7
      echo 1
Packit Service d360f7
      return
Packit Service d360f7
    fi
Packit Service d360f7
  fi
Packit Service d360f7
Packit Service d360f7
  MINOR1=`get_minor_version $1`
Packit Service d360f7
  MINOR2=`get_minor_version $2`
Packit Service d360f7
  if test $MINOR1 -lt $MINOR2; then
Packit Service d360f7
    echo 0
Packit Service d360f7
    return
Packit Service d360f7
  else
Packit Service d360f7
    if test $MINOR1 -gt $MINOR2; then
Packit Service d360f7
      echo 1
Packit Service d360f7
      return
Packit Service d360f7
    fi
Packit Service d360f7
  fi
Packit Service d360f7
Packit Service d360f7
  PATCH1=`get_patch_version $1`
Packit Service d360f7
  PATCH2=`get_patch_version $2`
Packit Service d360f7
  if test $PATCH1 -lt $PATCH2; then
Packit Service d360f7
    echo 0
Packit Service d360f7
  else
Packit Service d360f7
    echo 1
Packit Service d360f7
  fi
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
# check the version of a given tool against a minimum version number
Packit Service d360f7
#
Packit Service d360f7
# $1: tool path
Packit Service d360f7
# $2: tool usual name (e.g. `aclocal')
Packit Service d360f7
# $3: tool variable  (e.g. `ACLOCAL')
Packit Service d360f7
# $4: minimum version to check against
Packit Service d360f7
# $5: option field index used to extract the tool version from the
Packit Service d360f7
#     output of --version
Packit Service d360f7
Packit Service d360f7
check_tool_version ()
Packit Service d360f7
{
Packit Service d360f7
  field=$5
Packit Service d360f7
  # assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version"
Packit Service d360f7
  if test "$field"x = x; then
Packit Service d360f7
    field=3  # default to 3 for all GNU autotools, after filtering enclosed string
Packit Service d360f7
  fi
Packit Service d360f7
  version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field`
Packit Service d360f7
  version_check=`compare_to_minimum_version $version $4`
Packit Service d360f7
  if test "$version_check"x = 0x; then
Packit Service d360f7
    echo "ERROR: Your version of the \`$2' tool is too old."
Packit Service d360f7
    echo "       Minimum version $4 is required (yours is version $version)."
Packit Service d360f7
    echo "       Please upgrade or use the $3 variable to point to a more recent one."
Packit Service d360f7
    echo ""
Packit Service d360f7
    exit 1
Packit Service d360f7
  fi
Packit Service d360f7
}
Packit Service d360f7
Packit Service d360f7
if test ! -f ./builds/unix/configure.raw; then
Packit Service d360f7
  echo "You must be in the same directory as \`autogen.sh'."
Packit Service d360f7
  echo "Bootstrapping doesn't work if srcdir != builddir."
Packit Service d360f7
  exit 1
Packit Service d360f7
fi
Packit Service d360f7
Packit Service d360f7
# On MacOS X, the GNU libtool is named `glibtool'.
Packit Service d360f7
HOSTOS=`uname`
Packit Service d360f7
if test "$LIBTOOLIZE"x != x; then
Packit Service d360f7
  :
Packit Service d360f7
elif test "$HOSTOS"x = Darwinx; then
Packit Service d360f7
  LIBTOOLIZE=glibtoolize
Packit Service d360f7
else
Packit Service d360f7
  LIBTOOLIZE=libtoolize
Packit Service d360f7
fi
Packit Service d360f7
Packit Service d360f7
if test "$ACLOCAL"x = x; then
Packit Service d360f7
  ACLOCAL=aclocal
Packit Service d360f7
fi
Packit Service d360f7
Packit Service d360f7
if test "$AUTOCONF"x = x; then
Packit Service d360f7
  AUTOCONF=autoconf
Packit Service d360f7
fi
Packit Service d360f7
Packit Service d360f7
check_tool_version $ACLOCAL    aclocal    ACLOCAL    1.10.1
Packit Service d360f7
check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
Packit Service d360f7
check_tool_version $AUTOCONF   autoconf   AUTOCONF   2.62
Packit Service d360f7
Packit Service d360f7
# This sets freetype_major, freetype_minor, and freetype_patch.
Packit Service d360f7
eval `sed -nf version.sed include/freetype/freetype.h`
Packit Service d360f7
Packit Service d360f7
# We set freetype-patch to an empty value if it is zero.
Packit Service d360f7
if test "$freetype_patch" = ".0"; then
Packit Service d360f7
  freetype_patch=
Packit Service d360f7
fi
Packit Service d360f7
Packit Service d360f7
cd builds/unix
Packit Service d360f7
Packit Service d360f7
echo "generating \`configure.ac'"
Packit Service d360f7
sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \
Packit Service d360f7
  < configure.raw > configure.ac
Packit Service d360f7
Packit Service d360f7
run aclocal -I . --force
Packit Service d360f7
run $LIBTOOLIZE --force --copy --install
Packit Service d360f7
run autoconf --force
Packit Service d360f7
Packit Service d360f7
chmod +x install-sh
Packit Service d360f7
Packit Service d360f7
cd ../..
Packit Service d360f7
Packit Service d360f7
chmod +x ./configure
Packit Service d360f7
Packit Service d360f7
# EOF