From 0a5bcd1ef4cfb5e8d1a094339848d409bad38449 Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Mon, 18 Jul 2022 08:35:33 -0400 Subject: [PATCH] [bazel] Move harfbuzz out of third_party/BUILD.bazel Like Freetype and ICU, this creates a new Bazel workspace to house the config-override.h file for inclusion. Change-Id: I5acb45230acdce7dc17fbef02813a1f80175bda5 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/559516 Reviewed-by: Ben Wagner --- WORKSPACE.bazel | 12 + bazel/external/harfbuzz/BUILD.bazel | 285 ++++++++++++++++++ bazel/external/harfbuzz/config/BUILD.bazel | 6 + bazel/external/harfbuzz/config/README.md | 3 + .../external/harfbuzz/config/WORKSPACE.bazel | 3 + .../harfbuzz/config/config-override.h | 1 + modules/skparagraph/BUILD.bazel | 2 +- modules/skshaper/BUILD.bazel | 2 +- third_party/BUILD.bazel | 270 ----------------- 9 files changed, 312 insertions(+), 272 deletions(-) create mode 100644 bazel/external/harfbuzz/BUILD.bazel create mode 100644 bazel/external/harfbuzz/config/BUILD.bazel create mode 100644 bazel/external/harfbuzz/config/README.md create mode 100644 bazel/external/harfbuzz/config/WORKSPACE.bazel create mode 120000 bazel/external/harfbuzz/config/config-override.h diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 049dedd00871..57f63693736c 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -240,6 +240,18 @@ local_repository( path = "bazel/external/freetype/config", ) +new_local_repository( + name = "harfbuzz", + build_file = "bazel/external/harfbuzz/BUILD.bazel", + path = "third_party/externals/harfbuzz", + workspace_file_content = "", +) + +local_repository( + name = "harfbuzz_config", + path = "bazel/external/harfbuzz/config", +) + new_local_repository( name = "icu", build_file = "bazel/external/icu/BUILD.bazel", diff --git a/bazel/external/harfbuzz/BUILD.bazel b/bazel/external/harfbuzz/BUILD.bazel new file mode 100644 index 000000000000..0b93c4a87762 --- /dev/null +++ b/bazel/external/harfbuzz/BUILD.bazel @@ -0,0 +1,285 @@ +# This file will be copied into //third_party/externals/harfbuzz via the new_local_repository +# rule in WORKSPACE.bazel, so all files should be relative to that path. + +genrule( + name = "copy_config_override", + srcs = [ + "@harfbuzz_config//:config-override.h", + ], + outs = [ + # Putting this in the root of the harfbuzz directory makes it easiest to include. + "config-override.h", + ], + # $< is the one and only input file. + # $@ is the one and only output location. + cmd = "cp $< $@", +) + +HARFBUZZ_HDRS = [ + "src/hb-aat-layout.h", + "src/hb-blob.h", + "src/hb-buffer.h", + "src/hb-common.h", + "src/hb-deprecated.h", + "src/hb-face.h", + "src/hb-font.h", + "src/hb-map.h", + "src/hb-ot-font.h", + "src/hb-ot-layout.h", + "src/hb-ot-math.h", + "src/hb-ot-metrics.h", + "src/hb-ot-shape.h", + "src/hb-ot-var.h", + "src/hb-ot.h", + "src/hb-set.h", + "src/hb-shape-plan.h", + "src/hb-shape.h", + "src/hb-style.h", + "src/hb-subset.h", + "src/hb-unicode.h", + "src/hb-version.h", + "src/hb.h", +] + +HARFBUZZ_SRCS = [ + "src/OT/Layout/GSUB/AlternateSet.hh", + "src/OT/Layout/GSUB/AlternateSubst.hh", + "src/OT/Layout/GSUB/AlternateSubstFormat1.hh", + "src/OT/Layout/GSUB/ChainContextSubst.hh", + "src/OT/Layout/GSUB/Common.hh", + "src/OT/Layout/GSUB/ContextSubst.hh", + "src/OT/Layout/GSUB/ExtensionSubst.hh", + "src/OT/Layout/GSUB/GSUB.hh", + "src/OT/Layout/GSUB/Ligature.hh", + "src/OT/Layout/GSUB/LigatureSet.hh", + "src/OT/Layout/GSUB/LigatureSubst.hh", + "src/OT/Layout/GSUB/LigatureSubstFormat1.hh", + "src/OT/Layout/GSUB/MultipleSubst.hh", + "src/OT/Layout/GSUB/MultipleSubstFormat1.hh", + "src/OT/Layout/GSUB/ReverseChainSingleSubst.hh", + "src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh", + "src/OT/Layout/GSUB/Sequence.hh", + "src/OT/Layout/GSUB/SingleSubst.hh", + "src/OT/Layout/GSUB/SingleSubstFormat1.hh", + "src/OT/Layout/GSUB/SingleSubstFormat2.hh", + "src/OT/Layout/GSUB/SubstLookup.hh", + "src/OT/Layout/GSUB/SubstLookupSubTable.hh", + "src/hb-aat-layout-ankr-table.hh", + "src/hb-aat-layout-bsln-table.hh", + "src/hb-aat-layout-common.hh", + "src/hb-aat-layout-feat-table.hh", + "src/hb-aat-layout-just-table.hh", + "src/hb-aat-layout-kerx-table.hh", + "src/hb-aat-layout-morx-table.hh", + "src/hb-aat-layout-opbd-table.hh", + "src/hb-aat-layout-trak-table.hh", + "src/hb-aat-layout.cc", + "src/hb-aat-layout.hh", + "src/hb-aat-ltag-table.hh", + "src/hb-aat-map.cc", + "src/hb-aat-map.hh", + "src/hb-aat.h", + "src/hb-algs.hh", + "src/hb-array.hh", + "src/hb-atomic.hh", + "src/hb-bimap.hh", + "src/hb-bit-page.hh", + "src/hb-bit-set-invertible.hh", + "src/hb-bit-set.hh", + "src/hb-blob.cc", + "src/hb-blob.hh", + "src/hb-buffer-deserialize-json.hh", + "src/hb-buffer-deserialize-text.hh", + "src/hb-buffer-serialize.cc", + "src/hb-buffer-verify.cc", + "src/hb-buffer.cc", + "src/hb-buffer.hh", + "src/hb-cache.hh", + "src/hb-cff-interp-common.hh", + "src/hb-cff-interp-cs-common.hh", + "src/hb-cff-interp-dict-common.hh", + "src/hb-cff1-interp-cs.hh", + "src/hb-cff2-interp-cs.hh", + "src/hb-common.cc", + "src/hb-config.hh", + "src/hb-debug.hh", + "src/hb-dispatch.hh", + "src/hb-draw.cc", + "src/hb-draw.h", + "src/hb-draw.hh", + "src/hb-face.cc", + "src/hb-face.hh", + "src/hb-font.cc", + "src/hb-font.hh", + "src/hb-iter.hh", + "src/hb-kern.hh", + "src/hb-machinery.hh", + "src/hb-map.cc", + "src/hb-map.hh", + "src/hb-meta.hh", + "src/hb-ms-feature-ranges.hh", + "src/hb-mutex.hh", + "src/hb-null.hh", + "src/hb-number-parser.hh", + "src/hb-number.cc", + "src/hb-number.hh", + "src/hb-object.hh", + "src/hb-open-file.hh", + "src/hb-open-type.hh", + "src/hb-ot-cff-common.hh", + "src/hb-ot-cff1-std-str.hh", + "src/hb-ot-cff1-table.cc", + "src/hb-ot-cff1-table.hh", + "src/hb-ot-cff2-table.cc", + "src/hb-ot-cff2-table.hh", + "src/hb-ot-cmap-table.hh", + "src/hb-ot-color-cbdt-table.hh", + "src/hb-ot-color-colr-table.hh", + "src/hb-ot-color-colrv1-closure.hh", + "src/hb-ot-color-cpal-table.hh", + "src/hb-ot-color-sbix-table.hh", + "src/hb-ot-color-svg-table.hh", + "src/hb-ot-color.cc", + "src/hb-ot-color.h", + "src/hb-ot-deprecated.h", + "src/hb-ot-face-table-list.hh", + "src/hb-ot-face.cc", + "src/hb-ot-face.hh", + "src/hb-ot-font.cc", + "src/hb-ot-gasp-table.hh", + "src/hb-ot-glyf-table.hh", + "src/hb-ot-hdmx-table.hh", + "src/hb-ot-head-table.hh", + "src/hb-ot-hhea-table.hh", + "src/hb-ot-hmtx-table.hh", + "src/hb-ot-kern-table.hh", + "src/hb-ot-layout-base-table.hh", + "src/hb-ot-layout-common.hh", + "src/hb-ot-layout-gdef-table.hh", + "src/hb-ot-layout-gpos-table.hh", + "src/hb-ot-layout-gsub-table.hh", + "src/hb-ot-layout-gsubgpos.hh", + "src/hb-ot-layout-jstf-table.hh", + "src/hb-ot-layout.cc", + "src/hb-ot-layout.hh", + "src/hb-ot-map.cc", + "src/hb-ot-map.hh", + "src/hb-ot-math-table.hh", + "src/hb-ot-math.cc", + "src/hb-ot-maxp-table.hh", + "src/hb-ot-meta-table.hh", + "src/hb-ot-meta.cc", + "src/hb-ot-meta.h", + "src/hb-ot-metrics.cc", + "src/hb-ot-metrics.hh", + "src/hb-ot-name-language-static.hh", + "src/hb-ot-name-language.hh", + "src/hb-ot-name-table.hh", + "src/hb-ot-name.cc", + "src/hb-ot-name.h", + "src/hb-ot-os2-table.hh", + "src/hb-ot-os2-unicode-ranges.hh", + "src/hb-ot-post-macroman.hh", + "src/hb-ot-post-table-v2subset.hh", + "src/hb-ot-post-table.hh", + "src/hb-ot-shape-complex-arabic-fallback.hh", + "src/hb-ot-shape-complex-arabic-joining-list.hh", + "src/hb-ot-shape-complex-arabic-table.hh", + "src/hb-ot-shape-complex-arabic.cc", + "src/hb-ot-shape-complex-arabic.hh", + "src/hb-ot-shape-complex-default.cc", + "src/hb-ot-shape-complex-hangul.cc", + "src/hb-ot-shape-complex-hebrew.cc", + "src/hb-ot-shape-complex-indic-machine.hh", + "src/hb-ot-shape-complex-indic-table.cc", + "src/hb-ot-shape-complex-indic.cc", + "src/hb-ot-shape-complex-indic.hh", + "src/hb-ot-shape-complex-khmer-machine.hh", + "src/hb-ot-shape-complex-khmer.cc", + "src/hb-ot-shape-complex-khmer.hh", + "src/hb-ot-shape-complex-myanmar-machine.hh", + "src/hb-ot-shape-complex-myanmar.cc", + "src/hb-ot-shape-complex-myanmar.hh", + "src/hb-ot-shape-complex-syllabic.cc", + "src/hb-ot-shape-complex-syllabic.hh", + "src/hb-ot-shape-complex-thai.cc", + "src/hb-ot-shape-complex-use-machine.hh", + "src/hb-ot-shape-complex-use-table.hh", + "src/hb-ot-shape-complex-use.cc", + "src/hb-ot-shape-complex-vowel-constraints.cc", + "src/hb-ot-shape-complex-vowel-constraints.hh", + "src/hb-ot-shape-complex.hh", + "src/hb-ot-shape-fallback.cc", + "src/hb-ot-shape-fallback.hh", + "src/hb-ot-shape-normalize.cc", + "src/hb-ot-shape-normalize.hh", + "src/hb-ot-shape.cc", + "src/hb-ot-shape.hh", + "src/hb-ot-stat-table.hh", + "src/hb-ot-tag-table.hh", + "src/hb-ot-tag.cc", + "src/hb-ot-var-avar-table.hh", + "src/hb-ot-var-common.hh", + "src/hb-ot-var-fvar-table.hh", + "src/hb-ot-var-gvar-table.hh", + "src/hb-ot-var-hvar-table.hh", + "src/hb-ot-var-mvar-table.hh", + "src/hb-ot-var.cc", + "src/hb-ot-vorg-table.hh", + "src/hb-pool.hh", + "src/hb-priority-queue.hh", + "src/hb-repacker.hh", + "src/hb-sanitize.hh", + "src/hb-serialize.hh", + "src/hb-set-digest.hh", + "src/hb-set.cc", + "src/hb-set.hh", + "src/hb-shape-plan.cc", + "src/hb-shape-plan.hh", + "src/hb-shape.cc", + "src/hb-shaper-impl.hh", + "src/hb-shaper-list.hh", + "src/hb-shaper.cc", + "src/hb-shaper.hh", + "src/hb-static.cc", + "src/hb-string-array.hh", + "src/hb-subset-cff-common.cc", + "src/hb-subset-cff-common.hh", + "src/hb-subset-cff1.cc", + "src/hb-subset-cff1.hh", + "src/hb-subset-cff2.cc", + "src/hb-subset-cff2.hh", + "src/hb-subset-input.cc", + "src/hb-subset-input.hh", + "src/hb-subset-plan.cc", + "src/hb-subset-plan.hh", + "src/hb-subset-repacker.cc", + "src/hb-subset-repacker.h", + "src/hb-subset.cc", + "src/hb-subset.hh", + "src/hb-ucd-table.hh", + "src/hb-ucd.cc", + "src/hb-unicode-emoji-table.hh", + "src/hb-unicode.cc", + "src/hb-unicode.hh", + "src/hb-utf.hh", + "src/hb-vector.hh", + "src/hb.hh", + "config-override.h", +] + +cc_library( + name = "harfbuzz", + srcs = HARFBUZZ_SRCS, + hdrs = HARFBUZZ_HDRS, + defines = [ + "HAVE_OT", + "HAVE_CONFIG_OVERRIDE_H", + "HB_NO_FALLBACK_SHAPE", + "HB_NO_WIN1256", + ], + includes = [ + "src", + ], + visibility = ["//visibility:public"], +) diff --git a/bazel/external/harfbuzz/config/BUILD.bazel b/bazel/external/harfbuzz/config/BUILD.bazel new file mode 100644 index 000000000000..0e31feb9754b --- /dev/null +++ b/bazel/external/harfbuzz/config/BUILD.bazel @@ -0,0 +1,6 @@ +exports_files( + [ + "config-override.h", + ], + visibility = ["//visibility:public"], +) diff --git a/bazel/external/harfbuzz/config/README.md b/bazel/external/harfbuzz/config/README.md new file mode 100644 index 000000000000..20510370985f --- /dev/null +++ b/bazel/external/harfbuzz/config/README.md @@ -0,0 +1,3 @@ +This file represents the custom configuration of how we build Harfbuzz. + +The files here are symlinked from //third_party/harfbuzz diff --git a/bazel/external/harfbuzz/config/WORKSPACE.bazel b/bazel/external/harfbuzz/config/WORKSPACE.bazel new file mode 100644 index 000000000000..90e47f8c2afd --- /dev/null +++ b/bazel/external/harfbuzz/config/WORKSPACE.bazel @@ -0,0 +1,3 @@ +# This blank WORKSPACE.bazel simply indicates that this folder is a distinct Bazel workspace +# from the main Skia one. This avoids a circular dependency by having Skia depend on harfbuzz +# and harfbuzz trying to use configuration files from Skia. diff --git a/bazel/external/harfbuzz/config/config-override.h b/bazel/external/harfbuzz/config/config-override.h new file mode 120000 index 000000000000..a4e8334c030f --- /dev/null +++ b/bazel/external/harfbuzz/config/config-override.h @@ -0,0 +1 @@ +../../../../third_party/harfbuzz/config-override.h \ No newline at end of file diff --git a/modules/skparagraph/BUILD.bazel b/modules/skparagraph/BUILD.bazel index eb52c6a0c156..0fe70701e07e 100644 --- a/modules/skparagraph/BUILD.bazel +++ b/modules/skparagraph/BUILD.bazel @@ -13,7 +13,7 @@ cc_library( "//:skia_internal", "//modules/skshaper", "//modules/skunicode", - "//third_party:harfbuzz", + "@harfbuzz", "@icu", ], ) diff --git a/modules/skshaper/BUILD.bazel b/modules/skshaper/BUILD.bazel index 0403fda72ae7..6163df84b651 100644 --- a/modules/skshaper/BUILD.bazel +++ b/modules/skshaper/BUILD.bazel @@ -13,7 +13,7 @@ cc_library( "//:skia_internal", ] + select({ "//bazel/common_config_settings:harfbuzz_shaper": [ - "//third_party:harfbuzz", + "@harfbuzz", "//modules/skunicode", ], "//conditions:default": [], diff --git a/third_party/BUILD.bazel b/third_party/BUILD.bazel index 577e9dcd7582..b4f5d749efd8 100644 --- a/third_party/BUILD.bazel +++ b/third_party/BUILD.bazel @@ -4,276 +4,6 @@ licenses(["notice"]) exports_files_legacy() -HARFBUZZ_HDRS = [ - "externals/harfbuzz/src/hb-aat-layout.h", - "externals/harfbuzz/src/hb-blob.h", - "externals/harfbuzz/src/hb-buffer.h", - "externals/harfbuzz/src/hb-common.h", - "externals/harfbuzz/src/hb-deprecated.h", - "externals/harfbuzz/src/hb-face.h", - "externals/harfbuzz/src/hb-font.h", - "externals/harfbuzz/src/hb-map.h", - "externals/harfbuzz/src/hb-ot-font.h", - "externals/harfbuzz/src/hb-ot-layout.h", - "externals/harfbuzz/src/hb-ot-math.h", - "externals/harfbuzz/src/hb-ot-metrics.h", - "externals/harfbuzz/src/hb-ot-shape.h", - "externals/harfbuzz/src/hb-ot-var.h", - "externals/harfbuzz/src/hb-ot.h", - "externals/harfbuzz/src/hb-set.h", - "externals/harfbuzz/src/hb-shape-plan.h", - "externals/harfbuzz/src/hb-shape.h", - "externals/harfbuzz/src/hb-style.h", - "externals/harfbuzz/src/hb-subset.h", - "externals/harfbuzz/src/hb-unicode.h", - "externals/harfbuzz/src/hb-version.h", - "externals/harfbuzz/src/hb.h", -] - -HARFBUZZ_SRCS = [ - "externals/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/ChainContextSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/Common.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/ContextSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/ExtensionSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/GSUB.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/Ligature.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/Sequence.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh", - "externals/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh", - "externals/harfbuzz/src/hb-aat-layout-ankr-table.hh", - "externals/harfbuzz/src/hb-aat-layout-bsln-table.hh", - "externals/harfbuzz/src/hb-aat-layout-common.hh", - "externals/harfbuzz/src/hb-aat-layout-feat-table.hh", - "externals/harfbuzz/src/hb-aat-layout-just-table.hh", - "externals/harfbuzz/src/hb-aat-layout-kerx-table.hh", - "externals/harfbuzz/src/hb-aat-layout-morx-table.hh", - "externals/harfbuzz/src/hb-aat-layout-opbd-table.hh", - "externals/harfbuzz/src/hb-aat-layout-trak-table.hh", - "externals/harfbuzz/src/hb-aat-layout.cc", - "externals/harfbuzz/src/hb-aat-layout.hh", - "externals/harfbuzz/src/hb-aat-ltag-table.hh", - "externals/harfbuzz/src/hb-aat-map.cc", - "externals/harfbuzz/src/hb-aat-map.hh", - "externals/harfbuzz/src/hb-aat.h", - "externals/harfbuzz/src/hb-algs.hh", - "externals/harfbuzz/src/hb-array.hh", - "externals/harfbuzz/src/hb-atomic.hh", - "externals/harfbuzz/src/hb-bimap.hh", - "externals/harfbuzz/src/hb-bit-page.hh", - "externals/harfbuzz/src/hb-bit-set-invertible.hh", - "externals/harfbuzz/src/hb-bit-set.hh", - "externals/harfbuzz/src/hb-blob.cc", - "externals/harfbuzz/src/hb-blob.hh", - "externals/harfbuzz/src/hb-buffer-deserialize-json.hh", - "externals/harfbuzz/src/hb-buffer-deserialize-text.hh", - "externals/harfbuzz/src/hb-buffer-serialize.cc", - "externals/harfbuzz/src/hb-buffer-verify.cc", - "externals/harfbuzz/src/hb-buffer.cc", - "externals/harfbuzz/src/hb-buffer.hh", - "externals/harfbuzz/src/hb-cache.hh", - "externals/harfbuzz/src/hb-cff-interp-common.hh", - "externals/harfbuzz/src/hb-cff-interp-cs-common.hh", - "externals/harfbuzz/src/hb-cff-interp-dict-common.hh", - "externals/harfbuzz/src/hb-cff1-interp-cs.hh", - "externals/harfbuzz/src/hb-cff2-interp-cs.hh", - "externals/harfbuzz/src/hb-common.cc", - "externals/harfbuzz/src/hb-config.hh", - "externals/harfbuzz/src/hb-debug.hh", - "externals/harfbuzz/src/hb-dispatch.hh", - "externals/harfbuzz/src/hb-draw.cc", - "externals/harfbuzz/src/hb-draw.h", - "externals/harfbuzz/src/hb-draw.hh", - "externals/harfbuzz/src/hb-face.cc", - "externals/harfbuzz/src/hb-face.hh", - "externals/harfbuzz/src/hb-font.cc", - "externals/harfbuzz/src/hb-font.hh", - "externals/harfbuzz/src/hb-iter.hh", - "externals/harfbuzz/src/hb-kern.hh", - "externals/harfbuzz/src/hb-machinery.hh", - "externals/harfbuzz/src/hb-map.cc", - "externals/harfbuzz/src/hb-map.hh", - "externals/harfbuzz/src/hb-meta.hh", - "externals/harfbuzz/src/hb-ms-feature-ranges.hh", - "externals/harfbuzz/src/hb-mutex.hh", - "externals/harfbuzz/src/hb-null.hh", - "externals/harfbuzz/src/hb-number-parser.hh", - "externals/harfbuzz/src/hb-number.cc", - "externals/harfbuzz/src/hb-number.hh", - "externals/harfbuzz/src/hb-object.hh", - "externals/harfbuzz/src/hb-open-file.hh", - "externals/harfbuzz/src/hb-open-type.hh", - "externals/harfbuzz/src/hb-ot-cff-common.hh", - "externals/harfbuzz/src/hb-ot-cff1-std-str.hh", - "externals/harfbuzz/src/hb-ot-cff1-table.cc", - "externals/harfbuzz/src/hb-ot-cff1-table.hh", - "externals/harfbuzz/src/hb-ot-cff2-table.cc", - "externals/harfbuzz/src/hb-ot-cff2-table.hh", - "externals/harfbuzz/src/hb-ot-cmap-table.hh", - "externals/harfbuzz/src/hb-ot-color-cbdt-table.hh", - "externals/harfbuzz/src/hb-ot-color-colr-table.hh", - "externals/harfbuzz/src/hb-ot-color-colrv1-closure.hh", - "externals/harfbuzz/src/hb-ot-color-cpal-table.hh", - "externals/harfbuzz/src/hb-ot-color-sbix-table.hh", - "externals/harfbuzz/src/hb-ot-color-svg-table.hh", - "externals/harfbuzz/src/hb-ot-color.cc", - "externals/harfbuzz/src/hb-ot-color.h", - "externals/harfbuzz/src/hb-ot-deprecated.h", - "externals/harfbuzz/src/hb-ot-face-table-list.hh", - "externals/harfbuzz/src/hb-ot-face.cc", - "externals/harfbuzz/src/hb-ot-face.hh", - "externals/harfbuzz/src/hb-ot-font.cc", - "externals/harfbuzz/src/hb-ot-gasp-table.hh", - "externals/harfbuzz/src/hb-ot-glyf-table.hh", - "externals/harfbuzz/src/hb-ot-hdmx-table.hh", - "externals/harfbuzz/src/hb-ot-head-table.hh", - "externals/harfbuzz/src/hb-ot-hhea-table.hh", - "externals/harfbuzz/src/hb-ot-hmtx-table.hh", - "externals/harfbuzz/src/hb-ot-kern-table.hh", - "externals/harfbuzz/src/hb-ot-layout-base-table.hh", - "externals/harfbuzz/src/hb-ot-layout-common.hh", - "externals/harfbuzz/src/hb-ot-layout-gdef-table.hh", - "externals/harfbuzz/src/hb-ot-layout-gpos-table.hh", - "externals/harfbuzz/src/hb-ot-layout-gsub-table.hh", - "externals/harfbuzz/src/hb-ot-layout-gsubgpos.hh", - "externals/harfbuzz/src/hb-ot-layout-jstf-table.hh", - "externals/harfbuzz/src/hb-ot-layout.cc", - "externals/harfbuzz/src/hb-ot-layout.hh", - "externals/harfbuzz/src/hb-ot-map.cc", - "externals/harfbuzz/src/hb-ot-map.hh", - "externals/harfbuzz/src/hb-ot-math-table.hh", - "externals/harfbuzz/src/hb-ot-math.cc", - "externals/harfbuzz/src/hb-ot-maxp-table.hh", - "externals/harfbuzz/src/hb-ot-meta-table.hh", - "externals/harfbuzz/src/hb-ot-meta.cc", - "externals/harfbuzz/src/hb-ot-meta.h", - "externals/harfbuzz/src/hb-ot-metrics.cc", - "externals/harfbuzz/src/hb-ot-metrics.hh", - "externals/harfbuzz/src/hb-ot-name-language-static.hh", - "externals/harfbuzz/src/hb-ot-name-language.hh", - "externals/harfbuzz/src/hb-ot-name-table.hh", - "externals/harfbuzz/src/hb-ot-name.cc", - "externals/harfbuzz/src/hb-ot-name.h", - "externals/harfbuzz/src/hb-ot-os2-table.hh", - "externals/harfbuzz/src/hb-ot-os2-unicode-ranges.hh", - "externals/harfbuzz/src/hb-ot-post-macroman.hh", - "externals/harfbuzz/src/hb-ot-post-table-v2subset.hh", - "externals/harfbuzz/src/hb-ot-post-table.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-arabic-fallback.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-arabic-joining-list.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-arabic-table.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-arabic.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-arabic.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-default.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-hangul.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-hebrew.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-indic-table.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-indic.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-indic.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-khmer-machine.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-khmer.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-khmer.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-myanmar.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-myanmar.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-syllabic.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-syllabic.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-thai.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-use-machine.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-use-table.hh", - "externals/harfbuzz/src/hb-ot-shape-complex-use.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.cc", - "externals/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.hh", - "externals/harfbuzz/src/hb-ot-shape-complex.hh", - "externals/harfbuzz/src/hb-ot-shape-fallback.cc", - "externals/harfbuzz/src/hb-ot-shape-fallback.hh", - "externals/harfbuzz/src/hb-ot-shape-normalize.cc", - "externals/harfbuzz/src/hb-ot-shape-normalize.hh", - "externals/harfbuzz/src/hb-ot-shape.cc", - "externals/harfbuzz/src/hb-ot-shape.hh", - "externals/harfbuzz/src/hb-ot-stat-table.hh", - "externals/harfbuzz/src/hb-ot-tag-table.hh", - "externals/harfbuzz/src/hb-ot-tag.cc", - "externals/harfbuzz/src/hb-ot-var-avar-table.hh", - "externals/harfbuzz/src/hb-ot-var-common.hh", - "externals/harfbuzz/src/hb-ot-var-fvar-table.hh", - "externals/harfbuzz/src/hb-ot-var-gvar-table.hh", - "externals/harfbuzz/src/hb-ot-var-hvar-table.hh", - "externals/harfbuzz/src/hb-ot-var-mvar-table.hh", - "externals/harfbuzz/src/hb-ot-var.cc", - "externals/harfbuzz/src/hb-ot-vorg-table.hh", - "externals/harfbuzz/src/hb-pool.hh", - "externals/harfbuzz/src/hb-priority-queue.hh", - "externals/harfbuzz/src/hb-repacker.hh", - "externals/harfbuzz/src/hb-sanitize.hh", - "externals/harfbuzz/src/hb-serialize.hh", - "externals/harfbuzz/src/hb-set-digest.hh", - "externals/harfbuzz/src/hb-set.cc", - "externals/harfbuzz/src/hb-set.hh", - "externals/harfbuzz/src/hb-shape-plan.cc", - "externals/harfbuzz/src/hb-shape-plan.hh", - "externals/harfbuzz/src/hb-shape.cc", - "externals/harfbuzz/src/hb-shaper-impl.hh", - "externals/harfbuzz/src/hb-shaper-list.hh", - "externals/harfbuzz/src/hb-shaper.cc", - "externals/harfbuzz/src/hb-shaper.hh", - "externals/harfbuzz/src/hb-static.cc", - "externals/harfbuzz/src/hb-string-array.hh", - "externals/harfbuzz/src/hb-subset-cff-common.cc", - "externals/harfbuzz/src/hb-subset-cff-common.hh", - "externals/harfbuzz/src/hb-subset-cff1.cc", - "externals/harfbuzz/src/hb-subset-cff1.hh", - "externals/harfbuzz/src/hb-subset-cff2.cc", - "externals/harfbuzz/src/hb-subset-cff2.hh", - "externals/harfbuzz/src/hb-subset-input.cc", - "externals/harfbuzz/src/hb-subset-input.hh", - "externals/harfbuzz/src/hb-subset-plan.cc", - "externals/harfbuzz/src/hb-subset-plan.hh", - "externals/harfbuzz/src/hb-subset-repacker.cc", - "externals/harfbuzz/src/hb-subset-repacker.h", - "externals/harfbuzz/src/hb-subset.cc", - "externals/harfbuzz/src/hb-subset.hh", - "externals/harfbuzz/src/hb-ucd-table.hh", - "externals/harfbuzz/src/hb-ucd.cc", - "externals/harfbuzz/src/hb-unicode-emoji-table.hh", - "externals/harfbuzz/src/hb-unicode.cc", - "externals/harfbuzz/src/hb-unicode.hh", - "externals/harfbuzz/src/hb-utf.hh", - "externals/harfbuzz/src/hb-vector.hh", - "externals/harfbuzz/src/hb.hh", - "harfbuzz/config-override.h", -] - -cc_library( - name = "harfbuzz", - srcs = HARFBUZZ_SRCS, - hdrs = HARFBUZZ_HDRS, - includes = [ - "externals/harfbuzz/src", - "harfbuzz", - ], - local_defines = [ - "HAVE_OT", - "HAVE_CONFIG_OVERRIDE_H", - "HB_NO_FALLBACK_SHAPE", - "HB_NO_WIN1256", - ], - visibility = ["//:__subpackages__"], -) - cc_library( name = "etc1", srcs = [