From c59d322971c383c14b79ae898436fc4c23207e13 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Tue, 12 Jun 2018 12:22:19 +0200 Subject: [PATCH] Replace freetype-config with pkg-config As of freetype-2.9.1 the freetype-config script no longer gets installed by default. --- configure.ac | 57 ++++++++++++++++++---------------------------------- 1 file changed, 20 insertions(+), 37 deletions(-) diff --git a/configure.ac b/configure.ac index 92945a19..7f062c65 100644 --- a/configure.ac +++ b/configure.ac @@ -78,43 +78,26 @@ PKG_CHECK_MODULES(PANGOVERSION, pango >= 1.20.0 pangocairo, , AC_ARG_WITH(freetype, AC_HELP_STRING([--without-freetype],[compile without FreeType support]),,with_freetype=yes) -if test "x$with_freetype" = "xyes"; then -PKG_CHECK_MODULES(PANGOFT2,pangoft2,have_pangoft2=true,have_pangoft2=false) -if test "$have_pangoft2" = "true"; then - dnl On Solaris with Forte C, at least, need to link app/dia with -lfreetype. - dnl It's not enough that -lpangoft2 implicitly pulls it in. - have_freetype=false - AC_CHECK_LIB(freetype,FT_Init_FreeType,have_freetype=true,have_freetype=false,`freetype-config --libs`) - if test "$have_freetype" = "true"; then - dnl Need 2.0.9, as a bug was fixed for us there. - dnl However, freetype-config doesn't give a meaningful version, so we must - dnl do it like this. - AC_MSG_CHECKING([if FreeType version is 2.0.9 or higher]) - old_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS `freetype-config --cflags`" - AC_TRY_CPP([#include -#include FT_FREETYPE_H -#if (FREETYPE_MAJOR*1000+FREETYPE_MINOR)*1000+FREETYPE_PATCH < 2000009 -#error Freetype version too low. -#endif -], - [AC_MSG_RESULT(yes) - FREETYPE_LIBS=`freetype-config --libs` - AC_SUBST(FREETYPE_LIBS) - FREETYPE_CFLAGS=`freetype-config --cflags` - AC_SUBST(FREETYPE_CFLAGS) - GTK_MODULES="$GTK_MODULES pangoft2" - AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])] - , - [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])]) - CPPFLAGS="$old_CPPFLAGS" - else - AC_MSG_ERROR(Can't find FreeType library) - fi -else - AC_MSG_ERROR(Can't find PangoFT2 library) -fi -fi +AS_IF([test "x$with_freetype" = "xyes"],[ + dnl freetype2.pc uses the libtool specific version number and not the + dnl package version. See + dnl https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT + dnl Let's raise minimum dependency to freetype-2.4.0 because that's the + dnl lowest freetype libtool version I could find. + dnl freetype-2.4.0 is from July 2010 and should be reasonably old + dnl enough. + PKG_CHECK_MODULES(FREETYPE, freetype2 >= 11.0.5, + [ + CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" + AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library]) + ], + AC_MSG_ERROR([Need FreeType library version 2.4.0 or higher]) + ) + PKG_CHECK_MODULES(PANGOFT2,pangoft2, + GTK_MODULES="$GTK_MODULES pangoft2", + AC_MSG_ERROR(Can't find PangoFT2 library) + ) +]) AM_CONDITIONAL(WITH_FREETYPE, test "x$with_freetype" != "xno") CFLAGS="$FREETYPE_CFLAGS $CFLAGS" -- 2.18.0.rc1