# Base and default-included sources and headers

HB_BASE_sources = \
	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-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-bimap.hh \
	hb-bit-page.hh \
	hb-bit-set.hh \
	hb-bit-set-invertible.hh \
	hb-blob.cc \
	hb-blob.hh \
	hb-buffer-serialize.cc \
	hb-buffer-verify.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-draw.cc \
	hb-draw.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-meta.hh \
	hb-ms-feature-ranges.hh \
	hb-multimap.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-std-str.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-table-list.hh \
	hb-ot-face.cc \
	hb-ot-face.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 \
	OT/glyf/glyf.hh \
	OT/glyf/glyf-helpers.hh \
	OT/glyf/loca.hh \
	OT/glyf/path-builder.hh \
	OT/glyf/Glyph.hh \
	OT/glyf/GlyphHeader.hh \
	OT/glyf/SimpleGlyph.hh \
	OT/glyf/coord-setter.hh \
	OT/glyf/composite-iter.hh \
	OT/glyf/CompositeGlyph.hh \
	OT/glyf/VarCompositeGlyph.hh \
	OT/glyf/SubsetGlyph.hh \
	OT/Layout/types.hh \
	OT/Layout/Common/Coverage.hh \
	OT/Layout/Common/CoverageFormat1.hh \
	OT/Layout/Common/CoverageFormat2.hh \
	OT/Layout/Common/RangeRecord.hh \
	OT/Layout/GPOS/AnchorFormat1.hh \
	OT/Layout/GPOS/AnchorFormat2.hh \
	OT/Layout/GPOS/AnchorFormat3.hh \
	OT/Layout/GPOS/Anchor.hh \
	OT/Layout/GPOS/AnchorMatrix.hh \
	OT/Layout/GPOS/ChainContextPos.hh \
	OT/Layout/GPOS/Common.hh \
	OT/Layout/GPOS/ContextPos.hh \
	OT/Layout/GPOS/CursivePosFormat1.hh \
	OT/Layout/GPOS/CursivePos.hh \
	OT/Layout/GPOS/ExtensionPos.hh \
	OT/Layout/GPOS/GPOS.hh \
	OT/Layout/GPOS/LigatureArray.hh \
	OT/Layout/GPOS/MarkArray.hh \
	OT/Layout/GPOS/MarkBasePosFormat1.hh \
	OT/Layout/GPOS/MarkBasePos.hh \
	OT/Layout/GPOS/MarkLigPosFormat1.hh \
	OT/Layout/GPOS/MarkLigPos.hh \
	OT/Layout/GPOS/MarkMarkPosFormat1.hh \
	OT/Layout/GPOS/MarkMarkPos.hh \
	OT/Layout/GPOS/MarkRecord.hh \
	OT/Layout/GPOS/PairPosFormat1.hh \
	OT/Layout/GPOS/PairPosFormat2.hh \
	OT/Layout/GPOS/PairPos.hh \
	OT/Layout/GPOS/PairSet.hh \
	OT/Layout/GPOS/PairValueRecord.hh \
	OT/Layout/GPOS/PosLookup.hh \
	OT/Layout/GPOS/PosLookupSubTable.hh \
	OT/Layout/GPOS/SinglePosFormat1.hh \
	OT/Layout/GPOS/SinglePosFormat2.hh \
	OT/Layout/GPOS/SinglePos.hh \
	OT/Layout/GPOS/ValueFormat.hh \
	OT/Layout/GSUB/AlternateSet.hh \
	OT/Layout/GSUB/AlternateSubstFormat1.hh \
	OT/Layout/GSUB/AlternateSubst.hh \
	OT/Layout/GSUB/ChainContextSubst.hh \
	OT/Layout/GSUB/Common.hh \
	OT/Layout/GSUB/ContextSubst.hh \
	OT/Layout/GSUB/ExtensionSubst.hh \
	OT/Layout/GSUB/GSUB.hh \
	OT/Layout/GSUB/Ligature.hh \
	OT/Layout/GSUB/LigatureSet.hh \
	OT/Layout/GSUB/LigatureSubstFormat1.hh \
	OT/Layout/GSUB/LigatureSubst.hh \
	OT/Layout/GSUB/MultipleSubstFormat1.hh \
	OT/Layout/GSUB/MultipleSubst.hh \
	OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh \
	OT/Layout/GSUB/ReverseChainSingleSubst.hh \
	OT/Layout/GSUB/Sequence.hh \
	OT/Layout/GSUB/SingleSubstFormat1.hh \
	OT/Layout/GSUB/SingleSubstFormat2.hh \
	OT/Layout/GSUB/SingleSubst.hh \
	OT/Layout/GSUB/SubstLookup.hh \
	OT/Layout/GSUB/SubstLookupSubTable.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-shaper-arabic-fallback.hh \
	hb-ot-shaper-arabic-joining-list.hh \
	hb-ot-shaper-arabic-pua.hh \
	hb-ot-shaper-arabic-table.hh \
	hb-ot-shaper-arabic-win1256.hh \
	hb-ot-shaper-arabic.cc \
	hb-ot-shaper-arabic.hh \
	hb-ot-shaper-default.cc \
	hb-ot-shaper-hangul.cc \
	hb-ot-shaper-hebrew.cc \
	hb-ot-shaper-indic-table.cc \
	hb-ot-shaper-indic.cc \
	hb-ot-shaper-indic.hh \
	hb-ot-shaper-khmer.cc \
	hb-ot-shaper-myanmar.cc \
	hb-ot-shaper-syllabic.cc \
	hb-ot-shaper-syllabic.hh \
	hb-ot-shaper-thai.cc \
	hb-ot-shaper-use-table.hh \
	hb-ot-shaper-use.cc \
	hb-ot-shaper-vowel-constraints.cc \
	hb-ot-shaper-vowel-constraints.hh \
	hb-ot-shaper.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-common.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-style.cc \
	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-priority-queue.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-shaper-indic-machine.hh \
	hb-ot-shaper-khmer-machine.hh \
	hb-ot-shaper-myanmar-machine.hh \
	hb-ot-shaper-use-machine.hh \
	$(NULL)
HB_BASE_RAGEL_sources = \
	hb-buffer-deserialize-json.rl \
	hb-buffer-deserialize-text.rl \
	hb-number-parser.rl \
	hb-ot-shaper-indic-machine.rl \
	hb-ot-shaper-khmer-machine.rl \
	hb-ot-shaper-myanmar-machine.rl \
	hb-ot-shaper-use-machine.rl \
	$(NULL)

HB_BASE_headers = \
	hb-aat-layout.h \
	hb-aat.h \
	hb-blob.h \
	hb-buffer.h \
	hb-common.h \
	hb-cplusplus.hh \
	hb-deprecated.h \
	hb-draw.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-style.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-ot-color-colrv1-closure.hh \
	hb-ot-post-table-v2subset.hh \
	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-accelerator.hh \
	hb-subset-plan.cc \
	hb-subset-plan.hh \
	hb-subset-repacker.cc \
	hb-subset.cc \
	hb-subset.hh \
	hb-repacker.hh \
	graph/graph.hh \
	graph/gsubgpos-graph.hh \
	graph/gsubgpos-context.hh \
	graph/gsubgpos-context.cc \
	graph/coverage-graph.hh \
	graph/classdef-graph.hh \
	graph/pairpos-graph.hh \
	graph/markbasepos-graph.hh \
	graph/split-helpers.hh \
	graph/serialize.hh \
	$(NULL)

HB_SUBSET_headers = \
	hb-subset.h \
	hb-subset-repacker.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)
