1# HarfBuzz feature options 2option('glib', type: 'feature', value: 'auto', 3 description: 'Enable GLib unicode functions') 4option('gobject', type: 'feature', value: 'auto', 5 description: 'Enable GObject bindings') 6option('cairo', type: 'feature', value: 'auto', 7 description: 'Use Cairo graphics library') 8option('chafa', type: 'feature', value: 'auto', 9 description: 'Use Chafa terminal graphics library') 10option('icu', type: 'feature', value: 'auto', 11 description: 'Enable ICU library unicode functions') 12option('graphite', type: 'feature', value: 'disabled', 13 description: 'Deprecated use graphite2 option instead') 14option('graphite2', type: 'feature', value: 'disabled', 15 description: 'Enable Graphite2 complementary shaper') 16option('freetype', type: 'feature', value: 'auto', 17 description: 'Enable freetype interop helpers') 18option('gdi', type: 'feature', value: 'disabled', 19 description: 'Enable GDI helpers and Uniscribe shaper backend (Windows only)') 20option('directwrite', type: 'feature', value: 'disabled', 21 description: 'Enable DirectWrite shaper backend on Windows (experimental)') 22option('coretext', type: 'feature', value: 'disabled', 23 description: 'Enable CoreText shaper backend on macOS') 24 25# Common feature options 26option('tests', type: 'feature', value: 'enabled', yield: true, 27 description: 'Enable or disable unit tests') 28option('introspection', type: 'feature', value: 'auto', yield: true, 29 description: 'Generate gobject-introspection bindings (.gir/.typelib files)') 30option('docs', type: 'feature', value: 'auto', yield: true, 31 description: 'Generate documentation with gtk-doc') 32 33option('benchmark', type: 'feature', value: 'disabled', 34 description: 'Enable benchmark tests') 35option('icu_builtin', type: 'boolean', value: false, 36 description: 'Don\'t separate ICU support as harfbuzz-icu module') 37option('experimental_api', type: 'boolean', value: false, 38 description: 'Enable experimental APIs') 39option('ragel_subproject', type: 'boolean', value: false, 40 description: 'Build Ragel subproject if no suitable version is found') 41option('fuzzer_ldflags', type: 'string', 42 description: 'Extra LDFLAGS used during linking of fuzzing binaries') 43