# Base and default-included sources and headers

HB_BASE_sources = \
	hb-aat-fdsc-table.hh \
	hb-aat-layout-ankr-table.hh \
	hb-aat-layout-bsln-table.hh \
	hb-aat-layout-common.hh \
	hb-aat-layout-feat-table.hh \
	hb-aat-layout-just-table.hh \
	hb-aat-layout-kerx-table.hh \
	hb-aat-layout-lcar-table.hh \
	hb-aat-layout-morx-table.hh \
	hb-aat-layout-opbd-table.hh \
	hb-aat-layout-trak-table.hh \
	hb-aat-layout.cc \
	hb-aat-layout.hh \
	hb-aat-ltag-table.hh \
	hb-aat-map.cc \
	hb-aat-map.hh \
	hb-algs.hh \
	hb-array.hh \
	hb-atomic.hh \
	hb-blob.cc \
	hb-blob.hh \
	hb-buffer-serialize.cc \
	hb-buffer.cc \
	hb-buffer.hh \
	hb-cache.hh \
	hb-cff-interp-common.hh \
	hb-cff-interp-cs-common.hh \
	hb-cff-interp-dict-common.hh \
	hb-cff1-interp-cs.hh \
	hb-cff2-interp-cs.hh \
	hb-common.cc \
	hb-config.hh \
	hb-debug.hh \
	hb-dispatch.hh \
	hb-face.cc \
	hb-face.hh \
	hb-fallback-shape.cc \
	hb-font.cc \
	hb-font.hh \
	hb-iter.hh \
	hb-kern.hh \
	hb-machinery.hh \
	hb-map.cc \
	hb-map.hh \
	hb-bimap.hh \
	hb-meta.hh \
	hb-mutex.hh \
	hb-null.hh \
	hb-number.cc \
	hb-number.hh \
	hb-object.hh \
	hb-open-file.hh \
	hb-open-type.hh \
	hb-ot-cff-common.hh \
	hb-ot-cff1-table.cc \
	hb-ot-cff1-table.hh \
	hb-ot-cff2-table.cc \
	hb-ot-cff2-table.hh \
	hb-ot-cmap-table.hh \
	hb-ot-color-cbdt-table.hh \
	hb-ot-color-colr-table.hh \
	hb-ot-color-cpal-table.hh \
	hb-ot-color-sbix-table.hh \
	hb-ot-color-svg-table.hh \
	hb-ot-color.cc \
	hb-ot-face.cc \
	hb-ot-face.hh \
	hb-ot-face-table-list.hh \
	hb-ot-font.cc \
	hb-ot-gasp-table.hh \
	hb-ot-glyf-table.hh \
	hb-ot-hdmx-table.hh \
	hb-ot-head-table.hh \
	hb-ot-hhea-table.hh \
	hb-ot-hmtx-table.hh \
	hb-ot-kern-table.hh \
	hb-ot-layout-base-table.hh \
	hb-ot-layout-common.hh \
	hb-ot-layout-gdef-table.hh \
	hb-ot-layout-gpos-table.hh \
	hb-ot-layout-gsub-table.hh \
	hb-ot-layout-gsubgpos.hh \
	hb-ot-layout-jstf-table.hh \
	hb-ot-layout.cc \
	hb-ot-layout.hh \
	hb-ot-map.cc \
	hb-ot-map.hh \
	hb-ot-math-table.hh \
	hb-ot-math.cc \
	hb-ot-maxp-table.hh \
	hb-ot-meta-table.hh \
	hb-ot-meta.cc \
	hb-ot-metrics.cc \
	hb-ot-metrics.hh \
	hb-ot-name-language-static.hh \
	hb-ot-name-language.hh \
	hb-ot-name-table.hh \
	hb-ot-name.cc \
	hb-ot-os2-table.hh \
	hb-ot-os2-unicode-ranges.hh \
	hb-ot-post-macroman.hh \
	hb-ot-post-table.hh \
	hb-ot-shape-complex-arabic-fallback.hh \
	hb-ot-shape-complex-arabic-table.hh \
	hb-ot-shape-complex-arabic-win1256.hh \
	hb-ot-shape-complex-arabic.cc \
	hb-ot-shape-complex-arabic.hh \
	hb-ot-shape-complex-default.cc \
	hb-ot-shape-complex-hangul.cc \
	hb-ot-shape-complex-hebrew.cc \
	hb-ot-shape-complex-indic-table.cc \
	hb-ot-shape-complex-indic.cc \
	hb-ot-shape-complex-indic.hh \
	hb-ot-shape-complex-khmer.cc \
	hb-ot-shape-complex-khmer.hh \
	hb-ot-shape-complex-myanmar.cc \
	hb-ot-shape-complex-myanmar.hh \
	hb-ot-shape-complex-thai.cc \
	hb-ot-shape-complex-use-table.cc \
	hb-ot-shape-complex-use.cc \
	hb-ot-shape-complex-use.hh \
	hb-ot-shape-complex-vowel-constraints.cc \
	hb-ot-shape-complex-vowel-constraints.hh \
	hb-ot-shape-complex.hh \
	hb-ot-shape-fallback.cc \
	hb-ot-shape-fallback.hh \
	hb-ot-shape-normalize.cc \
	hb-ot-shape-normalize.hh \
	hb-ot-shape.cc \
	hb-ot-shape.hh \
	hb-ot-stat-table.hh \
	hb-ot-tag-table.hh \
	hb-ot-tag.cc \
	hb-ot-var-avar-table.hh \
	hb-ot-var-fvar-table.hh \
	hb-ot-var-gvar-table.hh \
	hb-ot-var-hvar-table.hh \
	hb-ot-var-mvar-table.hh \
	hb-ot-var.cc \
	hb-ot-vorg-table.hh \
	hb-pool.hh \
	hb-sanitize.hh \
	hb-serialize.hh \
	hb-set-digest.hh \
	hb-set.cc \
	hb-set.hh \
	hb-shape-plan.cc \
	hb-shape-plan.hh \
	hb-shape.cc \
	hb-shaper-impl.hh \
	hb-shaper-list.hh \
	hb-shaper.cc \
	hb-shaper.hh \
	hb-static.cc \
	hb-string-array.hh \
	hb-ucd-table.hh \
	hb-ucd.cc \
	hb-unicode-emoji-table.hh \
	hb-unicode.cc \
	hb-unicode.hh \
	hb-utf.hh \
	hb-vector.hh \
	hb.hh \
	$(NULL)

HB_BASE_RAGEL_GENERATED_sources = \
	hb-buffer-deserialize-json.hh \
	hb-buffer-deserialize-text.hh \
	hb-number-parser.hh \
	hb-ot-shape-complex-indic-machine.hh \
	hb-ot-shape-complex-khmer-machine.hh \
	hb-ot-shape-complex-myanmar-machine.hh \
	hb-ot-shape-complex-use-machine.hh \
	$(NULL)
HB_BASE_RAGEL_sources = \
	hb-buffer-deserialize-json.rl \
	hb-buffer-deserialize-text.rl \
	hb-number-parser.rl \
	hb-ot-shape-complex-indic-machine.rl \
	hb-ot-shape-complex-khmer-machine.rl \
	hb-ot-shape-complex-myanmar-machine.rl \
	hb-ot-shape-complex-use-machine.rl \
	$(NULL)

HB_BASE_headers = \
	hb-aat-layout.h \
	hb-aat.h \
	hb-blob.h \
	hb-buffer.h \
	hb-common.h \
	hb-deprecated.h \
	hb-face.h \
	hb-font.h \
	hb-map.h \
	hb-ot-color.h \
	hb-ot-deprecated.h \
	hb-ot-font.h \
	hb-ot-layout.h \
	hb-ot-math.h \
	hb-ot-meta.h \
	hb-ot-metrics.h \
	hb-ot-name.h \
	hb-ot-shape.h \
	hb-ot-var.h \
	hb-ot.h \
	hb-set.h \
	hb-shape-plan.h \
	hb-shape.h \
	hb-unicode.h \
	hb-version.h \
	hb.h \
	$(NULL)

# Optional Sources and Headers with external deps

HB_FT_sources = hb-ft.cc
HB_FT_headers = hb-ft.h

HB_GLIB_sources = hb-glib.cc
HB_GLIB_headers = hb-glib.h

HB_GRAPHITE2_sources = hb-graphite2.cc
HB_GRAPHITE2_headers = hb-graphite2.h

# System-dependent sources and headers

HB_CORETEXT_sources = hb-coretext.cc
HB_CORETEXT_headers = hb-coretext.h

HB_DIRECTWRITE_sources = hb-directwrite.cc
HB_DIRECTWRITE_headers = hb-directwrite.h

HB_GDI_sources = hb-gdi.cc
HB_GDI_headers = hb-gdi.h

HB_UNISCRIBE_sources = hb-uniscribe.cc
HB_UNISCRIBE_headers = hb-uniscribe.h

# Sources for libharfbuzz-gobject and libharfbuzz-icu
HB_ICU_sources = hb-icu.cc
HB_ICU_headers = hb-icu.h

# Sources for libharfbuzz-subset
HB_SUBSET_sources = \
	hb-number.cc \
	hb-number.hh \
	hb-ot-cff1-table.cc \
	hb-ot-cff2-table.cc \
	hb-static.cc \
	hb-subset-cff-common.cc \
	hb-subset-cff-common.hh \
	hb-subset-cff1.cc \
	hb-subset-cff1.hh \
	hb-subset-cff2.cc \
	hb-subset-cff2.hh \
	hb-subset-input.cc \
	hb-subset-input.hh \
	hb-subset-plan.cc \
	hb-subset-plan.hh \
	hb-subset-plan.hh \
	hb-subset.cc \
	hb-subset.hh \
	hb-subset.hh \
	$(NULL)

HB_SUBSET_headers = \
	hb-subset.h \
	$(NULL)

HB_GOBJECT_DIST_sources = hb-gobject-structs.cc
HB_GOBJECT_DIST_headers = hb-gobject.h hb-gobject-structs.h
HB_GOBJECT_ENUM_sources = hb-gobject-enums.cc
HB_GOBJECT_ENUM_headers = hb-gobject-enums.h
HB_GOBJECT_NODIST_sources = $(HB_GOBJECT_ENUM_sources)
HB_GOBJECT_NODIST_headers = $(HB_GOBJECT_ENUM_headers)
HB_GOBJECT_sources = $(HB_GOBJECT_DIST_sources) $(HB_GOBJECT_NODIST_sources)
HB_GOBJECT_headers = $(HB_GOBJECT_DIST_headers) $(HB_GOBJECT_NODIST_headers)
