summaryrefslogtreecommitdiffstats
path: root/modules/freetype2/autogen.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/freetype2/autogen.sh')
-rwxr-xr-xmodules/freetype2/autogen.sh200
1 files changed, 200 insertions, 0 deletions
diff --git a/modules/freetype2/autogen.sh b/modules/freetype2/autogen.sh
new file mode 100755
index 0000000000..ff5e46f0d2
--- /dev/null
+++ b/modules/freetype2/autogen.sh
@@ -0,0 +1,200 @@
+#!/bin/sh
+
+# Copyright (C) 2005-2023 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+
+run ()
+{
+ echo "running \`$*'"
+ eval $*
+
+ if test $? != 0 ; then
+ echo "error while running \`$*'"
+ exit 1
+ fi
+}
+
+get_major_version ()
+{
+ echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
+}
+
+get_minor_version ()
+{
+ echo $1 | sed -e 's/[0-9][0-9]*\.\([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][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
+ if test "$patch" = "$1"; then
+ patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][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 the 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
+ # assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version"
+ if test "$field"x = x; then
+ field=3 # default to 3 for all GNU autotools, after filtering enclosed string
+ fi
+ version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field`
+ version_check=`compare_to_minimum_version $version $4`
+ if test "$version_check"x = 0x; then
+ echo "ERROR: Your version of the \`$2' tool is too old."
+ echo " Minimum version $4 is required (yours is version $version)."
+ echo " Please upgrade or use the $3 variable to point to a more recent one."
+ echo ""
+ exit 1
+ fi
+}
+
+# Solaris 10's shell doesn't like the `!` operator to negate the exit status.
+if test -f ./builds/unix/configure.raw; then
+ :
+else
+ 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`
+if test "$LIBTOOLIZE"x != x; then
+ :
+elif test "$HOSTOS"x = Darwinx; then
+ LIBTOOLIZE=glibtoolize
+else
+ LIBTOOLIZE=libtoolize
+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 version.
+eval `sed -n \
+-e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
+-e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
+-e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \
+include/freetype/freetype.h`
+
+if test "$FREETYPE_PATCH" = "0"; then
+ FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR
+else
+ FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH
+fi
+
+echo "FreeType $FREETYPE:"
+
+cd builds/unix
+
+echo "generating \`configure.ac'"
+sed -e "s;@VERSION@;$FREETYPE;" \
+ < configure.raw > configure.ac
+
+run aclocal -I . --force
+run $LIBTOOLIZE --force --copy --install
+run autoconf --force
+
+chmod +x install-sh
+
+cd ../..
+
+chmod +x ./configure
+
+# Copy all necessary 'dlg' files.
+copy_submodule_files ()
+{
+ echo "Copying files from \`subprojects/dlg' to \`src/dlg' and \`include/dlg'"
+ mkdir include/dlg 2> /dev/null
+ cp $DLG_INC_DIR/output.h include/dlg
+ cp $DLG_INC_DIR/dlg.h include/dlg
+ cp $DLG_SRC_DIR/* src/dlg
+}
+
+if test -e ".git"; then
+ DLG_INC_DIR=subprojects/dlg/include/dlg
+ DLG_SRC_DIR=subprojects/dlg/src/dlg
+
+ if test -d "$DLG_INC_DIR"; then
+ :
+ else
+ echo "Checking out submodule in \`subprojects/dlg':"
+ git submodule init
+ git submodule update
+ fi
+
+ copy_submodule_files
+fi
+
+# EOF