The ftconfig.h file changed significantly in 2.10.3 in a way that I could not find a way
to detect in the preprocessor. Defining the FREETYPE_VERSION symbol in FT_CFLAGS makes
the subsequent changes easier and relatively readable. The same value format is used as in
the Freetype/fVDI code. This is a little tacky IMO, but only needed because of the need
to test versions quite early during preprocessing.
(In 2.5.x the freetype.h header moved, hence the checks in the Makefile. Sanity prevailed
in 2.6.1.)
Most of the ftconfig.h definitions are now in the new internal compiler-macros.h. Thew new
defs include the use of __attribute__(( visibility( "hidden" ) )) which doesn't work
with m68k-atari-mint-gcc10. Adding -Wno-attributes to FT2_WARNINGS mutes this
apparently harmless warning.
Two lcd smoothing modules have been retired.
After porting to 2.10.3, I found that all subsequent versions now build cleanly. Existing
builds of 2.2.1, 2.5.2, 2.8.1 and 2.10.2 still build.
The ftconfig.h file changed significantly in 2.10.3 in a way that I could not find a way to detect in the preprocessor. Defining the
FREETYPE_VERSION
symbol inFT_CFLAGS
makes the subsequent changes easier and relatively readable. The same value format is used as in the Freetype/fVDI code. This is a little tacky IMO, but only needed because of the need to test versions quite early during preprocessing.(In 2.5.x the freetype.h header moved, hence the checks in the Makefile. Sanity prevailed in 2.6.1.)
Most of the ftconfig.h definitions are now in the new internal compiler-macros.h. Thew new defs include the use of
__attribute__(( visibility( "hidden" ) ))
which doesn't work with m68k-atari-mint-gcc10. Adding-Wno-attributes
toFT2_WARNINGS
mutes this apparently harmless warning.Two lcd smoothing modules have been retired.
After porting to 2.10.3, I found that all subsequent versions now build cleanly. Existing builds of 2.2.1, 2.5.2, 2.8.1 and 2.10.2 still build.
fvdi_gnu.prg sizes with gcc10 are: