# HarfBuzz feature options
option('glib', type: 'feature', value: 'auto',
  description: 'Enable GLib unicode functions')
option('gobject', type: 'feature', value: 'auto',
  description: 'Enable GObject bindings')
option('cairo', type: 'feature', value: 'auto',
  description: 'Use Cairo graphics library')
option('chafa', type: 'feature', value: 'auto',
  description: 'Use Chafa terminal graphics library')
option('icu', type: 'feature', value: 'auto',
  description: 'Enable ICU library unicode functions')
option('graphite', type: 'feature', value: 'disabled',
  description: 'Deprecated use graphite2 option instead')
option('graphite2', type: 'feature', value: 'disabled',
  description: 'Enable Graphite2 complementary shaper')
option('freetype', type: 'feature', value: 'auto',
  description: 'Enable freetype interop helpers')
option('gdi', type: 'feature', value: 'disabled',
  description: 'Enable GDI helpers and Uniscribe shaper backend (Windows only)')
option('directwrite', type: 'feature', value: 'disabled',
  description: 'Enable DirectWrite shaper backend on Windows (experimental)')
option('coretext', type: 'feature', value: 'disabled',
  description: 'Enable CoreText shaper backend on macOS')

# Common feature options
option('tests', type: 'feature', value: 'enabled', yield: true,
  description: 'Enable or disable unit tests')
option('introspection', type: 'feature', value: 'auto', yield: true,
  description: 'Generate gobject-introspection bindings (.gir/.typelib files)')
option('docs', type: 'feature', value: 'auto', yield: true,
  description: 'Generate documentation with gtk-doc')
option('doc_tests', type: 'boolean', value: false,
  description: 'Run gtkdoc-check tests')

option('benchmark', type: 'feature', value: 'disabled',
  description: 'Enable benchmark tests')
option('icu_builtin', type: 'boolean', value: false,
  description: 'Don\'t separate ICU support as harfbuzz-icu module')
option('experimental_api', type: 'boolean', value: false,
  description: 'Enable experimental APIs')
option('ragel_subproject', type: 'boolean', value: false,
  description: 'Build Ragel subproject if no suitable version is found')
option('fuzzer_ldflags', type: 'string',
  description: 'Extra LDFLAGS used during linking of fuzzing binaries')
