BUILD.gn 6.4 KB

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