# Configure paths for FreeType2 | |
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor | |
# | |
# Copyright 2001-2015 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. | |
# | |
# As a special exception to the FreeType project license, this file may be | |
# distributed as part of a program that contains a configuration script | |
# generated by Autoconf, under the same distribution terms as the rest of | |
# that program. | |
# | |
# serial 4 | |
# 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 | |
if test "x$FT2_CONFIG" = x ; then | |
AC_PATH_TOOL([FT2_CONFIG], [freetype-config], [no]) | |
fi | |
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 appropriate 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 |