Subject: bug#31634: emacs 26.1 Compilation error and fix on Solaris 10

From: Robert Pluim <[email-masked]>
Date: Tue, 29 May 2018 11:46:45 +0200

Andreas Schwab <[email-masked]> writes:

> On Mai 29 2018, "Christian Jullien" <[email-masked]> wrote:
>
>> The result of configure gives config.h with XFT feature:
>>
>> /* Summary of some of the main features enabled by configure. */
>> #define EMACS_CONFIG_FEATURES "XPM JPEG TIFF PNG ACL FREETYPE XFT
>> TOOLKIT_SCROLL_BARS LUCID X11 THREADS"
>>
>> But later in this file, it gives
>>
>> /* Define to 1 if you have the Xft library. */
>> /* #undef HAVE_XFT */
>
> Looks like there is a logic error in configure, failing to reset
> HAVE_XFT to no if Xrender is missing.

Indeed. Christian, could you try the following patch? (you'll need to
regenerate configure and re-run it).

diff --git i/configure.ac w/configure.ac
index c66c80adbb..c6101d6353 100644
--- i/configure.ac
+++ w/configure.ac
@@ -3210,8 +3210,8 @@ AC_DEFUN
     if test "x${with_xft}" != "xno"; then
 
       EMACS_CHECK_MODULES([XFT], [xft >= 0.13.0], [], [HAVE_XFT=no])
-      ## Because xftfont.c uses XRenderQueryExtension, we also
-      ## need to link to -lXrender.
+      ## Because xterm.c uses XRenderQueryExtension when XFT is
+      ## enabled, we also need to link to -lXrender.
       HAVE_XRENDER=no
       AC_CHECK_LIB(Xrender, XRenderQueryExtension, HAVE_XRENDER=yes)
       if test "$HAVE_XFT" != no && test "$HAVE_XRENDER" != no; then
@@ -3234,6 +3234,9 @@ AC_DEFUN
 	CPPFLAGS=$OLD_CPPFLAGS
 	CFLAGS=$OLD_CFLAGS
 	LIBS=$OLD_LIBS
+      else
+      # Make sure XFT is disabled if we found XFT but not XRender
+	HAVE_XFT=no
       fi                          # "$HAVE_XFT" != no
     fi                            # "x${with_xft}" != "xno"