# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../gn/skia.gni")
import("../third_party.gni")

declare_args() {
  skia_use_system_harfbuzz = is_official_build
}

if (skia_use_system_harfbuzz) {
  system("harfbuzz") {
    include_dirs = [ "/usr/include/harfbuzz" ]
    libs = [ "harfbuzz" ]
    if (skia_pdf_subset_harfbuzz) {
      libs += [ "harfbuzz-subset" ]
    }
  }
} else {
  third_party("harfbuzz") {
    _src = "../externals/harfbuzz/src"
    public_include_dirs = [
      ".",
      _src,
    ]
    defines = [
      #"HAVE_FREETYPE",
      #"HAVE_ICU",
      #"HAVE_ICU_BUILTIN",
      "HAVE_OT",
      "HAVE_CONFIG_OVERRIDE_H",
      "HB_NO_FALLBACK_SHAPE",
      "HB_NO_WIN1256",
    ]

    public = [
      "$_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-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-subset.h",
      "$_src/hb-unicode.h",
      "$_src/hb-version.h",
      "$_src/hb.h",
    ]

    sources = [
      "$_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.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.cc",
      "$_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-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.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",
    ]

    # The following sources are explictly not used.
    # They are referenced to aid in detecting previously uncategorized files.
    unused_sources = [
      "$_src/hb-coretext.cc",
      "$_src/hb-coretext.h",
      "$_src/hb-directwrite.cc",
      "$_src/hb-directwrite.h",
      "$_src/hb-fallback-shape.cc",
      "$_src/hb-ft.cc",
      "$_src/hb-ft.h",
      "$_src/hb-gdi.cc",
      "$_src/hb-gdi.h",
      "$_src/hb-glib.cc",
      "$_src/hb-glib.h",
      "$_src/hb-gobject-structs.cc",
      "$_src/hb-gobject-structs.h",
      "$_src/hb-gobject.h",
      "$_src/hb-graphite2.cc",
      "$_src/hb-graphite2.h",
      "$_src/hb-icu.cc",
      "$_src/hb-icu.h",
      "$_src/hb-ot-shape-complex-arabic-win1256.hh",
      "$_src/hb-style.cc",
      "$_src/hb-style.h",
      "$_src/hb-uniscribe.cc",
      "$_src/hb-uniscribe.h",
    ]
    assert(unused_sources != [])
  }
}
