Subject: Re: bug#49722: 27.2; Emacs won't build with old versions of fontconfig

From: Stefan Kangas <[email-masked]>
Date: Fri, 5 Nov 2021 07:14:10 -0700

close 49722 28.1
thanks

Eli Zaretskii <[email-masked]> writes:

>> xftfont.c: In function ‘xftfont_cached_font_ok’:
>> xftfont.c:591: error: ‘FC_LCD_FILTER’ undeclared (first use in this function)
>> xftfont.c:591: error: (Each undeclared identifier is reported only once
>> xftfont.c:591: error: for each function it appears in.)
>>
>> It appears that FC_LCD_FILTER is not present on these older versions of
>> fontconfig.
>
> Thanks.  We once had the following in xftfont.c:
>
>   #ifndef FC_LCD_FILTER
>     /* Older fontconfig versions don't have FC_LCD_FILTER. */
>   #define FC_LCD_FILTER "lcdfilter"
>   #endif
>
> But it got moved to ftfont.c when a function which used it was moved
> there.  However, since xftfont.c still uses this, I think we should
> have this #define in xftfont.c as well, so please try adding that at
> the beginning of xftfont.c, and see if that helps.

Andrei Kuznetsov <[email-masked]> writes:

> Indeed it does.  With the aformentioned change, Emacs now builds and
> seems to operate normally.

The fix was installed, so I'm closing this bug report.

commit 41a55a330f518254da795719ac6e3085254d4110
Author: Eli Zaretskii <[email-masked]>
Date:   Sun Jul 25 15:50:46 2021 +0300

    Fix compilation of xftfont.c with old fontconfig

    * src/xftfont.c (FC_LCD_FILTER): Define if undefined, for older
    versions of fontconfig.  This was mistakenly deleted 2 years ago.
    (Bug#49722)