The media-libs/freetype ebuild enables the bytecode interpreter by defining TT_CONFIG_OPTION_BYTECODE_INTERPRETER at build time. The problem is that some packages (in this case, x11-libs/evas) check to see if bytecode is supported by including /usr/include/freetype2/freetype/config/ftoption.h and checking if TT_CONFIG_... is defined. The ftoption.h file installed by Gentoo has this option commented out still, so evas is built without bytecode support.
How is this conditional support implemented in evas ?
It includes ftoption.h, and then has #ifdef's around the relevant sections of code. ie. Evas_Bool evas_common_hinting_available(Font_Hint_Flags hinting) { if (hinting == FONT_NO_HINT) return 1; else if (hinting == FONT_AUTO_HINT) { #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING return 1; #else return 0; #endif } else if (hinting == FONT_BYTECODE_HINT) { #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER return 1; #else return 0; #endif } return 0; }
well, the ftoption.h header itself advises against changing it in the header. For freetype 2.2.1 (in p.mask) I made it change the header however, so that should fix this for you ?
Yes, that should be great. Thanks!
changing status