xref: /aosp_15_r20/external/pdfium/third_party/BUILD.gn (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2014 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker# found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker
5*3ac0a46fSAndroid Build Coastguard Workerimport("//build/config/arm.gni")
6*3ac0a46fSAndroid Build Coastguard Workerimport("//build/config/linux/pkg_config.gni")
7*3ac0a46fSAndroid Build Coastguard Workerimport("//build/config/mips.gni")
8*3ac0a46fSAndroid Build Coastguard Workerimport("//build_overrides/build.gni")
9*3ac0a46fSAndroid Build Coastguard Workerimport("../pdfium.gni")
10*3ac0a46fSAndroid Build Coastguard Worker
11*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_third_party_config") {
12*3ac0a46fSAndroid Build Coastguard Worker  configs = [
13*3ac0a46fSAndroid Build Coastguard Worker    "..:pdfium_common_config",
14*3ac0a46fSAndroid Build Coastguard Worker    "..:pdfium_public_config",
15*3ac0a46fSAndroid Build Coastguard Worker  ]
16*3ac0a46fSAndroid Build Coastguard Worker}
17*3ac0a46fSAndroid Build Coastguard Worker
18*3ac0a46fSAndroid Build Coastguard Workerif (pdf_enable_xfa) {
19*3ac0a46fSAndroid Build Coastguard Worker  source_set("bigint") {
20*3ac0a46fSAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
21*3ac0a46fSAndroid Build Coastguard Worker    configs += [
22*3ac0a46fSAndroid Build Coastguard Worker      "//build/config/compiler:no_chromium_code",
23*3ac0a46fSAndroid Build Coastguard Worker      ":pdfium_third_party_config",
24*3ac0a46fSAndroid Build Coastguard Worker    ]
25*3ac0a46fSAndroid Build Coastguard Worker    sources = [
26*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigInteger.cc",
27*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigInteger.hh",
28*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigIntegerLibrary.hh",
29*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigIntegerUtils.cc",
30*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigIntegerUtils.hh",
31*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigUnsigned.cc",
32*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigUnsigned.hh",
33*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigUnsignedInABase.cc",
34*3ac0a46fSAndroid Build Coastguard Worker      "bigint/BigUnsignedInABase.hh",
35*3ac0a46fSAndroid Build Coastguard Worker      "bigint/NumberlikeArray.hh",
36*3ac0a46fSAndroid Build Coastguard Worker    ]
37*3ac0a46fSAndroid Build Coastguard Worker  }
38*3ac0a46fSAndroid Build Coastguard Worker}
39*3ac0a46fSAndroid Build Coastguard Worker
40*3ac0a46fSAndroid Build Coastguard Workerif (pdf_bundle_freetype) {
41*3ac0a46fSAndroid Build Coastguard Worker  config("freetype_public_includes_config") {
42*3ac0a46fSAndroid Build Coastguard Worker    # The relative freetype/include path points to PDFium's custom config.
43*3ac0a46fSAndroid Build Coastguard Worker    # The absolute path points to whatever copy of FreeType is in
44*3ac0a46fSAndroid Build Coastguard Worker    # //third_party/freetype.
45*3ac0a46fSAndroid Build Coastguard Worker    include_dirs = [
46*3ac0a46fSAndroid Build Coastguard Worker      "freetype/include",
47*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include",
48*3ac0a46fSAndroid Build Coastguard Worker    ]
49*3ac0a46fSAndroid Build Coastguard Worker    defines = [
50*3ac0a46fSAndroid Build Coastguard Worker      # GN currently does not escape '<' and '>' when generating xml based
51*3ac0a46fSAndroid Build Coastguard Worker      # Visual Studio project files. As a result, use quotes instead of pointy
52*3ac0a46fSAndroid Build Coastguard Worker      # brackets in these defines.
53*3ac0a46fSAndroid Build Coastguard Worker      "FT_CONFIG_MODULES_H=\"freetype-custom-config/ftmodule.h\"",
54*3ac0a46fSAndroid Build Coastguard Worker      "FT_CONFIG_OPTIONS_H=\"freetype-custom-config/ftoption.h\"",
55*3ac0a46fSAndroid Build Coastguard Worker    ]
56*3ac0a46fSAndroid Build Coastguard Worker  }
57*3ac0a46fSAndroid Build Coastguard Worker
58*3ac0a46fSAndroid Build Coastguard Worker  config("freetype_private_config") {
59*3ac0a46fSAndroid Build Coastguard Worker    if (is_clang) {
60*3ac0a46fSAndroid Build Coastguard Worker      # Multiple functions in freetype/src/src/truetype/ttobjs.h are unused.
61*3ac0a46fSAndroid Build Coastguard Worker      cflags = [ "-Wno-unused-function" ]
62*3ac0a46fSAndroid Build Coastguard Worker    }
63*3ac0a46fSAndroid Build Coastguard Worker  }
64*3ac0a46fSAndroid Build Coastguard Worker
65*3ac0a46fSAndroid Build Coastguard Worker  # Tests may link against this even if the production library doesn't,
66*3ac0a46fSAndroid Build Coastguard Worker  # so it needs to be separate from it.
67*3ac0a46fSAndroid Build Coastguard Worker  source_set("fx_freetype") {
68*3ac0a46fSAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
69*3ac0a46fSAndroid Build Coastguard Worker    configs += [
70*3ac0a46fSAndroid Build Coastguard Worker      "//build/config/compiler:no_chromium_code",
71*3ac0a46fSAndroid Build Coastguard Worker      ":freetype_private_config",
72*3ac0a46fSAndroid Build Coastguard Worker      ":pdfium_third_party_config",
73*3ac0a46fSAndroid Build Coastguard Worker    ]
74*3ac0a46fSAndroid Build Coastguard Worker
75*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":freetype_public_includes_config" ]
76*3ac0a46fSAndroid Build Coastguard Worker
77*3ac0a46fSAndroid Build Coastguard Worker    defines = [ "FT2_BUILD_LIBRARY" ]
78*3ac0a46fSAndroid Build Coastguard Worker    sources = [
79*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/include/pstables.h",
80*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/config/ftconfig.h",
81*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/config/ftheader.h",
82*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/config/ftmodule.h",
83*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/config/ftoption.h",
84*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/config/ftstdlib.h",
85*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/freetype.h",
86*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftadvanc.h",
87*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftbbox.h",
88*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftbdf.h",
89*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftbitmap.h",
90*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftbzip2.h",
91*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftcache.h",
92*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftchapters.h",
93*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftcid.h",
94*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftcolor.h",
95*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftdriver.h",
96*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/fterrdef.h",
97*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/fterrors.h",
98*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftfntfmt.h",
99*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftgasp.h",
100*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftglyph.h",
101*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftgxval.h",
102*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftgzip.h",
103*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftimage.h",
104*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftincrem.h",
105*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftlcdfil.h",
106*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftlist.h",
107*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftlzw.h",
108*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftmac.h",
109*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftmm.h",
110*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftmodapi.h",
111*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftmoderr.h",
112*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftotval.h",
113*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftoutln.h",
114*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftparams.h",
115*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftpfr.h",
116*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftrender.h",
117*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftsizes.h",
118*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftsnames.h",
119*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftstroke.h",
120*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftsynth.h",
121*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftsystem.h",
122*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/fttrigon.h",
123*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/fttypes.h",
124*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ftwinfnt.h",
125*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/autohint.h",
126*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/cffotypes.h",
127*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/cfftypes.h",
128*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftcalc.h",
129*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftdebug.h",
130*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftdrv.h",
131*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftgloadr.h",
132*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/fthash.h",
133*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftmemory.h",
134*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftobjs.h",
135*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftpsprop.h",
136*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftrfork.h",
137*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftserv.h",
138*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftstream.h",
139*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/fttrace.h",
140*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/ftvalid.h",
141*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/psaux.h",
142*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/pshints.h",
143*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svbdf.h",
144*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svcfftl.h",
145*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svcid.h",
146*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svfntfmt.h",
147*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svgldict.h",
148*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svgxval.h",
149*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svkern.h",
150*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svmetric.h",
151*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svmm.h",
152*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svotval.h",
153*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svpfr.h",
154*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svpostnm.h",
155*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svprop.h",
156*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svpscmap.h",
157*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svpsinfo.h",
158*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svsfnt.h",
159*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svttcmap.h",
160*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svtteng.h",
161*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svttglyf.h",
162*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/services/svwinfnt.h",
163*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/sfnt.h",
164*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/t1types.h",
165*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/internal/tttypes.h",
166*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/t1tables.h",
167*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/ttnameid.h",
168*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/tttables.h",
169*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/freetype/tttags.h",
170*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/include/ft2build.h",
171*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftbase.c",
172*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftbase.h",
173*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftbitmap.c",
174*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftdebug.c",
175*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftfstype.c",
176*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftglyph.c",
177*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftinit.c",
178*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftmm.c",
179*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/base/ftsystem.c",
180*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/cff/cff.c",
181*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/cff/cffobjs.h",
182*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/cid/type1cid.c",
183*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/psaux/psaux.c",
184*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/pshinter/pshinter.c",
185*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/psnames/psmodule.c",
186*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/raster/raster.c",
187*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/sfnt/sfnt.c",
188*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/smooth/smooth.c",
189*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/truetype/truetype.c",
190*3ac0a46fSAndroid Build Coastguard Worker      "//third_party/freetype/src/src/type1/type1.c",
191*3ac0a46fSAndroid Build Coastguard Worker    ]
192*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_use_skia) {
193*3ac0a46fSAndroid Build Coastguard Worker      sources += [
194*3ac0a46fSAndroid Build Coastguard Worker        "//third_party/freetype/src/include/freetype/ftsynth.h",
195*3ac0a46fSAndroid Build Coastguard Worker        "//third_party/freetype/src/src/base/fttype1.c",
196*3ac0a46fSAndroid Build Coastguard Worker      ]
197*3ac0a46fSAndroid Build Coastguard Worker    }
198*3ac0a46fSAndroid Build Coastguard Worker  }
199*3ac0a46fSAndroid Build Coastguard Worker}
200*3ac0a46fSAndroid Build Coastguard Worker
201*3ac0a46fSAndroid Build Coastguard Workerif (is_linux || is_chromeos) {
202*3ac0a46fSAndroid Build Coastguard Worker  config("system_fontconfig") {
203*3ac0a46fSAndroid Build Coastguard Worker    libs = [ "fontconfig" ]
204*3ac0a46fSAndroid Build Coastguard Worker  }
205*3ac0a46fSAndroid Build Coastguard Worker  group("fontconfig") {
206*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":system_fontconfig" ]
207*3ac0a46fSAndroid Build Coastguard Worker  }
208*3ac0a46fSAndroid Build Coastguard Worker}
209*3ac0a46fSAndroid Build Coastguard Worker
210*3ac0a46fSAndroid Build Coastguard Workerconfig("fx_agg_warnings") {
211*3ac0a46fSAndroid Build Coastguard Worker  visibility = [ ":fx_agg" ]
212*3ac0a46fSAndroid Build Coastguard Worker  if (is_clang) {
213*3ac0a46fSAndroid Build Coastguard Worker    # calc_butt_cap() in agg_vcgen_stroke.cpp is unused.
214*3ac0a46fSAndroid Build Coastguard Worker    cflags = [ "-Wno-unused-function" ]
215*3ac0a46fSAndroid Build Coastguard Worker  }
216*3ac0a46fSAndroid Build Coastguard Worker}
217*3ac0a46fSAndroid Build Coastguard Workersource_set("fx_agg") {
218*3ac0a46fSAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
219*3ac0a46fSAndroid Build Coastguard Worker  configs += [
220*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
221*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_third_party_config",
222*3ac0a46fSAndroid Build Coastguard Worker
223*3ac0a46fSAndroid Build Coastguard Worker    # Must be after no_chromium_code for warning flags to be ordered correctly.
224*3ac0a46fSAndroid Build Coastguard Worker    ":fx_agg_warnings",
225*3ac0a46fSAndroid Build Coastguard Worker  ]
226*3ac0a46fSAndroid Build Coastguard Worker  sources = [
227*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_array.h",
228*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_basics.h",
229*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_clip_liang_barsky.h",
230*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_color_gray.h",
231*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_conv_adaptor_vcgen.h",
232*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_conv_dash.h",
233*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_conv_stroke.h",
234*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_curves.cpp",
235*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_curves.h",
236*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_math.h",
237*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_math_stroke.h",
238*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_path_storage.cpp",
239*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_path_storage.h",
240*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_pixfmt_gray.h",
241*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_rasterizer_scanline_aa.cpp",
242*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_rasterizer_scanline_aa.h",
243*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_render_scanlines.h",
244*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_renderer_base.h",
245*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_renderer_scanline.h",
246*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_rendering_buffer.h",
247*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_scanline_u.h",
248*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_shorten_path.h",
249*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_vcgen_dash.cpp",
250*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_vcgen_dash.h",
251*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_vcgen_stroke.cpp",
252*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_vcgen_stroke.h",
253*3ac0a46fSAndroid Build Coastguard Worker    "agg23/agg_vertex_sequence.h",
254*3ac0a46fSAndroid Build Coastguard Worker  ]
255*3ac0a46fSAndroid Build Coastguard Worker  deps = [ "../core/fxcrt" ]
256*3ac0a46fSAndroid Build Coastguard Worker}
257*3ac0a46fSAndroid Build Coastguard Worker
258*3ac0a46fSAndroid Build Coastguard Workerconfig("fx_lcms2_warnings") {
259*3ac0a46fSAndroid Build Coastguard Worker  visibility = [ ":*" ]
260*3ac0a46fSAndroid Build Coastguard Worker  if (is_clang) {
261*3ac0a46fSAndroid Build Coastguard Worker    cflags = [
262*3ac0a46fSAndroid Build Coastguard Worker      # cmslut.cc is sloppy with aggregate initialization. Version 2.7 of this
263*3ac0a46fSAndroid Build Coastguard Worker      # library doesn't appear to have this problem.
264*3ac0a46fSAndroid Build Coastguard Worker      "-Wno-missing-braces",
265*3ac0a46fSAndroid Build Coastguard Worker    ]
266*3ac0a46fSAndroid Build Coastguard Worker  }
267*3ac0a46fSAndroid Build Coastguard Worker}
268*3ac0a46fSAndroid Build Coastguard Worker
269*3ac0a46fSAndroid Build Coastguard Workersource_set("fx_lcms2") {
270*3ac0a46fSAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
271*3ac0a46fSAndroid Build Coastguard Worker  configs += [
272*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
273*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/sanitizers:cfi_icall_generalize_pointers",
274*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_third_party_config",
275*3ac0a46fSAndroid Build Coastguard Worker
276*3ac0a46fSAndroid Build Coastguard Worker    # Must be after no_chromium_code for warning flags to be ordered correctly.
277*3ac0a46fSAndroid Build Coastguard Worker    ":fx_lcms2_warnings",
278*3ac0a46fSAndroid Build Coastguard Worker  ]
279*3ac0a46fSAndroid Build Coastguard Worker  sources = [
280*3ac0a46fSAndroid Build Coastguard Worker    "lcms/include/lcms2.h",
281*3ac0a46fSAndroid Build Coastguard Worker    "lcms/include/lcms2_plugin.h",
282*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsalpha.c",
283*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmscam02.c",
284*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmscgats.c",
285*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmscnvrt.c",
286*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmserr.c",
287*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsgamma.c",
288*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsgmt.c",
289*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmshalf.c",
290*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsintrp.c",
291*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsio0.c",
292*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsio1.c",
293*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmslut.c",
294*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsmd5.c",
295*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsmtrx.c",
296*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsnamed.c",
297*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsopt.c",
298*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmspack.c",
299*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmspcs.c",
300*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsplugin.c",
301*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsps2.c",
302*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmssamp.c",
303*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmssm.c",
304*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmstypes.c",
305*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsvirt.c",
306*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmswtpnt.c",
307*3ac0a46fSAndroid Build Coastguard Worker    "lcms/src/cmsxform.c",
308*3ac0a46fSAndroid Build Coastguard Worker  ]
309*3ac0a46fSAndroid Build Coastguard Worker  deps = [ "../core/fxcrt" ]
310*3ac0a46fSAndroid Build Coastguard Worker}
311*3ac0a46fSAndroid Build Coastguard Worker
312*3ac0a46fSAndroid Build Coastguard Workerif (!build_with_chromium) {
313*3ac0a46fSAndroid Build Coastguard Worker  declare_args() {
314*3ac0a46fSAndroid Build Coastguard Worker    # Uses system libjpeg. If true, overrides use_libjpeg_turbo.
315*3ac0a46fSAndroid Build Coastguard Worker    use_system_libjpeg = false
316*3ac0a46fSAndroid Build Coastguard Worker
317*3ac0a46fSAndroid Build Coastguard Worker    # Uses libjpeg_turbo as the jpeg implementation. Has no effect if
318*3ac0a46fSAndroid Build Coastguard Worker    # use_system_libjpeg is set.
319*3ac0a46fSAndroid Build Coastguard Worker    use_libjpeg_turbo = true
320*3ac0a46fSAndroid Build Coastguard Worker  }
321*3ac0a46fSAndroid Build Coastguard Worker
322*3ac0a46fSAndroid Build Coastguard Worker  config("system_libjpeg_config") {
323*3ac0a46fSAndroid Build Coastguard Worker    libs = [ "jpeg" ]
324*3ac0a46fSAndroid Build Coastguard Worker    defines = [ "USE_SYSTEM_LIBJPEG" ]
325*3ac0a46fSAndroid Build Coastguard Worker  }
326*3ac0a46fSAndroid Build Coastguard Worker
327*3ac0a46fSAndroid Build Coastguard Worker  config("libjpeg_turbo_config") {
328*3ac0a46fSAndroid Build Coastguard Worker    defines = [ "USE_LIBJPEG_TURBO=1" ]
329*3ac0a46fSAndroid Build Coastguard Worker  }
330*3ac0a46fSAndroid Build Coastguard Worker
331*3ac0a46fSAndroid Build Coastguard Worker  # This is a meta target that forwards to the system's libjpeg,
332*3ac0a46fSAndroid Build Coastguard Worker  # third_party/libjpeg, or third_party/libjpeg_turbo depending on the build args
333*3ac0a46fSAndroid Build Coastguard Worker  # declared in this file.
334*3ac0a46fSAndroid Build Coastguard Worker  group("jpeg") {
335*3ac0a46fSAndroid Build Coastguard Worker    if (use_system_libjpeg) {
336*3ac0a46fSAndroid Build Coastguard Worker      public_configs = [ ":system_libjpeg_config" ]
337*3ac0a46fSAndroid Build Coastguard Worker    } else if (use_libjpeg_turbo) {
338*3ac0a46fSAndroid Build Coastguard Worker      public_deps = [ "//third_party/libjpeg_turbo:libjpeg" ]
339*3ac0a46fSAndroid Build Coastguard Worker      public_configs = [ ":libjpeg_turbo_config" ]
340*3ac0a46fSAndroid Build Coastguard Worker    } else {
341*3ac0a46fSAndroid Build Coastguard Worker      public_deps = [ "//third_party/libjpeg:libjpeg" ]
342*3ac0a46fSAndroid Build Coastguard Worker    }
343*3ac0a46fSAndroid Build Coastguard Worker  }
344*3ac0a46fSAndroid Build Coastguard Worker}
345*3ac0a46fSAndroid Build Coastguard Worker
346*3ac0a46fSAndroid Build Coastguard Workerconfig("system_zlib_config") {
347*3ac0a46fSAndroid Build Coastguard Worker  libs = [ "z" ]
348*3ac0a46fSAndroid Build Coastguard Worker  defines = [ "USE_SYSTEM_ZLIB" ]
349*3ac0a46fSAndroid Build Coastguard Worker}
350*3ac0a46fSAndroid Build Coastguard Worker
351*3ac0a46fSAndroid Build Coastguard Workergroup("zlib") {
352*3ac0a46fSAndroid Build Coastguard Worker  if (use_system_zlib) {
353*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":system_zlib_config" ]
354*3ac0a46fSAndroid Build Coastguard Worker  } else {
355*3ac0a46fSAndroid Build Coastguard Worker    public_deps = [ "//third_party/zlib" ]
356*3ac0a46fSAndroid Build Coastguard Worker  }
357*3ac0a46fSAndroid Build Coastguard Worker}
358*3ac0a46fSAndroid Build Coastguard Worker
359*3ac0a46fSAndroid Build Coastguard Workerif (use_system_lcms2) {
360*3ac0a46fSAndroid Build Coastguard Worker  pkg_config("lcms2_from_pkgconfig") {
361*3ac0a46fSAndroid Build Coastguard Worker    defines = [ "USE_SYSTEM_LCMS2" ]
362*3ac0a46fSAndroid Build Coastguard Worker    packages = [ "lcms2" ]
363*3ac0a46fSAndroid Build Coastguard Worker  }
364*3ac0a46fSAndroid Build Coastguard Worker}
365*3ac0a46fSAndroid Build Coastguard Workergroup("lcms2") {
366*3ac0a46fSAndroid Build Coastguard Worker  if (use_system_lcms2) {
367*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":lcms2_from_pkgconfig" ]
368*3ac0a46fSAndroid Build Coastguard Worker  } else {
369*3ac0a46fSAndroid Build Coastguard Worker    public_deps = [ ":fx_lcms2" ]
370*3ac0a46fSAndroid Build Coastguard Worker  }
371*3ac0a46fSAndroid Build Coastguard Worker}
372*3ac0a46fSAndroid Build Coastguard Worker
373*3ac0a46fSAndroid Build Coastguard Workerif (use_system_libopenjpeg2) {
374*3ac0a46fSAndroid Build Coastguard Worker  pkg_config("libopenjpeg2_from_pkgconfig") {
375*3ac0a46fSAndroid Build Coastguard Worker    defines = [ "USE_SYSTEM_LIBOPENJPEG2" ]
376*3ac0a46fSAndroid Build Coastguard Worker    packages = [ "libopenjp2" ]
377*3ac0a46fSAndroid Build Coastguard Worker  }
378*3ac0a46fSAndroid Build Coastguard Worker}
379*3ac0a46fSAndroid Build Coastguard Workergroup("libopenjpeg2") {
380*3ac0a46fSAndroid Build Coastguard Worker  if (use_system_libopenjpeg2) {
381*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":libopenjpeg2_from_pkgconfig" ]
382*3ac0a46fSAndroid Build Coastguard Worker  } else {
383*3ac0a46fSAndroid Build Coastguard Worker    public_deps = [ ":fx_libopenjpeg" ]
384*3ac0a46fSAndroid Build Coastguard Worker  }
385*3ac0a46fSAndroid Build Coastguard Worker}
386*3ac0a46fSAndroid Build Coastguard Worker
387*3ac0a46fSAndroid Build Coastguard Workerconfig("fx_libopenjpeg_warnings") {
388*3ac0a46fSAndroid Build Coastguard Worker  visibility = [ ":*" ]
389*3ac0a46fSAndroid Build Coastguard Worker  if (is_clang) {
390*3ac0a46fSAndroid Build Coastguard Worker    cflags = [
391*3ac0a46fSAndroid Build Coastguard Worker      # Various files convert MAX_INT to double and similar without casting.
392*3ac0a46fSAndroid Build Coastguard Worker      "-Wno-implicit-int-float-conversion",
393*3ac0a46fSAndroid Build Coastguard Worker    ]
394*3ac0a46fSAndroid Build Coastguard Worker  } else if (is_win && target_cpu == "x86") {
395*3ac0a46fSAndroid Build Coastguard Worker    cflags = [
396*3ac0a46fSAndroid Build Coastguard Worker      # Signed/unsigned comparisons.
397*3ac0a46fSAndroid Build Coastguard Worker      "/wd4018",
398*3ac0a46fSAndroid Build Coastguard Worker    ]
399*3ac0a46fSAndroid Build Coastguard Worker  }
400*3ac0a46fSAndroid Build Coastguard Worker}
401*3ac0a46fSAndroid Build Coastguard Worker
402*3ac0a46fSAndroid Build Coastguard Workersource_set("fx_libopenjpeg") {
403*3ac0a46fSAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
404*3ac0a46fSAndroid Build Coastguard Worker  configs += [
405*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
406*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/sanitizers:cfi_icall_generalize_pointers",
407*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_third_party_config",
408*3ac0a46fSAndroid Build Coastguard Worker
409*3ac0a46fSAndroid Build Coastguard Worker    # Must be after no_chromium_code for warning flags to be ordered correctly.
410*3ac0a46fSAndroid Build Coastguard Worker    ":fx_libopenjpeg_warnings",
411*3ac0a46fSAndroid Build Coastguard Worker  ]
412*3ac0a46fSAndroid Build Coastguard Worker  sources = [
413*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/bio.c",
414*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/cio.c",
415*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/dwt.c",
416*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/event.c",
417*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/function_list.c",
418*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/ht_dec.c",
419*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/image.c",
420*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/invert.c",
421*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/j2k.c",
422*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/jp2.c",
423*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/mct.c",
424*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/mqc.c",
425*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/openjpeg.c",
426*3ac0a46fSAndroid Build Coastguard Worker
427*3ac0a46fSAndroid Build Coastguard Worker    # NOTE: libopenjpeg/opj_clock.c is not used.
428*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/opj_malloc.cc",
429*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/opj_malloc.h",
430*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/pi.c",
431*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/sparse_array.c",
432*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/sparse_array.h",
433*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/t1.c",
434*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/t1_ht_luts.h",
435*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/t2.c",
436*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/tcd.c",
437*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/tgt.c",
438*3ac0a46fSAndroid Build Coastguard Worker    "libopenjpeg/thread.c",
439*3ac0a46fSAndroid Build Coastguard Worker  ]
440*3ac0a46fSAndroid Build Coastguard Worker  deps = [ "../core/fxcrt" ]
441*3ac0a46fSAndroid Build Coastguard Worker}
442*3ac0a46fSAndroid Build Coastguard Worker
443*3ac0a46fSAndroid Build Coastguard Workerconfig("system_libpng_config") {
444*3ac0a46fSAndroid Build Coastguard Worker  libs = [ "png" ]
445*3ac0a46fSAndroid Build Coastguard Worker  defines = [ "USE_SYSTEM_LIBPNG" ]
446*3ac0a46fSAndroid Build Coastguard Worker}
447*3ac0a46fSAndroid Build Coastguard Worker
448*3ac0a46fSAndroid Build Coastguard Workergroup("png") {
449*3ac0a46fSAndroid Build Coastguard Worker  if (use_system_libpng) {
450*3ac0a46fSAndroid Build Coastguard Worker    public_configs = [ ":system_libpng_config" ]
451*3ac0a46fSAndroid Build Coastguard Worker  } else {
452*3ac0a46fSAndroid Build Coastguard Worker    public_deps = [ "//third_party/libpng" ]
453*3ac0a46fSAndroid Build Coastguard Worker  }
454*3ac0a46fSAndroid Build Coastguard Worker}
455*3ac0a46fSAndroid Build Coastguard Worker
456*3ac0a46fSAndroid Build Coastguard Workerif (pdf_enable_xfa_tiff) {
457*3ac0a46fSAndroid Build Coastguard Worker  if (use_system_libtiff) {
458*3ac0a46fSAndroid Build Coastguard Worker    config("system_tiff_config") {
459*3ac0a46fSAndroid Build Coastguard Worker      libs = [ "tiff" ]
460*3ac0a46fSAndroid Build Coastguard Worker    }
461*3ac0a46fSAndroid Build Coastguard Worker  } else {
462*3ac0a46fSAndroid Build Coastguard Worker    source_set("fx_tiff") {
463*3ac0a46fSAndroid Build Coastguard Worker      configs -= [ "//build/config/compiler:chromium_code" ]
464*3ac0a46fSAndroid Build Coastguard Worker      configs += [
465*3ac0a46fSAndroid Build Coastguard Worker        "//build/config/compiler:no_chromium_code",
466*3ac0a46fSAndroid Build Coastguard Worker        ":pdfium_third_party_config",
467*3ac0a46fSAndroid Build Coastguard Worker      ]
468*3ac0a46fSAndroid Build Coastguard Worker      if (is_win) {
469*3ac0a46fSAndroid Build Coastguard Worker        # Need to undefine the macro since it is redefined in tif_jpeg.c.
470*3ac0a46fSAndroid Build Coastguard Worker        configs -= [ "//build/config/win:lean_and_mean" ]
471*3ac0a46fSAndroid Build Coastguard Worker      }
472*3ac0a46fSAndroid Build Coastguard Worker      deps = [
473*3ac0a46fSAndroid Build Coastguard Worker        ":zlib",
474*3ac0a46fSAndroid Build Coastguard Worker        "../core/fxcrt",
475*3ac0a46fSAndroid Build Coastguard Worker        "//third_party:jpeg",
476*3ac0a46fSAndroid Build Coastguard Worker      ]
477*3ac0a46fSAndroid Build Coastguard Worker      sources = [
478*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_aux.c",
479*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_close.c",
480*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_codec.c",
481*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_color.c",
482*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_compress.c",
483*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_dir.c",
484*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_dirinfo.c",
485*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_dirread.c",
486*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_dirwrite.c",
487*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_dumpmode.c",
488*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_error.c",
489*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_extension.c",
490*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_fax3.c",
491*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_fax3sm.c",
492*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_flush.c",
493*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_getimage.c",
494*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_hash_set.c",
495*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_hash_set.h",
496*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_jpeg.c",
497*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_luv.c",
498*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_lzw.c",
499*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_next.c",
500*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_open.c",
501*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_packbits.c",
502*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_pixarlog.c",
503*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_predict.c",
504*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_print.c",
505*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_read.c",
506*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_strip.c",
507*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_swab.c",
508*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_thunder.c",
509*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_tile.c",
510*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_version.c",
511*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_warning.c",
512*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tif_write.c",
513*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tiffiop.h",
514*3ac0a46fSAndroid Build Coastguard Worker        "libtiff/tiffvers.h",
515*3ac0a46fSAndroid Build Coastguard Worker      ]
516*3ac0a46fSAndroid Build Coastguard Worker    }
517*3ac0a46fSAndroid Build Coastguard Worker  }
518*3ac0a46fSAndroid Build Coastguard Worker
519*3ac0a46fSAndroid Build Coastguard Worker  group("tiff") {
520*3ac0a46fSAndroid Build Coastguard Worker    if (use_system_libtiff) {
521*3ac0a46fSAndroid Build Coastguard Worker      public_configs = [ ":system_tiff_config" ]
522*3ac0a46fSAndroid Build Coastguard Worker    } else {
523*3ac0a46fSAndroid Build Coastguard Worker      public_deps = [ ":fx_tiff" ]
524*3ac0a46fSAndroid Build Coastguard Worker    }
525*3ac0a46fSAndroid Build Coastguard Worker  }
526*3ac0a46fSAndroid Build Coastguard Worker}
527*3ac0a46fSAndroid Build Coastguard Worker
528*3ac0a46fSAndroid Build Coastguard Workersource_set("pdfium_compiler_specific") {
529*3ac0a46fSAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
530*3ac0a46fSAndroid Build Coastguard Worker  configs += [
531*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
532*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_third_party_config",
533*3ac0a46fSAndroid Build Coastguard Worker  ]
534*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "base/compiler_specific.h" ]
535*3ac0a46fSAndroid Build Coastguard Worker}
536*3ac0a46fSAndroid Build Coastguard Worker
537*3ac0a46fSAndroid Build Coastguard Workersource_set("pdfium_base") {
538*3ac0a46fSAndroid Build Coastguard Worker  configs -= [ "//build/config/compiler:chromium_code" ]
539*3ac0a46fSAndroid Build Coastguard Worker  configs += [
540*3ac0a46fSAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
541*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_third_party_config",
542*3ac0a46fSAndroid Build Coastguard Worker  ]
543*3ac0a46fSAndroid Build Coastguard Worker  sources = [
544*3ac0a46fSAndroid Build Coastguard Worker    "base/base_export.h",
545*3ac0a46fSAndroid Build Coastguard Worker    "base/bits.h",
546*3ac0a46fSAndroid Build Coastguard Worker    "base/check.h",
547*3ac0a46fSAndroid Build Coastguard Worker    "base/check_op.h",
548*3ac0a46fSAndroid Build Coastguard Worker    "base/component_export.h",
549*3ac0a46fSAndroid Build Coastguard Worker    "base/containers/adapters.h",
550*3ac0a46fSAndroid Build Coastguard Worker    "base/containers/contains.h",
551*3ac0a46fSAndroid Build Coastguard Worker    "base/containers/span.h",
552*3ac0a46fSAndroid Build Coastguard Worker    "base/debug/alias.cc",
553*3ac0a46fSAndroid Build Coastguard Worker    "base/debug/alias.h",
554*3ac0a46fSAndroid Build Coastguard Worker    "base/immediate_crash.h",
555*3ac0a46fSAndroid Build Coastguard Worker    "base/memory/aligned_memory.cc",
556*3ac0a46fSAndroid Build Coastguard Worker    "base/memory/aligned_memory.h",
557*3ac0a46fSAndroid Build Coastguard Worker    "base/memory/ptr_util.h",
558*3ac0a46fSAndroid Build Coastguard Worker    "base/no_destructor.h",
559*3ac0a46fSAndroid Build Coastguard Worker    "base/notreached.h",
560*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/checked_math.h",
561*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/checked_math_impl.h",
562*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/clamped_math.h",
563*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/clamped_math_impl.h",
564*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_conversions.h",
565*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_conversions_arm_impl.h",
566*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_conversions_impl.h",
567*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_math.h",
568*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_math_arm_impl.h",
569*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_math_clang_gcc_impl.h",
570*3ac0a46fSAndroid Build Coastguard Worker    "base/numerics/safe_math_shared_impl.h",
571*3ac0a46fSAndroid Build Coastguard Worker    "base/sys_byteorder.h",
572*3ac0a46fSAndroid Build Coastguard Worker    "base/template_util.h",
573*3ac0a46fSAndroid Build Coastguard Worker  ]
574*3ac0a46fSAndroid Build Coastguard Worker  public_deps = [
575*3ac0a46fSAndroid Build Coastguard Worker    ":pdfium_compiler_specific",
576*3ac0a46fSAndroid Build Coastguard Worker    "../core/fxcrt:unowned_ptr",
577*3ac0a46fSAndroid Build Coastguard Worker    "//third_party/abseil-cpp:absl",
578*3ac0a46fSAndroid Build Coastguard Worker  ]
579*3ac0a46fSAndroid Build Coastguard Worker  if (is_win) {
580*3ac0a46fSAndroid Build Coastguard Worker    sources += [
581*3ac0a46fSAndroid Build Coastguard Worker      "base/win/scoped_select_object.h",
582*3ac0a46fSAndroid Build Coastguard Worker      "base/win/win_util.cc",
583*3ac0a46fSAndroid Build Coastguard Worker      "base/win/win_util.h",
584*3ac0a46fSAndroid Build Coastguard Worker    ]
585*3ac0a46fSAndroid Build Coastguard Worker  }
586*3ac0a46fSAndroid Build Coastguard Worker}
587*3ac0a46fSAndroid Build Coastguard Worker
588*3ac0a46fSAndroid Build Coastguard Workersource_set("pdfium_base_test_support") {
589*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
590*3ac0a46fSAndroid Build Coastguard Worker  sources = []
591*3ac0a46fSAndroid Build Coastguard Worker  configs += [
592*3ac0a46fSAndroid Build Coastguard Worker    "../:pdfium_strict_config",
593*3ac0a46fSAndroid Build Coastguard Worker    "../:pdfium_noshorten_config",
594*3ac0a46fSAndroid Build Coastguard Worker  ]
595*3ac0a46fSAndroid Build Coastguard Worker  deps = []
596*3ac0a46fSAndroid Build Coastguard Worker  if (is_posix || is_fuchsia) {
597*3ac0a46fSAndroid Build Coastguard Worker    sources += [
598*3ac0a46fSAndroid Build Coastguard Worker      "base/test/scoped_locale.cc",
599*3ac0a46fSAndroid Build Coastguard Worker      "base/test/scoped_locale.h",
600*3ac0a46fSAndroid Build Coastguard Worker    ]
601*3ac0a46fSAndroid Build Coastguard Worker    deps += [ "//testing/gtest" ]
602*3ac0a46fSAndroid Build Coastguard Worker  }
603*3ac0a46fSAndroid Build Coastguard Worker}
604