Include all dupe types (event when value is zero) in scan stats.
[chromium-blink-merge.git] / third_party / harfbuzz-ng / harfbuzz.gyp
blobcd58e641a6f117978d2465065103dd4c6fe2e88b
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'includes': [
7     '../../build/win_precompile.gypi',
8   ],
9   'variables': {
10     'variables': {
11       'conditions': [
12         ['sysroot!=""', {
13           'pkg-config': '<(chroot_cmd) ../../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)" "<(system_libdir)"',
14         }, {
15           'pkg-config': 'pkg-config'
16         }],
17       ],
18     },
20     'pkg-config': '<(pkg-config)',
22     'conditions': [
23       ['OS=="linux" and (buildtype!="Official" or chromeos==1) and embedded==0', {
24         # Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz
25         # anyways. However, we want to have control of the version of harfbuzz
26         # we use, so don't use system harfbuzz for official builds, unless we
27         # are building for chrome os, where we have the system harfbuzz under
28         # control as well.
29         'use_system_harfbuzz%': '<!(python ../../build/check_return_value.py <(pkg-config) --atleast-version=1.31.0 pangoft2)',
30       }, {
31         'use_system_harfbuzz': 0,
32       }],
33       ['OS=="linux" and target_arch=="arm" and chromeos==0', {
34         # Override use_system_harfbuzz for ARM cross compiling so system
35         # harfbuzz is not used because the corresponding package is not
36         # available.
37         'use_system_harfbuzz': 0,
38       }],
39     ],
40   },
41   'conditions': [
42     ['use_system_harfbuzz==0', {
43       'targets': [
44         {
45           'target_name': 'harfbuzz-ng',
46           'type': 'static_library',
47           'defines': [
48             'HAVE_OT',
49             'HAVE_ICU',
50             'HAVE_ICU_BUILTIN',
51             'HB_NO_MT',
52           ],
53           'sources': [
54             'src/hb-atomic-private.hh',
55             'src/hb-blob.cc',
56             'src/hb-blob.h',
57             'src/hb-buffer.cc',
58             'src/hb-buffer-deserialize-json.hh',
59             'src/hb-buffer-deserialize-text.hh',
60             'src/hb-buffer.h',
61             'src/hb-buffer-private.hh',
62             'src/hb-buffer-serialize.cc',
63             'src/hb-cache-private.hh',
64             'src/hb-common.cc',
65             'src/hb-common.h',
66             'src/hb-deprecated.h',
67             'src/hb-face.cc',
68             'src/hb-face.h',
69             'src/hb-face-private.hh',
70             'src/hb-fallback-shape.cc',
71             'src/hb-font.cc',
72             'src/hb-font.h',
73             'src/hb-font-private.hh',
74             'src/hb.h',
75             'src/hb-icu.cc',
76             'src/hb-icu.h',
77             'src/hb-mutex-private.hh',
78             'src/hb-object-private.hh',
79             'src/hb-open-file-private.hh',
80             'src/hb-open-type-private.hh',
81             'src/hb-ot.h',
82             'src/hb-ot-font.cc',
83             'src/hb-ot-font.h',
84             'src/hb-ot-head-table.hh',
85             'src/hb-ot-hhea-table.hh',
86             'src/hb-ot-hmtx-table.hh',
87             'src/hb-ot-layout.cc',
88             'src/hb-ot-layout-common-private.hh',
89             'src/hb-ot-layout-gdef-table.hh',
90             'src/hb-ot-layout-gpos-table.hh',
91             'src/hb-ot-layout-gsubgpos-private.hh',
92             'src/hb-ot-layout-gsub-table.hh',
93             'src/hb-ot-layout.h',
94             'src/hb-ot-layout-private.hh',
95             'src/hb-ot-map.cc',
96             'src/hb-ot-map-private.hh',
97             'src/hb-ot-maxp-table.hh',
98             'src/hb-ot-name-table.hh',
99             'src/hb-ot-shape.cc',
100             'src/hb-ot-shape-complex-arabic.cc',
101             'src/hb-ot-shape-complex-arabic-fallback.hh',
102             'src/hb-ot-shape-complex-arabic-table.hh',
103             'src/hb-ot-shape-complex-default.cc',
104             'src/hb-ot-shape-complex-hangul.cc',
105             'src/hb-ot-shape-complex-hebrew.cc',
106             'src/hb-ot-shape-complex-indic.cc',
107             'src/hb-ot-shape-complex-indic-machine.hh',
108             'src/hb-ot-shape-complex-indic-private.hh',
109             'src/hb-ot-shape-complex-indic-table.cc',
110             'src/hb-ot-shape-complex-myanmar.cc',
111             'src/hb-ot-shape-complex-myanmar-machine.hh',
112             'src/hb-ot-shape-complex-private.hh',
113             'src/hb-ot-shape-complex-sea.cc',
114             'src/hb-ot-shape-complex-sea-machine.hh',
115             'src/hb-ot-shape-complex-thai.cc',
116             'src/hb-ot-shape-complex-tibetan.cc',
117             'src/hb-ot-shape-fallback.cc',
118             'src/hb-ot-shape-fallback-private.hh',
119             'src/hb-ot-shape.h',
120             'src/hb-ot-shape-normalize.cc',
121             'src/hb-ot-shape-normalize-private.hh',
122             'src/hb-ot-shape-private.hh',
123             'src/hb-ot-tag.cc',
124             'src/hb-ot-tag.h',
125             'src/hb-private.hh',
126             'src/hb-set.cc',
127             'src/hb-set.h',
128             'src/hb-set-private.hh',
129             'src/hb-shape.cc',
130             'src/hb-shape.h',
131             'src/hb-shape-plan.cc',
132             'src/hb-shape-plan.h',
133             'src/hb-shape-plan-private.hh',
134             'src/hb-shaper.cc',
135             'src/hb-shaper-impl-private.hh',
136             'src/hb-shaper-list.hh',
137             'src/hb-shaper-private.hh',
138             'src/hb-unicode.cc',
139             'src/hb-unicode.h',
140             'src/hb-unicode-private.hh',
141             'src/hb-utf-private.hh',
142             'src/hb-version.h',
143             'src/hb-warning.cc',
144           ],
145           'include_dirs': [
146             'src',
147           ],
148           'direct_dependent_settings': {
149             'include_dirs': [
150               'src',
151             ],
152           },
153           'dependencies': [
154             '../../third_party/icu/icu.gyp:icuuc',
155           ],
156           'variables': {
157             'clang_warning_flags': [ '-Wno-unused-value', ],
158           },
159           'conditions': [
160             ['OS=="win"', {
161               # TODO(eae): C4267 on amd64. size_t -> int, size_t -> unsigned int
162               'msvs_disabled_warnings': [4267, 4334],
163             }],
164             ['OS=="mac"', {
165               'defines': [
166                 'HAVE_CORETEXT',
167               ],
168               'sources': [
169                 'src/hb-coretext.cc',
170                 'src/hb-coretext.h',
171               ],
172             }],
173           ],
174         },
175       ],
176     }, {  # use_system_harfbuzz==1
177       'targets': [
178         {
179           'target_name': 'harfbuzz-ng',
180           'type': 'none',
181           'cflags': [
182             '<!@(<(pkg-config) --cflags harfbuzz)',
183           ],
184           'direct_dependent_settings': {
185             'cflags': [
186               '<!@(<(pkg-config) --cflags harfbuzz)',
187             ],
188           },
189           'link_settings': {
190             'ldflags': [
191               '<!@(<(pkg-config) --libs-only-L --libs-only-other harfbuzz)',
192             ],
193             'libraries': [
194               '<!@(<(pkg-config) --libs-only-l harfbuzz)',
195             ],
196           },
197         },
198       ],
199     }],
200   ],