+### Start of font-backend section.
+
+## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'.
+HAVE_XFT=maybe
+if test "x${with_freetype}" = "xno"; then
+ with_xft="no";
+fi
+if test "x${with_xft}" != "xno"; then
+
+ PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
+ if test "$HAVE_XFT" != no; then
+ OLD_CPPFLAGS="$CPPFLAGS"
+ OLD_CFLAGS="$CFLAGS"
+ OLD_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
+ CFLAGS="$CFLAGS $XFT_CFLAGS"
+ LIBS="$XFT_LIBS $LIBS"
+ AC_CHECK_HEADER(X11/Xft/Xft.h,
+ AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS))
+
+ if test "${HAVE_XFT}" = "yes"; then
+ AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.])
+ AC_SUBST(XFT_LIBS)
+ C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
+ else
+ CPPFLAGS="$OLD_CPPFLAGS"
+ CFLAGS="$OLD_CFLAGS"
+ LIBS="$OLD_LIBS"
+ fi # "${HAVE_XFT}" = "yes"
+ fi # "$HAVE_XFT" != no
+fi # "x${with_xft}" != "xno"
+
+dnl For the "Does Emacs use" message at the end.
+if test "$HAVE_XFT" != "yes"; then
+ HAVE_XFT=no
+fi
+
+
+HAVE_FREETYPE=no
+### Use -lfreetype if available, unless `--with-freetype=no'.
+if test "${HAVE_XFT}" = "yes"; then
+ dnl As we use Xft, we anyway use freetype.
+ dnl In this case, there's no need of additional CFLAGS and LIBS.
+ HAVE_FREETYPE=yes
+elif test "x${with_freetype}" != "xno"; then
+
+ PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no)
+ if test "${HAVE_FREETYPE}" = "yes"; then
+ PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no)
+ if test "${HAVE_FC}" = "no"; then
+ dnl Without fontconfig, we can't use freetype at the moment.
+ HAVE_FREETYPE=no
+ fi
+ fi
+fi
+
+HAVE_LIBOTF=no
+if test "${HAVE_FREETYPE}" = "yes"; then
+ AC_DEFINE(HAVE_FREETYPE, 1,
+ [Define to 1 if using the freetype and fontconfig libraries.])
+ if test "${with_libotf}" != "no"; then
+ PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes,
+ HAVE_LIBOTF=no)
+ if test "$HAVE_LIBOTF" = "yes"; then
+ AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.])
+ fi
+ fi
+dnl FIXME should there be an error if HAVE_FREETYPE != yes?
+dnl Does the new font backend require it, or can it work without it?
+fi
+
+HAVE_M17N_FLT=no
+if test "${with_m17n_flt}" != "no"; then
+ PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, HAVE_M17N_FLT=no)
+ if test "$HAVE_M17N_FLT" = "yes"; then
+ AC_DEFINE(HAVE_M17N_FLT, 1, [Define to 1 if using libm17n-flt.])
+ fi
+fi
+
+AC_SUBST(FREETYPE_CFLAGS)
+AC_SUBST(FREETYPE_LIBS)
+AC_SUBST(FONTCONFIG_CFLAGS)
+AC_SUBST(FONTCONFIG_LIBS)
+AC_SUBST(LIBOTF_CFLAGS)
+AC_SUBST(LIBOTF_LIBS)
+AC_SUBST(M17N_FLT_CFLAGS)
+AC_SUBST(M17N_FLT_LIBS)
+
+### End of font-backend section.
+