xref: /aosp_15_r20/external/cronet/third_party/libxml/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2013 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Worker# Define an "os_include" variable that points at the OS-specific generated
6*6777b538SAndroid Build Coastguard Worker# headers.  These were generated by running the configure script offline.
7*6777b538SAndroid Build Coastguard Workerif (is_linux || is_chromeos || is_android || is_nacl || is_fuchsia) {
8*6777b538SAndroid Build Coastguard Worker  os_include = "linux"
9*6777b538SAndroid Build Coastguard Worker} else if (is_apple) {
10*6777b538SAndroid Build Coastguard Worker  os_include = "mac"
11*6777b538SAndroid Build Coastguard Worker} else if (is_win) {
12*6777b538SAndroid Build Coastguard Worker  os_include = "win32"
13*6777b538SAndroid Build Coastguard Worker}
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard Workerimport("//third_party/libxml/libxml_visibility.gni")
16*6777b538SAndroid Build Coastguard Worker
17*6777b538SAndroid Build Coastguard Workerconfig("libxml_config") {
18*6777b538SAndroid Build Coastguard Worker  # Define LIBXML_STATIC as nothing to match how libxml.h (an internal header)
19*6777b538SAndroid Build Coastguard Worker  # defines LIBXML_STATIC, otherwise we get the macro redefined warning from
20*6777b538SAndroid Build Coastguard Worker  # GCC. ("defines" does "-DFOO" which defines the macro FOO as 1.)
21*6777b538SAndroid Build Coastguard Worker  cflags = [ "-DLIBXML_STATIC=" ]
22*6777b538SAndroid Build Coastguard Worker
23*6777b538SAndroid Build Coastguard Worker  include_dirs = [
24*6777b538SAndroid Build Coastguard Worker    "src/include",
25*6777b538SAndroid Build Coastguard Worker    "$os_include/include",
26*6777b538SAndroid Build Coastguard Worker  ]
27*6777b538SAndroid Build Coastguard Worker}
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Workerconfig("libxml_warnings") {
30*6777b538SAndroid Build Coastguard Worker  if (is_win) {
31*6777b538SAndroid Build Coastguard Worker    cflags_c = [
32*6777b538SAndroid Build Coastguard Worker      "/wd4018",  # Signed/unsigned mismatch in comparison.
33*6777b538SAndroid Build Coastguard Worker      "/wd4267",  # TODO(brucedawson): http://crbug.com/554200 fix C4267
34*6777b538SAndroid Build Coastguard Worker      "/wd4311",  # and C4311 warnings.
35*6777b538SAndroid Build Coastguard Worker    ]
36*6777b538SAndroid Build Coastguard Worker  }
37*6777b538SAndroid Build Coastguard Worker  if (is_clang) {
38*6777b538SAndroid Build Coastguard Worker    cflags = [
39*6777b538SAndroid Build Coastguard Worker      # libxml passes `const unsigned char*` through `const char*`.
40*6777b538SAndroid Build Coastguard Worker      "-Wno-pointer-sign",
41*6777b538SAndroid Build Coastguard Worker
42*6777b538SAndroid Build Coastguard Worker      # pattern.c and uri.c both have an intentional `for (...);` /
43*6777b538SAndroid Build Coastguard Worker      # `while(...);` loop. I submitted a patch to move the `'` to its own
44*6777b538SAndroid Build Coastguard Worker      # line, but until that's landed suppress the warning:
45*6777b538SAndroid Build Coastguard Worker      "-Wno-empty-body",
46*6777b538SAndroid Build Coastguard Worker
47*6777b538SAndroid Build Coastguard Worker      # debugXML.c compares array 'arg' to NULL.
48*6777b538SAndroid Build Coastguard Worker      "-Wno-tautological-pointer-compare",
49*6777b538SAndroid Build Coastguard Worker
50*6777b538SAndroid Build Coastguard Worker      # threads.c attempts to forward declare a pthread_equal which doesn't
51*6777b538SAndroid Build Coastguard Worker      # match the prototype in pthreads.h
52*6777b538SAndroid Build Coastguard Worker      "-Wno-ignored-attributes",
53*6777b538SAndroid Build Coastguard Worker
54*6777b538SAndroid Build Coastguard Worker      # libxml casts from int to long to void*.
55*6777b538SAndroid Build Coastguard Worker      "-Wno-int-to-void-pointer-cast",
56*6777b538SAndroid Build Coastguard Worker
57*6777b538SAndroid Build Coastguard Worker      # libxml passes a volatile LPCRITICAL_SECTION* to a function expecting
58*6777b538SAndroid Build Coastguard Worker      # a void* volatile*.
59*6777b538SAndroid Build Coastguard Worker      "-Wno-incompatible-pointer-types",
60*6777b538SAndroid Build Coastguard Worker
61*6777b538SAndroid Build Coastguard Worker      # trio_is_special_quantity and trio_is_negative are only
62*6777b538SAndroid Build Coastguard Worker      # used with certain preprocessor defines set.
63*6777b538SAndroid Build Coastguard Worker      "-Wno-unused-function",
64*6777b538SAndroid Build Coastguard Worker
65*6777b538SAndroid Build Coastguard Worker      # Comparison between xmlElementType and xmlXPathTypeVal.
66*6777b538SAndroid Build Coastguard Worker      # TODO(hans): See if we can fix upstream (http://crbug.com/763944).
67*6777b538SAndroid Build Coastguard Worker      "-Wno-enum-compare",
68*6777b538SAndroid Build Coastguard Worker    ]
69*6777b538SAndroid Build Coastguard Worker  } else if (is_linux || is_chromeos) {
70*6777b538SAndroid Build Coastguard Worker    cflags = [
71*6777b538SAndroid Build Coastguard Worker      # gcc spits out a bunch of warnings about passing too many arguments to
72*6777b538SAndroid Build Coastguard Worker      # __xmlSimpleError.
73*6777b538SAndroid Build Coastguard Worker      "-Wno-format-extra-args",
74*6777b538SAndroid Build Coastguard Worker    ]
75*6777b538SAndroid Build Coastguard Worker  }
76*6777b538SAndroid Build Coastguard Worker}
77*6777b538SAndroid Build Coastguard Worker
78*6777b538SAndroid Build Coastguard Worker# Please keep in sync with //build/linux/unbundle/libxml.gn.
79*6777b538SAndroid Build Coastguard Workerstatic_library("xml_reader") {
80*6777b538SAndroid Build Coastguard Worker  # Do not expand this visibility list without first consulting with the
81*6777b538SAndroid Build Coastguard Worker  # Security Team.
82*6777b538SAndroid Build Coastguard Worker  visibility = [
83*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
84*6777b538SAndroid Build Coastguard Worker    "//components/policy/core/common:unit_tests",
85*6777b538SAndroid Build Coastguard Worker    "//services/data_decoder:*",
86*6777b538SAndroid Build Coastguard Worker  ]
87*6777b538SAndroid Build Coastguard Worker  if (is_win) {
88*6777b538SAndroid Build Coastguard Worker    visibility += [ "//components/wifi" ]
89*6777b538SAndroid Build Coastguard Worker  }
90*6777b538SAndroid Build Coastguard Worker  sources = [
91*6777b538SAndroid Build Coastguard Worker    "chromium/xml_reader.cc",
92*6777b538SAndroid Build Coastguard Worker    "chromium/xml_reader.h",
93*6777b538SAndroid Build Coastguard Worker  ]
94*6777b538SAndroid Build Coastguard Worker  deps = [
95*6777b538SAndroid Build Coastguard Worker    ":libxml",
96*6777b538SAndroid Build Coastguard Worker    ":libxml_utils",
97*6777b538SAndroid Build Coastguard Worker  ]
98*6777b538SAndroid Build Coastguard Worker  configs += [ ":libxml_config" ]
99*6777b538SAndroid Build Coastguard Worker}
100*6777b538SAndroid Build Coastguard Worker
101*6777b538SAndroid Build Coastguard Worker# Please keep in sync with //build/linux/unbundle/libxml.gn.
102*6777b538SAndroid Build Coastguard Workerstatic_library("xml_writer") {
103*6777b538SAndroid Build Coastguard Worker  # The XmlWriter is considered safe to use from any target.
104*6777b538SAndroid Build Coastguard Worker  visibility = [ "*" ]
105*6777b538SAndroid Build Coastguard Worker  sources = [
106*6777b538SAndroid Build Coastguard Worker    "chromium/xml_writer.cc",
107*6777b538SAndroid Build Coastguard Worker    "chromium/xml_writer.h",
108*6777b538SAndroid Build Coastguard Worker  ]
109*6777b538SAndroid Build Coastguard Worker  deps = [
110*6777b538SAndroid Build Coastguard Worker    ":libxml",
111*6777b538SAndroid Build Coastguard Worker    ":libxml_utils",
112*6777b538SAndroid Build Coastguard Worker  ]
113*6777b538SAndroid Build Coastguard Worker  configs += [ ":libxml_config" ]
114*6777b538SAndroid Build Coastguard Worker}
115*6777b538SAndroid Build Coastguard Worker
116*6777b538SAndroid Build Coastguard Worker# Please keep in sync with //build/linux/unbundle/libxml.gn.
117*6777b538SAndroid Build Coastguard Workerstatic_library("libxml_utils") {
118*6777b538SAndroid Build Coastguard Worker  # Do not expand this visibility list without first consulting with the
119*6777b538SAndroid Build Coastguard Worker  # Security Team.
120*6777b538SAndroid Build Coastguard Worker  visibility = [
121*6777b538SAndroid Build Coastguard Worker    ":xml_reader",
122*6777b538SAndroid Build Coastguard Worker    ":xml_writer",
123*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
124*6777b538SAndroid Build Coastguard Worker    "//services/data_decoder:lib",
125*6777b538SAndroid Build Coastguard Worker    "//services/data_decoder:xml_parser_fuzzer_deps",
126*6777b538SAndroid Build Coastguard Worker  ]
127*6777b538SAndroid Build Coastguard Worker  sources = [
128*6777b538SAndroid Build Coastguard Worker    "chromium/libxml_utils.cc",
129*6777b538SAndroid Build Coastguard Worker    "chromium/libxml_utils.h",
130*6777b538SAndroid Build Coastguard Worker  ]
131*6777b538SAndroid Build Coastguard Worker  deps = [ ":libxml" ]
132*6777b538SAndroid Build Coastguard Worker  public_deps = [ "//third_party/icu:icuuc" ]
133*6777b538SAndroid Build Coastguard Worker  public_configs = [ ":libxml_config" ]
134*6777b538SAndroid Build Coastguard Worker}
135*6777b538SAndroid Build Coastguard Worker
136*6777b538SAndroid Build Coastguard Workerstatic_library("libxml") {
137*6777b538SAndroid Build Coastguard Worker  # Do not expand this visibility list without first consulting with the
138*6777b538SAndroid Build Coastguard Worker  # Security Team.
139*6777b538SAndroid Build Coastguard Worker  visibility = [
140*6777b538SAndroid Build Coastguard Worker    ":libxml_utils",
141*6777b538SAndroid Build Coastguard Worker    ":xml_reader",
142*6777b538SAndroid Build Coastguard Worker    ":xml_writer",
143*6777b538SAndroid Build Coastguard Worker    "//chromecast/internal",
144*6777b538SAndroid Build Coastguard Worker    "//testing/libfuzzer/*",
145*6777b538SAndroid Build Coastguard Worker    "//third_party/blink/renderer/*",
146*6777b538SAndroid Build Coastguard Worker    "//third_party/fontconfig",
147*6777b538SAndroid Build Coastguard Worker    "//third_party/libxslt",
148*6777b538SAndroid Build Coastguard Worker    "//third_party/maldoca/*",
149*6777b538SAndroid Build Coastguard Worker  ]
150*6777b538SAndroid Build Coastguard Worker  if (is_ios) {
151*6777b538SAndroid Build Coastguard Worker    foreach(tgt, ios_libxml_visibility_additions) {
152*6777b538SAndroid Build Coastguard Worker      visibility += [ "//ios_internal/$tgt" ]
153*6777b538SAndroid Build Coastguard Worker    }
154*6777b538SAndroid Build Coastguard Worker  }
155*6777b538SAndroid Build Coastguard Worker
156*6777b538SAndroid Build Coastguard Worker  output_name = "libxml2"
157*6777b538SAndroid Build Coastguard Worker
158*6777b538SAndroid Build Coastguard Worker  # Commented out sources are libxml2 files we do not want to include. They are
159*6777b538SAndroid Build Coastguard Worker  # here to make it easy to identify files which are new.
160*6777b538SAndroid Build Coastguard Worker  sources = [
161*6777b538SAndroid Build Coastguard Worker    "src/HTMLparser.c",
162*6777b538SAndroid Build Coastguard Worker    "src/HTMLtree.c",
163*6777b538SAndroid Build Coastguard Worker
164*6777b538SAndroid Build Coastguard Worker    #"src/SAX.c",
165*6777b538SAndroid Build Coastguard Worker    "src/SAX2.c",
166*6777b538SAndroid Build Coastguard Worker    "src/buf.c",
167*6777b538SAndroid Build Coastguard Worker
168*6777b538SAndroid Build Coastguard Worker    #"src/c14n.c",
169*6777b538SAndroid Build Coastguard Worker    #"src/catalog.c",
170*6777b538SAndroid Build Coastguard Worker    "src/chvalid.c",
171*6777b538SAndroid Build Coastguard Worker
172*6777b538SAndroid Build Coastguard Worker    #"src/debugXML.c",
173*6777b538SAndroid Build Coastguard Worker    "src/dict.c",
174*6777b538SAndroid Build Coastguard Worker    "src/encoding.c",
175*6777b538SAndroid Build Coastguard Worker    "src/entities.c",
176*6777b538SAndroid Build Coastguard Worker    "src/error.c",
177*6777b538SAndroid Build Coastguard Worker    "src/globals.c",
178*6777b538SAndroid Build Coastguard Worker    "src/hash.c",
179*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/HTMLparser.h",
180*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/HTMLtree.h",
181*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/SAX.h",
182*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/SAX2.h",
183*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/c14n.h",
184*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/catalog.h",
185*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/chvalid.h",
186*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/debugXML.h",
187*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/dict.h",
188*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/encoding.h",
189*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/entities.h",
190*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/globals.h",
191*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/hash.h",
192*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/list.h",
193*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/nanoftp.h",
194*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/nanohttp.h",
195*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/parser.h",
196*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/parserInternals.h",
197*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/pattern.h",
198*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/relaxng.h",
199*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/schemasInternals.h",
200*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/schematron.h",
201*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/threads.h",
202*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/tree.h",
203*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/uri.h",
204*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/valid.h",
205*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xinclude.h",
206*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xlink.h",
207*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlIO.h",
208*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlautomata.h",
209*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlerror.h",
210*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlexports.h",
211*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlmemory.h",
212*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlmodule.h",
213*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlreader.h",
214*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlregexp.h",
215*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlsave.h",
216*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlschemas.h",
217*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlschemastypes.h",
218*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlstring.h",
219*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlunicode.h",
220*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xmlwriter.h",
221*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xpath.h",
222*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xpathInternals.h",
223*6777b538SAndroid Build Coastguard Worker    "src/include/libxml/xpointer.h",
224*6777b538SAndroid Build Coastguard Worker
225*6777b538SAndroid Build Coastguard Worker    #"src/legacy.c",
226*6777b538SAndroid Build Coastguard Worker    "src/libxml.h",
227*6777b538SAndroid Build Coastguard Worker    "src/list.c",
228*6777b538SAndroid Build Coastguard Worker    "src/parser.c",
229*6777b538SAndroid Build Coastguard Worker    "src/parserInternals.c",
230*6777b538SAndroid Build Coastguard Worker    "src/pattern.c",
231*6777b538SAndroid Build Coastguard Worker
232*6777b538SAndroid Build Coastguard Worker    #"src/relaxng.c",
233*6777b538SAndroid Build Coastguard Worker
234*6777b538SAndroid Build Coastguard Worker    #"src/schematron.c",
235*6777b538SAndroid Build Coastguard Worker    "src/threads.c",
236*6777b538SAndroid Build Coastguard Worker    "src/timsort.h",
237*6777b538SAndroid Build Coastguard Worker    "src/tree.c",
238*6777b538SAndroid Build Coastguard Worker
239*6777b538SAndroid Build Coastguard Worker    "src/uri.c",
240*6777b538SAndroid Build Coastguard Worker    "src/valid.c",
241*6777b538SAndroid Build Coastguard Worker
242*6777b538SAndroid Build Coastguard Worker    #"src/xinclude.c",
243*6777b538SAndroid Build Coastguard Worker    #"src/xlink.c",
244*6777b538SAndroid Build Coastguard Worker    "src/xmlIO.c",
245*6777b538SAndroid Build Coastguard Worker    "src/xmlmemory.c",
246*6777b538SAndroid Build Coastguard Worker
247*6777b538SAndroid Build Coastguard Worker    #"src/xmlmodule.c",
248*6777b538SAndroid Build Coastguard Worker    "src/xmlreader.c",
249*6777b538SAndroid Build Coastguard Worker
250*6777b538SAndroid Build Coastguard Worker    #"src/xmlregexp.c",
251*6777b538SAndroid Build Coastguard Worker    "src/xmlsave.c",
252*6777b538SAndroid Build Coastguard Worker
253*6777b538SAndroid Build Coastguard Worker    #"src/xmlschemas.c",
254*6777b538SAndroid Build Coastguard Worker    #"src/xmlschemastypes.c",
255*6777b538SAndroid Build Coastguard Worker    "src/xmlstring.c",
256*6777b538SAndroid Build Coastguard Worker    "src/xmlunicode.c",
257*6777b538SAndroid Build Coastguard Worker    "src/xmlwriter.c",
258*6777b538SAndroid Build Coastguard Worker    "src/xpath.c",
259*6777b538SAndroid Build Coastguard Worker
260*6777b538SAndroid Build Coastguard Worker    #"src/xpointer.c",
261*6777b538SAndroid Build Coastguard Worker    #"src/xzlib.c",
262*6777b538SAndroid Build Coastguard Worker  ]
263*6777b538SAndroid Build Coastguard Worker
264*6777b538SAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
265*6777b538SAndroid Build Coastguard Worker  configs += [
266*6777b538SAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
267*6777b538SAndroid Build Coastguard Worker
268*6777b538SAndroid Build Coastguard Worker    # Must be after no_chromium_code for warning flags to be ordered correctly.
269*6777b538SAndroid Build Coastguard Worker    ":libxml_warnings",
270*6777b538SAndroid Build Coastguard Worker  ]
271*6777b538SAndroid Build Coastguard Worker
272*6777b538SAndroid Build Coastguard Worker  if (is_linux || is_chromeos) {
273*6777b538SAndroid Build Coastguard Worker    sources += [
274*6777b538SAndroid Build Coastguard Worker      "linux/config.h",
275*6777b538SAndroid Build Coastguard Worker      "linux/include/libxml/xmlversion.h",
276*6777b538SAndroid Build Coastguard Worker    ]
277*6777b538SAndroid Build Coastguard Worker  }
278*6777b538SAndroid Build Coastguard Worker
279*6777b538SAndroid Build Coastguard Worker  if (is_mac) {
280*6777b538SAndroid Build Coastguard Worker    sources += [
281*6777b538SAndroid Build Coastguard Worker      "mac/config.h",
282*6777b538SAndroid Build Coastguard Worker      "mac/include/libxml/xmlversion.h",
283*6777b538SAndroid Build Coastguard Worker    ]
284*6777b538SAndroid Build Coastguard Worker  }
285*6777b538SAndroid Build Coastguard Worker
286*6777b538SAndroid Build Coastguard Worker  if (is_win) {
287*6777b538SAndroid Build Coastguard Worker    sources += [
288*6777b538SAndroid Build Coastguard Worker      "src/include/win32config.h",
289*6777b538SAndroid Build Coastguard Worker      "src/include/wsockcompat.h",
290*6777b538SAndroid Build Coastguard Worker      "win32/config.h",
291*6777b538SAndroid Build Coastguard Worker      "win32/include/libxml/xmlversion.h",
292*6777b538SAndroid Build Coastguard Worker    ]
293*6777b538SAndroid Build Coastguard Worker
294*6777b538SAndroid Build Coastguard Worker    # libxml2 already defines WIN32_LEAN_AND_MEAN.
295*6777b538SAndroid Build Coastguard Worker    configs -= [ "//build/config/win:lean_and_mean" ]
296*6777b538SAndroid Build Coastguard Worker  }
297*6777b538SAndroid Build Coastguard Worker
298*6777b538SAndroid Build Coastguard Worker  sources += [ "chromium/disabled_libxml_features.cc" ]
299*6777b538SAndroid Build Coastguard Worker
300*6777b538SAndroid Build Coastguard Worker  public_configs = [ ":libxml_config" ]
301*6777b538SAndroid Build Coastguard Worker  public_deps = [ "//third_party/icu:icuuc" ]
302*6777b538SAndroid Build Coastguard Worker  deps = [ "//third_party/zlib" ]
303*6777b538SAndroid Build Coastguard Worker
304*6777b538SAndroid Build Coastguard Worker  if (is_apple || is_android || is_fuchsia) {
305*6777b538SAndroid Build Coastguard Worker    # http://www.xmlsoft.org/threads.html says that this is required when using
306*6777b538SAndroid Build Coastguard Worker    # libxml from several threads, which can possibly happen in chrome. On
307*6777b538SAndroid Build Coastguard Worker    # linux, this is picked up by transitivity from pkg-config output from
308*6777b538SAndroid Build Coastguard Worker    # build/linux/system.gyp.
309*6777b538SAndroid Build Coastguard Worker    defines = [ "_REENTRANT" ]
310*6777b538SAndroid Build Coastguard Worker  }
311*6777b538SAndroid Build Coastguard Worker
312*6777b538SAndroid Build Coastguard Worker  include_dirs = [ "$os_include" ]
313*6777b538SAndroid Build Coastguard Worker}
314