summaryrefslogtreecommitdiff
path: root/m4/freetype2.m4
diff options
context:
space:
mode:
authorNils Durner <durner@gnunet.org>2009-05-29 19:20:23 +0000
committerNils Durner <durner@gnunet.org>2009-05-29 19:20:23 +0000
commit179946965cc0f171e4af1bd053b42ec36314c86e (patch)
treedf49518ea91d8a644ecbd0e6a48c26c1e7fe93b3 /m4/freetype2.m4
parentc137702c332798fb68622739f61ae06bbf6286df (diff)
cp
Diffstat (limited to 'm4/freetype2.m4')
-rw-r--r--m4/freetype2.m4178
1 files changed, 178 insertions, 0 deletions
diff --git a/m4/freetype2.m4 b/m4/freetype2.m4
new file mode 100644
index 000000000..7424a32ab
--- /dev/null
+++ b/m4/freetype2.m4
@@ -0,0 +1,178 @@
+# Configure paths for FreeType2
+# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
+#
+# serial 2
+
+# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
+# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
+# FreeType 2.0.4).
+#
+AC_DEFUN([AC_CHECK_FT2],
+ [# Get the cflags and libraries from the freetype-config script
+ #
+ AC_ARG_WITH([ft-prefix],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--with-ft-prefix=PREFIX],
+ [Prefix where FreeType is installed (optional)]),
+ [ft_config_prefix="$withval"],
+ [ft_config_prefix=""])
+
+ AC_ARG_WITH([ft-exec-prefix],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
+ [Exec prefix where FreeType is installed (optional)]),
+ [ft_config_exec_prefix="$withval"],
+ [ft_config_exec_prefix=""])
+
+ AC_ARG_ENABLE([freetypetest],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--disable-freetypetest],
+ [Do not try to compile and run a test FreeType program]),
+ [],
+ [enable_fttest=yes])
+
+ if test x$ft_config_exec_prefix != x ; then
+ ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
+ if test x${FT2_CONFIG+set} != xset ; then
+ FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
+ fi
+ fi
+
+ if test x$ft_config_prefix != x ; then
+ ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
+ if test x${FT2_CONFIG+set} != xset ; then
+ FT2_CONFIG=$ft_config_prefix/bin/freetype-config
+ fi
+ fi
+
+ AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
+
+ min_ft_version=m4_if([$1], [], [7.0.1], [$1])
+ AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
+ no_ft=""
+ if test "$FT2_CONFIG" = "no" ; then
+ no_ft=yes
+ else
+ FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
+ FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
+ ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ ft_min_major_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ft_min_minor_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ft_min_micro_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test x$enable_fttest = xyes ; then
+ ft_config_is_lt=""
+ if test $ft_config_major_version -lt $ft_min_major_version ; then
+ ft_config_is_lt=yes
+ else
+ if test $ft_config_major_version -eq $ft_min_major_version ; then
+ if test $ft_config_minor_version -lt $ft_min_minor_version ; then
+ ft_config_is_lt=yes
+ else
+ if test $ft_config_minor_version -eq $ft_min_minor_version ; then
+ if test $ft_config_micro_version -lt $ft_min_micro_version ; then
+ ft_config_is_lt=yes
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test x$ft_config_is_lt = xyes ; then
+ no_ft=yes
+ else
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $FT2_CFLAGS"
+ LIBS="$FT2_LIBS $LIBS"
+
+ #
+ # Sanity checks for the results of freetype-config to some extent.
+ #
+ AC_RUN_IFELSE([
+ AC_LANG_SOURCE([[
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main()
+{
+ FT_Library library;
+ FT_Error error;
+
+ error = FT_Init_FreeType(&library);
+
+ if (error)
+ return 1;
+ else
+ {
+ FT_Done_FreeType(library);
+ return 0;
+ }
+}
+
+ ]])
+ ],
+ [],
+ [no_ft=yes],
+ [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
+
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi # test $ft_config_version -lt $ft_min_version
+ fi # test x$enable_fttest = xyes
+ fi # test "$FT2_CONFIG" = "no"
+
+ if test x$no_ft = x ; then
+ AC_MSG_RESULT([yes])
+ m4_if([$2], [], [:], [$2])
+ else
+ AC_MSG_RESULT([no])
+ if test "$FT2_CONFIG" = "no" ; then
+ AC_MSG_WARN([
+
+ The freetype-config script installed by FreeType 2 could not be found.
+ If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
+ your path, or set the FT2_CONFIG environment variable to the
+ full path to freetype-config.
+ ])
+ else
+ if test x$ft_config_is_lt = xyes ; then
+ AC_MSG_WARN([
+
+ Your installed version of the FreeType 2 library is too old.
+ If you have different versions of FreeType 2, make sure that
+ correct values for --with-ft-prefix or --with-ft-exec-prefix
+ are used, or set the FT2_CONFIG environment variable to the
+ full path to freetype-config.
+ ])
+ else
+ AC_MSG_WARN([
+
+ The FreeType test program failed to run. If your system uses
+ shared libraries and they are installed outside the normal
+ system library path, make sure the variable LD_LIBRARY_PATH
+ (or whatever is appropiate for your system) is correctly set.
+ ])
+ fi
+ fi
+
+ FT2_CFLAGS=""
+ FT2_LIBS=""
+ m4_if([$3], [], [:], [$3])
+ fi
+
+ AC_SUBST([FT2_CFLAGS])
+ AC_SUBST([FT2_LIBS])])
+
+# end of freetype2.m4