changeset 2881:56b5aa4739a2

PR2935: Check that freetype defines FT_CONFIG_OPTION_INFINALITY_PATCHSET if enabling infinality 2016-04-21 Andrew John Hughes <gnu.andrew@member.fsf.org> PR2935: Check that freetype defines FT_CONFIG_OPTION_INFINALITY_PATCHSET if enabling infinality * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Depend on IT_CHECK_FOR_FREETYPE and check that FreeType defines FT_CONFIG_OPTION_INFINALITY_PATCHSET. (IT_CHECK_FOR_FREETYPE): Moved from configure.ac to its own macro so IT_ENABLE_INFINALITY can depend on it. * configure.ac: Move FreeType check to its own macro.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 22 Apr 2016 03:48:04 +0100
parents dcc404efa123
children eb28ef741d14
files ChangeLog NEWS acinclude.m4 configure.ac
diffstat 4 files changed, 43 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Apr 22 02:46:06 2016 +0100
+++ b/ChangeLog	Fri Apr 22 03:48:04 2016 +0100
@@ -1,3 +1,20 @@
+2016-04-21  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	PR2935: Check that freetype defines
+	FT_CONFIG_OPTION_INFINALITY_PATCHSET if
+	enabling infinality
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_ENABLE_INFINALITY): Depend on
+	IT_CHECK_FOR_FREETYPE and check that
+	FreeType defines
+	FT_CONFIG_OPTION_INFINALITY_PATCHSET.
+	(IT_CHECK_FOR_FREETYPE): Moved from
+	configure.ac to its own macro so
+	IT_ENABLE_INFINALITY can depend on it.
+	* configure.ac:
+	Move FreeType check to its own macro.
+
 2016-04-21  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	PR2929: configure: error: "A JDK home directory
--- a/NEWS	Fri Apr 22 02:46:06 2016 +0100
+++ b/NEWS	Fri Apr 22 03:48:04 2016 +0100
@@ -17,6 +17,7 @@
 * Bug fixes
   - PR2889: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts)
   - PR2929: configure: error: "A JDK home directory could not be found."
+  - PR2935: Check that freetype defines FT_CONFIG_OPTION_INFINALITY_PATCHSET if enabling infinality
 * AArch64 port
   - PR2914: byte_map_base is not page aligned on OpenJDK 7
 * JamVM
--- a/acinclude.m4	Fri Apr 22 02:46:06 2016 +0100
+++ b/acinclude.m4	Fri Apr 22 03:48:04 2016 +0100
@@ -2838,6 +2838,7 @@
 
 AC_DEFUN_ONCE([IT_ENABLE_INFINALITY],
 [
+  AC_REQUIRE([IT_CHECK_FOR_FREETYPE])
   AC_REQUIRE([IT_CHECK_FOR_FONTCONFIG])
   AC_MSG_CHECKING([whether to use fontconfig to provide better font rendering])
   AC_ARG_ENABLE([infinality],
@@ -2861,6 +2862,20 @@
     if test "x${ENABLE_SYSTEM_FONTCONFIG}" != "xtrue"; then
       AC_MSG_ERROR([Infinality support requires fontconfig. Either --enable-system-fontconfig or --disable-infinality])
     fi
+    AC_MSG_CHECKING([if FreeType is patched with infinality support])
+    AC_LANG_PUSH([C])
+    CFLAGS_SAVED=$CFLAGS
+    CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+    #include <ft2build.h>
+    #include FT_FREETYPE_H
+    #ifndef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+    #error Infinality not supported
+    #endif
+    ]])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); \
+      AC_MSG_ERROR([Infinality support requires infinality support in FreeType.])])
+    CFLAGS=$CFLAGS_SAVED
+    AC_LANG_POP([C])
   fi
 ])
 
@@ -3360,3 +3375,13 @@
   AM_CONDITIONAL(USE_ALT_CACERTS_FILE, test "x${ALT_CACERTS_FILE}" != "xno")
   AC_SUBST(ALT_CACERTS_FILE)
 ])
+
+AC_DEFUN_ONCE([IT_CHECK_FOR_FREETYPE],
+[
+dnl Check for freetype2 headers and libraries.
+  PKG_CHECK_MODULES(FREETYPE2, freetype2,[]
+	  ,[AC_MSG_ERROR([Could not find freetype2 - \
+  Try installing freetype2-devel.])])
+  AC_SUBST(FREETYPE2_CFLAGS)
+  AC_SUBST(FREETYPE2_LIBS)
+])
--- a/configure.ac	Fri Apr 22 02:46:06 2016 +0100
+++ b/configure.ac	Fri Apr 22 03:48:04 2016 +0100
@@ -359,17 +359,6 @@
 AC_SUBST(XTST_CFLAGS)
 AC_SUBST(XTST_LIBS)
 
-dnl Check for freetype2 headers and libraries.
-PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes]
-	,[FREETYPE2_FOUND=no])
-if test "x${FREETYPE2_FOUND}" = xno
-then
-  AC_MSG_ERROR([Could not find freetype2 - \
-  Try installing freetype2-devel.])
-fi
-AC_SUBST(FREETYPE2_CFLAGS)
-AC_SUBST(FREETYPE2_LIBS)
-
 dnl Check for alsa headers and libraries (only required for Linux).
 if test "x${BUILD_OS_DIR}" = "xlinux"
 then