179 lines
5.5 KiB
Plaintext
179 lines
5.5 KiB
Plaintext
# 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
|