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_INTEL_ATOMIC_PRIMITIVES", 29 "HAVE_OT", 30 ] 31 deps = [ 32 "//third_party/icu", 33 ] 34 public = [ 35 "$_src/hb-blob.h", 36 "$_src/hb-buffer.h", 37 "$_src/hb-common.h", 38 "$_src/hb-deprecated.h", 39 "$_src/hb-face.h", 40 "$_src/hb-font.h", 41 "$_src/hb-icu.h", 42 "$_src/hb-map.h", 43 "$_src/hb-ot-font.h", 44 "$_src/hb-ot-layout.h", 45 "$_src/hb-ot-math.h", 46 "$_src/hb-ot-shape.h", 47 "$_src/hb-ot-var.h", 48 "$_src/hb-ot.h", 49 "$_src/hb-set.h", 50 "$_src/hb-shape-plan.h", 51 "$_src/hb-shape.h", 52 "$_src/hb-subset.h", 53 "$_src/hb-unicode.h", 54 "$_src/hb-version.h", 55 "$_src/hb.h", 56 ] 57 sources = [ 58 "$_src/hb-aat-fdsc-table.hh", 59 "$_src/hb-aat-layout-ankr-table.hh", 60 "$_src/hb-aat-layout-bsln-table.hh", 61 "$_src/hb-aat-layout-common.hh", 62 "$_src/hb-aat-layout-feat-table.hh", 63 "$_src/hb-aat-layout-just-table.hh", 64 "$_src/hb-aat-layout-kerx-table.hh", 65 "$_src/hb-aat-layout-lcar-table.hh", 66 "$_src/hb-aat-layout-morx-table.hh", 67 "$_src/hb-aat-layout-opbd-table.hh", 68 "$_src/hb-aat-layout-trak-table.hh", 69 "$_src/hb-aat-layout.cc", 70 "$_src/hb-aat-layout.hh", 71 "$_src/hb-aat-ltag-table.hh", 72 "$_src/hb-aat-map.cc", 73 "$_src/hb-aat-map.hh", 74 "$_src/hb-algs.hh", 75 "$_src/hb-array.hh", 76 "$_src/hb-atomic.hh", 77 "$_src/hb-bimap.hh", 78 "$_src/hb-blob.cc", 79 "$_src/hb-blob.hh", 80 "$_src/hb-buffer-deserialize-json.hh", 81 "$_src/hb-buffer-deserialize-text.hh", 82 "$_src/hb-buffer-serialize.cc", 83 "$_src/hb-buffer.cc", 84 "$_src/hb-buffer.hh", 85 "$_src/hb-cache.hh", 86 "$_src/hb-cff-interp-common.hh", 87 "$_src/hb-cff-interp-cs-common.hh", 88 "$_src/hb-cff-interp-dict-common.hh", 89 "$_src/hb-cff1-interp-cs.hh", 90 "$_src/hb-cff2-interp-cs.hh", 91 "$_src/hb-common.cc", 92 "$_src/hb-config.hh", 93 "$_src/hb-coretext.cc", 94 "$_src/hb-debug.hh", 95 "$_src/hb-directwrite.cc", 96 "$_src/hb-dispatch.hh", 97 "$_src/hb-face.cc", 98 "$_src/hb-face.hh", 99 "$_src/hb-fallback-shape.cc", 100 "$_src/hb-font.cc", 101 "$_src/hb-font.hh", 102 "$_src/hb-ft.cc", 103 "$_src/hb-gdi.cc", 104 "$_src/hb-glib.cc", 105 "$_src/hb-gobject-structs.cc", 106 "$_src/hb-graphite2.cc", 107 "$_src/hb-icu.cc", 108 "$_src/hb-iter.hh", 109 "$_src/hb-kern.hh", 110 "$_src/hb-machinery.hh", 111 "$_src/hb-map.cc", 112 "$_src/hb-map.hh", 113 "$_src/hb-meta.hh", 114 "$_src/hb-mutex.hh", 115 "$_src/hb-null.hh", 116 "$_src/hb-number-parser.hh", 117 "$_src/hb-number.cc", 118 "$_src/hb-number.hh", 119 "$_src/hb-object.hh", 120 "$_src/hb-open-file.hh", 121 "$_src/hb-open-type.hh", 122 "$_src/hb-ot-cff-common.hh", 123 "$_src/hb-ot-cff1-table.cc", 124 "$_src/hb-ot-cff1-table.hh", 125 "$_src/hb-ot-cff2-table.cc", 126 "$_src/hb-ot-cff2-table.hh", 127 "$_src/hb-ot-cmap-table.hh", 128 "$_src/hb-ot-color-cbdt-table.hh", 129 "$_src/hb-ot-color-colr-table.hh", 130 "$_src/hb-ot-color-cpal-table.hh", 131 "$_src/hb-ot-color-sbix-table.hh", 132 "$_src/hb-ot-color-svg-table.hh", 133 "$_src/hb-ot-color.cc", 134 "$_src/hb-ot-face-table-list.hh", 135 "$_src/hb-ot-face.cc", 136 "$_src/hb-ot-face.hh", 137 "$_src/hb-ot-font.cc", 138 "$_src/hb-ot-gasp-table.hh", 139 "$_src/hb-ot-glyf-table.hh", 140 "$_src/hb-ot-hdmx-table.hh", 141 "$_src/hb-ot-head-table.hh", 142 "$_src/hb-ot-hhea-table.hh", 143 "$_src/hb-ot-hmtx-table.hh", 144 "$_src/hb-ot-kern-table.hh", 145 "$_src/hb-ot-layout-base-table.hh", 146 "$_src/hb-ot-layout-common.hh", 147 "$_src/hb-ot-layout-gdef-table.hh", 148 "$_src/hb-ot-layout-gpos-table.hh", 149 "$_src/hb-ot-layout-gsub-table.hh", 150 "$_src/hb-ot-layout-gsubgpos.hh", 151 "$_src/hb-ot-layout-jstf-table.hh", 152 "$_src/hb-ot-layout.cc", 153 "$_src/hb-ot-layout.hh", 154 "$_src/hb-ot-map.cc", 155 "$_src/hb-ot-map.hh", 156 "$_src/hb-ot-math-table.hh", 157 "$_src/hb-ot-math.cc", 158 "$_src/hb-ot-maxp-table.hh", 159 "$_src/hb-ot-meta-table.hh", 160 "$_src/hb-ot-meta.cc", 161 "$_src/hb-ot-metrics.cc", 162 "$_src/hb-ot-metrics.hh", 163 "$_src/hb-ot-name-language-static.hh", 164 "$_src/hb-ot-name-language.hh", 165 "$_src/hb-ot-name-table.hh", 166 "$_src/hb-ot-name.cc", 167 "$_src/hb-ot-os2-table.hh", 168 "$_src/hb-ot-os2-unicode-ranges.hh", 169 "$_src/hb-ot-post-macroman.hh", 170 "$_src/hb-ot-post-table.hh", 171 "$_src/hb-ot-shape-complex-arabic-fallback.hh", 172 "$_src/hb-ot-shape-complex-arabic-table.hh", 173 "$_src/hb-ot-shape-complex-arabic-win1256.hh", 174 "$_src/hb-ot-shape-complex-arabic.cc", 175 "$_src/hb-ot-shape-complex-arabic.hh", 176 "$_src/hb-ot-shape-complex-default.cc", 177 "$_src/hb-ot-shape-complex-hangul.cc", 178 "$_src/hb-ot-shape-complex-hebrew.cc", 179 "$_src/hb-ot-shape-complex-indic-machine.hh", 180 "$_src/hb-ot-shape-complex-indic-table.cc", 181 "$_src/hb-ot-shape-complex-indic.cc", 182 "$_src/hb-ot-shape-complex-indic.hh", 183 "$_src/hb-ot-shape-complex-khmer-machine.hh", 184 "$_src/hb-ot-shape-complex-khmer.cc", 185 "$_src/hb-ot-shape-complex-khmer.hh", 186 "$_src/hb-ot-shape-complex-myanmar-machine.hh", 187 "$_src/hb-ot-shape-complex-myanmar.cc", 188 "$_src/hb-ot-shape-complex-myanmar.hh", 189 "$_src/hb-ot-shape-complex-thai.cc", 190 "$_src/hb-ot-shape-complex-use-machine.hh", 191 "$_src/hb-ot-shape-complex-use-table.cc", 192 "$_src/hb-ot-shape-complex-use.cc", 193 "$_src/hb-ot-shape-complex-use.hh", 194 "$_src/hb-ot-shape-complex-vowel-constraints.cc", 195 "$_src/hb-ot-shape-complex-vowel-constraints.hh", 196 "$_src/hb-ot-shape-complex.hh", 197 "$_src/hb-ot-shape-fallback.cc", 198 "$_src/hb-ot-shape-fallback.hh", 199 "$_src/hb-ot-shape-normalize.cc", 200 "$_src/hb-ot-shape-normalize.hh", 201 "$_src/hb-ot-shape.cc", 202 "$_src/hb-ot-shape.hh", 203 "$_src/hb-ot-stat-table.hh", 204 "$_src/hb-ot-tag-table.hh", 205 "$_src/hb-ot-tag.cc", 206 "$_src/hb-ot-var-avar-table.hh", 207 "$_src/hb-ot-var-fvar-table.hh", 208 "$_src/hb-ot-var-gvar-table.hh", 209 "$_src/hb-ot-var-hvar-table.hh", 210 "$_src/hb-ot-var-mvar-table.hh", 211 "$_src/hb-ot-var.cc", 212 "$_src/hb-ot-vorg-table.hh", 213 "$_src/hb-pool.hh", 214 "$_src/hb-sanitize.hh", 215 "$_src/hb-serialize.hh", 216 "$_src/hb-set-digest.hh", 217 "$_src/hb-set.cc", 218 "$_src/hb-set.hh", 219 "$_src/hb-shape-plan.cc", 220 "$_src/hb-shape-plan.hh", 221 "$_src/hb-shape.cc", 222 "$_src/hb-shaper-impl.hh", 223 "$_src/hb-shaper-list.hh", 224 "$_src/hb-shaper.cc", 225 "$_src/hb-shaper.hh", 226 "$_src/hb-static.cc", 227 "$_src/hb-string-array.hh", 228 "$_src/hb-subset-cff-common.cc", 229 "$_src/hb-subset-cff-common.hh", 230 "$_src/hb-subset-cff1.cc", 231 "$_src/hb-subset-cff1.hh", 232 "$_src/hb-subset-cff2.cc", 233 "$_src/hb-subset-cff2.hh", 234 "$_src/hb-subset-input.cc", 235 "$_src/hb-subset-input.hh", 236 "$_src/hb-subset-plan.cc", 237 "$_src/hb-subset-plan.hh", 238 "$_src/hb-subset.cc", 239 "$_src/hb-subset.hh", 240 "$_src/hb-ucd-table.hh", 241 "$_src/hb-ucd.cc", 242 "$_src/hb-unicode-emoji-table.hh", 243 "$_src/hb-unicode.cc", 244 "$_src/hb-unicode.hh", 245 "$_src/hb-uniscribe.cc", 246 "$_src/hb-utf.hh", 247 "$_src/hb-vector.hh", 248 "$_src/hb.hh", 249 ] 250 } 251} 252