Blame m4/freetype2.m4

Packit 1f69a5
# Configure paths for FreeType2
Packit 1f69a5
# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
Packit 1f69a5
Packit 1f69a5
dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
Packit 1f69a5
dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
Packit 1f69a5
dnl
Packit 1f69a5
AC_DEFUN([AC_CHECK_FT2],
Packit 1f69a5
[dnl
Packit 1f69a5
dnl Get the cflags and libraries from the freetype-config script
Packit 1f69a5
dnl
Packit 1f69a5
AC_ARG_WITH(ft-prefix,
Packit 1f69a5
[  --with-ft-prefix=PREFIX
Packit 1f69a5
                          Prefix where FreeType is installed (optional)],
Packit 1f69a5
            ft_config_prefix="$withval", ft_config_prefix="")
Packit 1f69a5
AC_ARG_WITH(ft-exec-prefix,
Packit 1f69a5
[  --with-ft-exec-prefix=PREFIX
Packit 1f69a5
                          Exec prefix where FreeType is installed (optional)],
Packit 1f69a5
            ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
Packit 1f69a5
AC_ARG_ENABLE(freetypetest,
Packit 1f69a5
[  --disable-freetypetest  Do not try to compile and run
Packit 1f69a5
                          a test FreeType program],
Packit 1f69a5
              [], enable_fttest=yes)
Packit 1f69a5
Packit 1f69a5
if test x$ft_config_exec_prefix != x ; then
Packit 1f69a5
  ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
Packit 1f69a5
  if test x${FT2_CONFIG+set} != xset ; then
Packit 1f69a5
    FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
Packit 1f69a5
  fi
Packit 1f69a5
fi
Packit 1f69a5
if test x$ft_config_prefix != x ; then
Packit 1f69a5
  ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
Packit 1f69a5
  if test x${FT2_CONFIG+set} != xset ; then
Packit 1f69a5
    FT2_CONFIG=$ft_config_prefix/bin/freetype-config
Packit 1f69a5
  fi
Packit 1f69a5
fi
Packit 1f69a5
AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
Packit 1f69a5
Packit 1f69a5
min_ft_version=ifelse([$1], ,6.1.0,$1)
Packit 1f69a5
AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
Packit 1f69a5
no_ft=""
Packit 1f69a5
if test "$FT2_CONFIG" = "no" ; then
Packit 1f69a5
  no_ft=yes
Packit 1f69a5
else
Packit 1f69a5
  FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
Packit 1f69a5
  FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
Packit 1f69a5
  ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
Packit 1f69a5
  ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
Packit 1f69a5
  ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
Packit 1f69a5
  ft_min_major_version=`echo $min_ft_version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
Packit 1f69a5
  ft_min_minor_version=`echo $min_ft_version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
Packit 1f69a5
  ft_min_micro_version=`echo $min_ft_version | \
Packit 1f69a5
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
Packit 1f69a5
  if test x$enable_fttest = xyes ; then
Packit 1f69a5
    ft_config_is_lt=""
Packit 1f69a5
    if test $ft_config_major_version -lt $ft_min_major_version ; then
Packit 1f69a5
      ft_config_is_lt=yes
Packit 1f69a5
    else
Packit 1f69a5
      if test $ft_config_major_version -eq $ft_min_major_version ; then
Packit 1f69a5
        if test $ft_config_minor_version -lt $ft_min_minor_version ; then
Packit 1f69a5
          ft_config_is_lt=yes
Packit 1f69a5
        else
Packit 1f69a5
          if test $ft_config_minor_version -eq $ft_min_minor_version ; then
Packit 1f69a5
            if test $ft_config_micro_version -lt $ft_min_micro_version ; then
Packit 1f69a5
              ft_config_is_lt=yes
Packit 1f69a5
            fi
Packit 1f69a5
          fi
Packit 1f69a5
        fi
Packit 1f69a5
      fi
Packit 1f69a5
    fi
Packit 1f69a5
    if test x$ft_config_is_lt = xyes ; then
Packit 1f69a5
      no_ft=yes
Packit 1f69a5
    else
Packit 1f69a5
      ac_save_CFLAGS="$CFLAGS"
Packit 1f69a5
      ac_save_LIBS="$LIBS"
Packit 1f69a5
      CFLAGS="$CFLAGS $FT2_CFLAGS"
Packit 1f69a5
      LIBS="$FT2_LIBS $LIBS"
Packit 1f69a5
dnl
Packit 1f69a5
dnl Sanity checks for the results of freetype-config to some extent
Packit 1f69a5
dnl
Packit 1f69a5
      AC_TRY_RUN([
Packit 1f69a5
#include <ft2build.h>
Packit 1f69a5
#include FT_FREETYPE_H
Packit 1f69a5
#include <stdio.h>
Packit 1f69a5
#include <stdlib.h>
Packit 1f69a5
Packit 1f69a5
int
Packit 1f69a5
main()
Packit 1f69a5
{
Packit 1f69a5
  FT_Library library;
Packit 1f69a5
  FT_Error error;
Packit 1f69a5
Packit 1f69a5
  error = FT_Init_FreeType(&library);
Packit 1f69a5
Packit 1f69a5
  if (error)
Packit 1f69a5
    return 1;
Packit 1f69a5
  else
Packit 1f69a5
  {
Packit 1f69a5
    FT_Done_FreeType(library);
Packit 1f69a5
    return 0;
Packit 1f69a5
  }
Packit 1f69a5
}
Packit 1f69a5
],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
Packit 1f69a5
      CFLAGS="$ac_save_CFLAGS"
Packit 1f69a5
      LIBS="$ac_save_LIBS"
Packit 1f69a5
    fi             # test $ft_config_version -lt $ft_min_version
Packit 1f69a5
  fi               # test x$enable_fttest = xyes
Packit 1f69a5
fi                 # test "$FT2_CONFIG" = "no"
Packit 1f69a5
if test x$no_ft = x ; then
Packit 1f69a5
   AC_MSG_RESULT(yes)
Packit 1f69a5
   ifelse([$2], , :, [$2])
Packit 1f69a5
else
Packit 1f69a5
   AC_MSG_RESULT(no)
Packit 1f69a5
   if test "$FT2_CONFIG" = "no" ; then
Packit 1f69a5
     echo "*** The freetype-config script installed by FreeType 2 could not be found."
Packit 1f69a5
     echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
Packit 1f69a5
     echo "*** your path, or set the FT2_CONFIG environment variable to the"
Packit 1f69a5
     echo "*** full path to freetype-config."
Packit 1f69a5
   else
Packit 1f69a5
     if test x$ft_config_is_lt = xyes ; then
Packit 1f69a5
       echo "*** Your installed version of the FreeType 2 library is too old."
Packit 1f69a5
       echo "*** If you have different versions of FreeType 2, make sure that"
Packit 1f69a5
       echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
Packit 1f69a5
       echo "*** are used, or set the FT2_CONFIG environment variable to the"
Packit 1f69a5
       echo "*** full path to freetype-config."
Packit 1f69a5
     else
Packit 1f69a5
       echo "*** The FreeType test program failed to run.  If your system uses"
Packit 1f69a5
       echo "*** shared libraries and they are installed outside the normal"
Packit 1f69a5
       echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
Packit 1f69a5
       echo "*** (or whatever is appropiate for your system) is correctly set."
Packit 1f69a5
     fi
Packit 1f69a5
   fi
Packit 1f69a5
   FT2_CFLAGS=""
Packit 1f69a5
   FT2_LIBS=""
Packit 1f69a5
   ifelse([$3], , :, [$3])
Packit 1f69a5
fi
Packit 1f69a5
AC_SUBST(FT2_CFLAGS)
Packit 1f69a5
AC_SUBST(FT2_LIBS)
Packit 1f69a5
])