1# Copyright 2016 Google Inc. 2# 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6import("../../gn/skia.gni") 7import("../third_party.gni") 8 9declare_args() { 10 skia_use_system_harfbuzz = is_official_build 11} 12 13if (skia_use_system_harfbuzz) { 14 system("harfbuzz") { 15 include_dirs = [ "/usr/include/harfbuzz" ] 16 libs = [ "harfbuzz" ] 17 } 18} else { 19 third_party("harfbuzz") { 20 _src = "../externals/harfbuzz/src" 21 public_include_dirs = [ 22 ".", 23 _src, 24 ] 25 defines = [ 26 "HAVE_ICU", 27 "HAVE_ICU_BUILTIN", 28 "HAVE_OT", 29 "HB_NO_MT", 30 ] 31 deps = [ 32 "//third_party/icu", 33 ] 34 sources = [ 35 "$_src/hb-aat-fdsc-table.hh", 36 "$_src/hb-aat-layout-ankr-table.hh", 37 "$_src/hb-aat-layout-bsln-table.hh", 38 "$_src/hb-aat-layout-feat-table.hh", 39 "$_src/hb-aat-layout-kerx-table.hh", 40 "$_src/hb-aat-layout-morx-table.hh", 41 "$_src/hb-aat-layout-trak-table.hh", 42 "$_src/hb-aat-layout.cc", 43 "$_src/hb-aat-ltag-table.hh", 44 "$_src/hb-aat-map.cc", 45 "$_src/hb-aat-map.hh", 46 "$_src/hb-array.hh", 47 "$_src/hb-atomic.hh", 48 "$_src/hb-blob.cc", 49 "$_src/hb-blob.h", 50 "$_src/hb-blob.hh", 51 "$_src/hb-buffer-deserialize-json.hh", 52 "$_src/hb-buffer-deserialize-text.hh", 53 "$_src/hb-buffer-serialize.cc", 54 "$_src/hb-buffer.cc", 55 "$_src/hb-buffer.h", 56 "$_src/hb-buffer.hh", 57 "$_src/hb-cache.hh", 58 "$_src/hb-cff-interp-common.hh", 59 "$_src/hb-cff-interp-cs-common.hh", 60 "$_src/hb-cff-interp-dict-common.hh", 61 "$_src/hb-cff1-interp-cs.hh", 62 "$_src/hb-cff2-interp-cs.hh", 63 "$_src/hb-common.cc", 64 "$_src/hb-common.h", 65 "$_src/hb-debug.hh", 66 "$_src/hb-deprecated.h", 67 "$_src/hb-dsalgs.hh", 68 "$_src/hb-face.cc", 69 "$_src/hb-face.h", 70 "$_src/hb-face.hh", 71 "$_src/hb-font.cc", 72 "$_src/hb-font.h", 73 "$_src/hb-font.hh", 74 "$_src/hb-icu.cc", 75 "$_src/hb-icu.h", 76 "$_src/hb-map.cc", 77 "$_src/hb-mutex.hh", 78 "$_src/hb-object.hh", 79 "$_src/hb-open-file.hh", 80 "$_src/hb-open-type.hh", 81 "$_src/hb-ot-cff-common.hh", 82 "$_src/hb-ot-cff1-table.cc", 83 "$_src/hb-ot-cff1-table.hh", 84 "$_src/hb-ot-cff2-table.cc", 85 "$_src/hb-ot-cff2-table.hh", 86 "$_src/hb-ot-color-cbdt-table.hh", 87 "$_src/hb-ot-color-colr-table.hh", 88 "$_src/hb-ot-color-cpal-table.hh", 89 "$_src/hb-ot-deprecated.h", 90 "$_src/hb-ot-face.cc", 91 "$_src/hb-ot-face.hh", 92 "$_src/hb-ot-font.cc", 93 "$_src/hb-ot-font.h", 94 "$_src/hb-ot-gasp-table.hh", 95 "$_src/hb-ot-hdmx-table.hh", 96 "$_src/hb-ot-head-table.hh", 97 "$_src/hb-ot-hhea-table.hh", 98 "$_src/hb-ot-hmtx-table.hh", 99 "$_src/hb-ot-kern-table.hh", 100 "$_src/hb-ot-layout-base-table.hh", 101 "$_src/hb-ot-layout-common.hh", 102 "$_src/hb-ot-layout-gdef-table.hh", 103 "$_src/hb-ot-layout-gpos-table.hh", 104 "$_src/hb-ot-layout-gsub-table.hh", 105 "$_src/hb-ot-layout-gsubgpos.hh", 106 "$_src/hb-ot-layout.cc", 107 "$_src/hb-ot-layout.h", 108 "$_src/hb-ot-layout.hh", 109 "$_src/hb-ot-map.cc", 110 "$_src/hb-ot-map.hh", 111 "$_src/hb-ot-math-table.hh", 112 "$_src/hb-ot-math.cc", 113 "$_src/hb-ot-math.h", 114 "$_src/hb-ot-maxp-table.hh", 115 "$_src/hb-ot-name-language.cc", 116 "$_src/hb-ot-name-language.hh", 117 "$_src/hb-ot-name-table.hh", 118 "$_src/hb-ot-name.cc", 119 "$_src/hb-ot-os2-unicode-ranges.hh", 120 "$_src/hb-ot-post-macroman.hh", 121 "$_src/hb-ot-shape-complex-arabic-fallback.hh", 122 "$_src/hb-ot-shape-complex-arabic-table.hh", 123 "$_src/hb-ot-shape-complex-arabic.cc", 124 "$_src/hb-ot-shape-complex-arabic.hh", 125 "$_src/hb-ot-shape-complex-default.cc", 126 "$_src/hb-ot-shape-complex-hangul.cc", 127 "$_src/hb-ot-shape-complex-hebrew.cc", 128 "$_src/hb-ot-shape-complex-indic-machine.hh", 129 "$_src/hb-ot-shape-complex-indic-table.cc", 130 "$_src/hb-ot-shape-complex-indic.cc", 131 "$_src/hb-ot-shape-complex-indic.hh", 132 "$_src/hb-ot-shape-complex-khmer-machine.hh", 133 "$_src/hb-ot-shape-complex-khmer.cc", 134 "$_src/hb-ot-shape-complex-khmer.hh", 135 "$_src/hb-ot-shape-complex-myanmar-machine.hh", 136 "$_src/hb-ot-shape-complex-myanmar.cc", 137 "$_src/hb-ot-shape-complex-myanmar.hh", 138 "$_src/hb-ot-shape-complex-thai.cc", 139 "$_src/hb-ot-shape-complex-use-machine.hh", 140 "$_src/hb-ot-shape-complex-use-table.cc", 141 "$_src/hb-ot-shape-complex-use.cc", 142 "$_src/hb-ot-shape-complex-use.hh", 143 "$_src/hb-ot-shape-complex-vowel-constraints.cc", 144 "$_src/hb-ot-shape-complex-vowel-constraints.hh", 145 "$_src/hb-ot-shape-complex.hh", 146 "$_src/hb-ot-shape-fallback.cc", 147 "$_src/hb-ot-shape-fallback.hh", 148 "$_src/hb-ot-shape-normalize.cc", 149 "$_src/hb-ot-shape-normalize.hh", 150 "$_src/hb-ot-shape.cc", 151 "$_src/hb-ot-shape.h", 152 "$_src/hb-ot-shape.hh", 153 "$_src/hb-ot-tag.cc", 154 "$_src/hb-ot-var-avar-table.hh", 155 "$_src/hb-ot-var-fvar-table.hh", 156 "$_src/hb-ot-var-hvar-table.hh", 157 "$_src/hb-ot-var-mvar-table.hh", 158 "$_src/hb-ot-var.cc", 159 "$_src/hb-ot-var.h", 160 "$_src/hb-ot.h", 161 "$_src/hb-set-digest.hh", 162 "$_src/hb-set.cc", 163 "$_src/hb-set.h", 164 "$_src/hb-set.hh", 165 "$_src/hb-shape-plan.cc", 166 "$_src/hb-shape-plan.h", 167 "$_src/hb-shape-plan.hh", 168 "$_src/hb-shape.cc", 169 "$_src/hb-shape.h", 170 "$_src/hb-shaper-impl.hh", 171 "$_src/hb-shaper-list.hh", 172 "$_src/hb-shaper.cc", 173 "$_src/hb-shaper.hh", 174 "$_src/hb-static.cc", 175 "$_src/hb-string-array.hh", 176 "$_src/hb-subset-cff-common.cc", 177 "$_src/hb-subset-cff-common.hh", 178 "$_src/hb-subset-cff1.cc", 179 "$_src/hb-subset-cff2.cc", 180 "$_src/hb-subset-glyf.cc", 181 "$_src/hb-subset-glyf.hh", 182 "$_src/hb-subset-input.cc", 183 "$_src/hb-subset-plan.cc", 184 "$_src/hb-subset-plan.hh", 185 "$_src/hb-subset.cc", 186 "$_src/hb-subset.h", 187 "$_src/hb-subset.hh", 188 "$_src/hb-unicode-emoji-table.hh", 189 "$_src/hb-unicode.cc", 190 "$_src/hb-unicode.h", 191 "$_src/hb-unicode.hh", 192 "$_src/hb-utf.hh", 193 "$_src/hb-version.h", 194 "$_src/hb-warning.cc", 195 "$_src/hb.h", 196 "$_src/hb.hh", 197 ] 198 } 199} 200