# Base and default-included sources and headers

HB_BASE_sources = \
	hb-atomic.hh \
	hb-blob.hh \
	hb-blob.cc \
	hb-buffer.hh \
	hb-buffer-serialize.cc \
	hb-buffer.cc \
	hb-cache.hh \
	hb-common.cc \
	hb-debug.hh \
	hb-dsalgs.hh \
	hb-face.hh \
	hb-face.cc \
	hb-font.hh \
	hb-font.cc \
	hb-iter.hh \
	hb-kern.hh \
	hb-map.hh \
	hb-map.cc \
	hb-machinery.hh \
	hb-mutex.hh \
	hb-null.hh \
	hb-object.hh \
	hb-open-file.hh \
	hb-open-type.hh \
	hb-ot-color-cbdt-table.hh \
	hb-ot-cmap-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-maxp-table.hh \
	hb-ot-name-language.cc \
	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-tag-table.hh \
	hb-ot-tag.cc \
	hb.hh \
	hb-set-digest.hh \
	hb-set.hh \
	hb-set.cc \
	hb-shape.cc \
	hb-shape-plan.hh \
	hb-shape-plan.cc \
	hb-shaper-list.hh \
	hb-shaper-impl.hh \
	hb-shaper.hh \
	hb-shaper.cc \
	hb-static.cc \
	hb-string-array.hh \
	hb-unicode.hh \
	hb-unicode-emoji-table.hh \
	hb-unicode.cc \
	hb-vector.hh \
	hb-utf.hh \
	hb-warning.cc \
	$(NULL)

HB_BASE_RAGEL_GENERATED_sources = \
	hb-buffer-deserialize-json.hh \
	hb-buffer-deserialize-text.hh \
	$(NULL)
HB_BASE_RAGEL_sources = \
	hb-buffer-deserialize-json.rl \
	hb-buffer-deserialize-text.rl \
	$(NULL)

HB_BASE_headers = \
	hb.h \
	hb-blob.h \
	hb-buffer.h \
	hb-common.h \
	hb-deprecated.h \
	hb-face.h \
	hb-font.h \
	hb-map.h \
	hb-set.h \
	hb-shape.h \
	hb-shape-plan.h \
	hb-unicode.h \
	hb-version.h \
	$(NULL)

HB_FALLBACK_sources = \
	hb-fallback-shape.cc	\
	$(NULL)

HB_OT_sources = \
	hb-aat-layout.cc \
	hb-aat-layout-common.hh \
	hb-aat-layout-ankr-table.hh \
	hb-aat-layout-bsln-table.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-trak-table.hh \
	hb-aat-layout.hh \
	hb-aat-ltag-table.hh \
	hb-aat-map.cc \
	hb-aat-map.hh \
	hb-ot-face.hh \
	hb-ot-face.cc \
	hb-ot-font.cc \
	hb-ot-layout.cc \
	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-gsubgpos.hh \
	hb-ot-layout-gsub-table.hh \
	hb-ot-layout-jstf-table.hh \
	hb-ot-layout.hh \
	hb-ot-color.cc \
	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-map.cc \
	hb-ot-map.hh \
	hb-ot-math.cc \
	hb-ot-math-table.hh \
	hb-ot-shape.cc \
	hb-ot-shape-complex-arabic.cc \
	hb-ot-shape-complex-arabic-fallback.hh \
	hb-ot-shape-complex-arabic.hh \
	hb-ot-shape-complex-arabic-table.hh \
	hb-ot-shape-complex-arabic-win1256.hh \
	hb-ot-shape-complex-default.cc \
	hb-ot-shape-complex-hangul.cc \
	hb-ot-shape-complex-hebrew.cc \
	hb-ot-shape-complex-indic.cc \
	hb-ot-shape-complex-indic.hh \
	hb-ot-shape-complex-indic-table.cc \
	hb-ot-shape-complex-khmer.hh \
	hb-ot-shape-complex-khmer.cc \
	hb-ot-shape-complex-myanmar.hh \
	hb-ot-shape-complex-myanmar.cc \
	hb-ot-shape-complex-thai.cc \
	hb-ot-shape-complex-use.cc \
	hb-ot-shape-complex-use.hh \
	hb-ot-shape-complex-use-table.cc \
	hb-ot-shape-complex-vowel-constraints.cc \
	hb-ot-shape-complex-vowel-constraints.hh \
	hb-ot-shape-complex.hh \
	hb-ot-shape-normalize.hh \
	hb-ot-shape-normalize.cc \
	hb-ot-shape-fallback.hh \
	hb-ot-shape-fallback.cc \
	hb-ot-shape.hh \
	hb-ot-stat-table.hh \
	hb-ot-var.cc \
	hb-ot-var-avar-table.hh \
	hb-ot-var-fvar-table.hh \
	hb-ot-var-hvar-table.hh \
	hb-ot-var-mvar-table.hh \
	hb-ot-vorg-table.hh \
	$(NULL)

HB_OT_RAGEL_GENERATED_sources = \
	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_OT_RAGEL_sources = \
	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_OT_headers = \
	hb-ot.h \
	hb-ot-color.h \
	hb-ot-font.h \
	hb-ot-layout.h \
	hb-ot-math.h \
	hb-ot-name.h \
	hb-ot-shape.h \
	hb-ot-var.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_UNISCRIBE_sources = hb-uniscribe.cc
HB_UNISCRIBE_headers = hb-uniscribe.h

# Additional supplemental sources
HB_UCDN_sources  = hb-ucdn.cc

# 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-static.cc \
	hb-subset.cc \
	hb-subset.hh \
	hb-subset-glyf.cc \
	hb-subset-glyf.hh \
	hb-subset-input.cc \
	hb-subset-input.hh \
	hb-subset-plan.cc \
	hb-subset-plan.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)
