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