1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2016 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/clang/clang.gni") 6*3ac0a46fSAndroid Build Coastguard Workerimport("//build/config/gclient_args.gni") 7*3ac0a46fSAndroid Build Coastguard Workerimport("//testing/test.gni") 8*3ac0a46fSAndroid Build Coastguard Workerimport("pdfium.gni") 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Workergroup("default") { 11*3ac0a46fSAndroid Build Coastguard Worker testonly = true 12*3ac0a46fSAndroid Build Coastguard Worker deps = [ ":pdfium" ] 13*3ac0a46fSAndroid Build Coastguard Worker if (pdf_is_standalone) { 14*3ac0a46fSAndroid Build Coastguard Worker deps += [ ":pdfium_all" ] 15*3ac0a46fSAndroid Build Coastguard Worker } 16*3ac0a46fSAndroid Build Coastguard Worker} 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Workergroup("freetype_common") { 19*3ac0a46fSAndroid Build Coastguard Worker public_deps = [] 20*3ac0a46fSAndroid Build Coastguard Worker if (pdf_bundle_freetype) { 21*3ac0a46fSAndroid Build Coastguard Worker public_deps += [ "third_party:fx_freetype" ] 22*3ac0a46fSAndroid Build Coastguard Worker } else { 23*3ac0a46fSAndroid Build Coastguard Worker public_deps += [ "//build/config/freetype" ] 24*3ac0a46fSAndroid Build Coastguard Worker } 25*3ac0a46fSAndroid Build Coastguard Worker} 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_common_config") { 28*3ac0a46fSAndroid Build Coastguard Worker cflags = [] 29*3ac0a46fSAndroid Build Coastguard Worker cflags_cc = [] 30*3ac0a46fSAndroid Build Coastguard Worker ldflags = [] 31*3ac0a46fSAndroid Build Coastguard Worker include_dirs = [ "." ] 32*3ac0a46fSAndroid Build Coastguard Worker defines = [] 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker if (!use_system_libopenjpeg2) { 35*3ac0a46fSAndroid Build Coastguard Worker defines += [ "OPJ_STATIC" ] 36*3ac0a46fSAndroid Build Coastguard Worker } 37*3ac0a46fSAndroid Build Coastguard Worker 38*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_click_logging) { 39*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_CLICK_LOGGING" ] 40*3ac0a46fSAndroid Build Coastguard Worker } 41*3ac0a46fSAndroid Build Coastguard Worker 42*3ac0a46fSAndroid Build Coastguard Worker if (pdf_use_skia) { 43*3ac0a46fSAndroid Build Coastguard Worker defines += [ "_SKIA_SUPPORT_" ] 44*3ac0a46fSAndroid Build Coastguard Worker } 45*3ac0a46fSAndroid Build Coastguard Worker 46*3ac0a46fSAndroid Build Coastguard Worker if (pdf_use_partition_alloc) { 47*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_USE_PARTITION_ALLOC" ] 48*3ac0a46fSAndroid Build Coastguard Worker } 49*3ac0a46fSAndroid Build Coastguard Worker 50*3ac0a46fSAndroid Build Coastguard Worker if (is_win) { 51*3ac0a46fSAndroid Build Coastguard Worker # Assume UTF-8 by default to avoid code page dependencies. 52*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "/utf-8" ] 53*3ac0a46fSAndroid Build Coastguard Worker 54*3ac0a46fSAndroid Build Coastguard Worker if (!is_clang) { 55*3ac0a46fSAndroid Build Coastguard Worker cflags += [ 56*3ac0a46fSAndroid Build Coastguard Worker # Warnings permanently disabled: 57*3ac0a46fSAndroid Build Coastguard Worker 58*3ac0a46fSAndroid Build Coastguard Worker # C4091: 'typedef ': ignored on left of 'X' when no variable is 59*3ac0a46fSAndroid Build Coastguard Worker # declared. 60*3ac0a46fSAndroid Build Coastguard Worker # This happens in a number of Windows headers. Dumb. 61*3ac0a46fSAndroid Build Coastguard Worker "/wd4091", 62*3ac0a46fSAndroid Build Coastguard Worker 63*3ac0a46fSAndroid Build Coastguard Worker # C4127: conditional expression is constant 64*3ac0a46fSAndroid Build Coastguard Worker # This warning can in theory catch dead code and other problems, but 65*3ac0a46fSAndroid Build Coastguard Worker # triggers in far too many desirable cases where the conditional 66*3ac0a46fSAndroid Build Coastguard Worker # expression is either set by macros or corresponds some legitimate 67*3ac0a46fSAndroid Build Coastguard Worker # compile-time constant expression (due to constant template args, 68*3ac0a46fSAndroid Build Coastguard Worker # conditionals comparing the sizes of different types, etc.). Some of 69*3ac0a46fSAndroid Build Coastguard Worker # these can be worked around, but it's not worth it. 70*3ac0a46fSAndroid Build Coastguard Worker "/wd4127", 71*3ac0a46fSAndroid Build Coastguard Worker 72*3ac0a46fSAndroid Build Coastguard Worker # C4251: 'identifier' : class 'type' needs to have dll-interface to be 73*3ac0a46fSAndroid Build Coastguard Worker # used by clients of class 'type2' 74*3ac0a46fSAndroid Build Coastguard Worker # This is necessary for the shared library build. 75*3ac0a46fSAndroid Build Coastguard Worker "/wd4251", 76*3ac0a46fSAndroid Build Coastguard Worker 77*3ac0a46fSAndroid Build Coastguard Worker # C4275: non dll-interface class used as base for dll-interface class 78*3ac0a46fSAndroid Build Coastguard Worker # This points out a potential (but rare) problem with referencing static 79*3ac0a46fSAndroid Build Coastguard Worker # fields of a non-exported base, through the base's non-exported inline 80*3ac0a46fSAndroid Build Coastguard Worker # functions, or directly. The warning is subtle enough that people just 81*3ac0a46fSAndroid Build Coastguard Worker # suppressed it when they saw it, so it's not worth it. 82*3ac0a46fSAndroid Build Coastguard Worker "/wd4275", 83*3ac0a46fSAndroid Build Coastguard Worker 84*3ac0a46fSAndroid Build Coastguard Worker # C4312 is a VS 2015 64-bit warning for integer to larger pointer. 85*3ac0a46fSAndroid Build Coastguard Worker # TODO(brucedawson): fix warnings, crbug.com/554200 86*3ac0a46fSAndroid Build Coastguard Worker "/wd4312", 87*3ac0a46fSAndroid Build Coastguard Worker 88*3ac0a46fSAndroid Build Coastguard Worker # C4324 warns when padding is added to fulfill alignas requirements, 89*3ac0a46fSAndroid Build Coastguard Worker # but can trigger in benign cases that are difficult to individually 90*3ac0a46fSAndroid Build Coastguard Worker # suppress. 91*3ac0a46fSAndroid Build Coastguard Worker "/wd4324", 92*3ac0a46fSAndroid Build Coastguard Worker 93*3ac0a46fSAndroid Build Coastguard Worker # C4351: new behavior: elements of array 'array' will be default 94*3ac0a46fSAndroid Build Coastguard Worker # initialized 95*3ac0a46fSAndroid Build Coastguard Worker # This is a silly "warning" that basically just alerts you that the 96*3ac0a46fSAndroid Build Coastguard Worker # compiler is going to actually follow the language spec like it's 97*3ac0a46fSAndroid Build Coastguard Worker # supposed to, instead of not following it like old buggy versions did. 98*3ac0a46fSAndroid Build Coastguard Worker # There's absolutely no reason to turn this on. 99*3ac0a46fSAndroid Build Coastguard Worker "/wd4351", 100*3ac0a46fSAndroid Build Coastguard Worker 101*3ac0a46fSAndroid Build Coastguard Worker # C4355: 'this': used in base member initializer list 102*3ac0a46fSAndroid Build Coastguard Worker # It's commonly useful to pass |this| to objects in a class' initializer 103*3ac0a46fSAndroid Build Coastguard Worker # list. While this warning can catch real bugs, most of the time the 104*3ac0a46fSAndroid Build Coastguard Worker # constructors in question don't attempt to call methods on the passed-in 105*3ac0a46fSAndroid Build Coastguard Worker # pointer (until later), and annotating every legit usage of this is 106*3ac0a46fSAndroid Build Coastguard Worker # simply more hassle than the warning is worth. 107*3ac0a46fSAndroid Build Coastguard Worker "/wd4355", 108*3ac0a46fSAndroid Build Coastguard Worker 109*3ac0a46fSAndroid Build Coastguard Worker # C4503: 'identifier': decorated name length exceeded, name was 110*3ac0a46fSAndroid Build Coastguard Worker # truncated 111*3ac0a46fSAndroid Build Coastguard Worker # This only means that some long error messages might have truncated 112*3ac0a46fSAndroid Build Coastguard Worker # identifiers in the presence of lots of templates. It has no effect on 113*3ac0a46fSAndroid Build Coastguard Worker # program correctness and there's no real reason to waste time trying to 114*3ac0a46fSAndroid Build Coastguard Worker # prevent it. 115*3ac0a46fSAndroid Build Coastguard Worker "/wd4503", 116*3ac0a46fSAndroid Build Coastguard Worker 117*3ac0a46fSAndroid Build Coastguard Worker # Warning C4589 says: "Constructor of abstract class ignores 118*3ac0a46fSAndroid Build Coastguard Worker # initializer for virtual base class." Disable this warning because it 119*3ac0a46fSAndroid Build Coastguard Worker # is flaky in VS 2015 RTM. It triggers on compiler generated 120*3ac0a46fSAndroid Build Coastguard Worker # copy-constructors in some cases. 121*3ac0a46fSAndroid Build Coastguard Worker "/wd4589", 122*3ac0a46fSAndroid Build Coastguard Worker 123*3ac0a46fSAndroid Build Coastguard Worker # C4611: interaction between 'function' and C++ object destruction is 124*3ac0a46fSAndroid Build Coastguard Worker # non-portable 125*3ac0a46fSAndroid Build Coastguard Worker # This warning is unavoidable when using e.g. setjmp/longjmp. MSDN 126*3ac0a46fSAndroid Build Coastguard Worker # suggests using exceptions instead of setjmp/longjmp for C++, but 127*3ac0a46fSAndroid Build Coastguard Worker # Chromium code compiles without exception support. We therefore have to 128*3ac0a46fSAndroid Build Coastguard Worker # use setjmp/longjmp for e.g. JPEG decode error handling, which means we 129*3ac0a46fSAndroid Build Coastguard Worker # have to turn off this warning (and be careful about how object 130*3ac0a46fSAndroid Build Coastguard Worker # destruction happens in such cases). 131*3ac0a46fSAndroid Build Coastguard Worker "/wd4611", 132*3ac0a46fSAndroid Build Coastguard Worker 133*3ac0a46fSAndroid Build Coastguard Worker # Warnings to evaluate and possibly fix/reenable later: 134*3ac0a46fSAndroid Build Coastguard Worker 135*3ac0a46fSAndroid Build Coastguard Worker "/wd4100", # Unreferenced formal function parameter. 136*3ac0a46fSAndroid Build Coastguard Worker "/wd4121", # Alignment of a member was sensitive to packing. 137*3ac0a46fSAndroid Build Coastguard Worker "/wd4244", # Conversion: possible loss of data. 138*3ac0a46fSAndroid Build Coastguard Worker "/wd4505", # Unreferenced local function has been removed. 139*3ac0a46fSAndroid Build Coastguard Worker "/wd4510", # Default constructor could not be generated. 140*3ac0a46fSAndroid Build Coastguard Worker "/wd4512", # Assignment operator could not be generated. 141*3ac0a46fSAndroid Build Coastguard Worker "/wd4610", # Class can never be instantiated, constructor required. 142*3ac0a46fSAndroid Build Coastguard Worker "/wd4838", # Narrowing conversion. Doesn't seem to be very useful. 143*3ac0a46fSAndroid Build Coastguard Worker "/wd4995", # 'X': name was marked as #pragma deprecated 144*3ac0a46fSAndroid Build Coastguard Worker "/wd4996", # Deprecated function warning. 145*3ac0a46fSAndroid Build Coastguard Worker 146*3ac0a46fSAndroid Build Coastguard Worker # These are variable shadowing warnings that are new in VS2015. We 147*3ac0a46fSAndroid Build Coastguard Worker # should work through these at some point -- they may be removed from 148*3ac0a46fSAndroid Build Coastguard Worker # the RTM release in the /W4 set. 149*3ac0a46fSAndroid Build Coastguard Worker "/wd4456", 150*3ac0a46fSAndroid Build Coastguard Worker "/wd4457", 151*3ac0a46fSAndroid Build Coastguard Worker "/wd4458", 152*3ac0a46fSAndroid Build Coastguard Worker "/wd4459", 153*3ac0a46fSAndroid Build Coastguard Worker 154*3ac0a46fSAndroid Build Coastguard Worker # All of our compilers support the extensions below. 155*3ac0a46fSAndroid Build Coastguard Worker "/wd4200", # nonstandard extension used: zero-sized array in 156*3ac0a46fSAndroid Build Coastguard Worker # struct/union 157*3ac0a46fSAndroid Build Coastguard Worker "/wd4201", # nonstandard extension used: nameless struct/union 158*3ac0a46fSAndroid Build Coastguard Worker "/wd4204", # nonstandard extension used : non-constant aggregate 159*3ac0a46fSAndroid Build Coastguard Worker # initializer 160*3ac0a46fSAndroid Build Coastguard Worker 161*3ac0a46fSAndroid Build Coastguard Worker "/wd4221", # nonstandard extension used : 'identifier' : cannot be 162*3ac0a46fSAndroid Build Coastguard Worker # initialized using address of automatic variable 163*3ac0a46fSAndroid Build Coastguard Worker 164*3ac0a46fSAndroid Build Coastguard Worker # http://crbug.com/588506 - Conversion suppressions waiting on Clang 165*3ac0a46fSAndroid Build Coastguard Worker # -Wconversion. 166*3ac0a46fSAndroid Build Coastguard Worker "/wd4245", # 'conversion' : conversion from 'type1' to 'type2', 167*3ac0a46fSAndroid Build Coastguard Worker # signed/unsigned mismatch 168*3ac0a46fSAndroid Build Coastguard Worker 169*3ac0a46fSAndroid Build Coastguard Worker "/wd4267", # 'var' : conversion from 'size_t' to 'type', possible loss 170*3ac0a46fSAndroid Build Coastguard Worker # of data 171*3ac0a46fSAndroid Build Coastguard Worker 172*3ac0a46fSAndroid Build Coastguard Worker "/wd4305", # 'identifier' : truncation from 'type1' to 'type2' 173*3ac0a46fSAndroid Build Coastguard Worker "/wd4389", # 'operator' : signed/unsigned mismatch 174*3ac0a46fSAndroid Build Coastguard Worker 175*3ac0a46fSAndroid Build Coastguard Worker "/wd4702", # unreachable code 176*3ac0a46fSAndroid Build Coastguard Worker 177*3ac0a46fSAndroid Build Coastguard Worker # http://crbug.com/848979 - MSVC is more conservative than Clang with 178*3ac0a46fSAndroid Build Coastguard Worker # regards to variables initialized and consumed in different branches. 179*3ac0a46fSAndroid Build Coastguard Worker "/wd4701", # Potentially uninitialized local variable 'name' used 180*3ac0a46fSAndroid Build Coastguard Worker "/wd4703", # Potentially uninitialized local pointer variable 'name' 181*3ac0a46fSAndroid Build Coastguard Worker # used 182*3ac0a46fSAndroid Build Coastguard Worker 183*3ac0a46fSAndroid Build Coastguard Worker # http://crbug.com/848979 - Remaining Clang permitted warnings. 184*3ac0a46fSAndroid Build Coastguard Worker "/wd4661", # 'identifier' : no suitable definition provided for 185*3ac0a46fSAndroid Build Coastguard Worker # explicit 186*3ac0a46fSAndroid Build Coastguard Worker # template instantiation request 187*3ac0a46fSAndroid Build Coastguard Worker 188*3ac0a46fSAndroid Build Coastguard Worker "/wd4706", # assignment within conditional expression 189*3ac0a46fSAndroid Build Coastguard Worker # MSVC is stricter and requires a boolean expression. 190*3ac0a46fSAndroid Build Coastguard Worker 191*3ac0a46fSAndroid Build Coastguard Worker "/wd4715", # 'function' : not all control paths return a value' 192*3ac0a46fSAndroid Build Coastguard Worker # MSVC does not analyze switch (enum) for completeness. 193*3ac0a46fSAndroid Build Coastguard Worker ] 194*3ac0a46fSAndroid Build Coastguard Worker 195*3ac0a46fSAndroid Build Coastguard Worker cflags_cc += [ 196*3ac0a46fSAndroid Build Coastguard Worker # Allow "noexcept" annotations even though we compile with exceptions 197*3ac0a46fSAndroid Build Coastguard Worker # disabled. 198*3ac0a46fSAndroid Build Coastguard Worker "/wd4577", 199*3ac0a46fSAndroid Build Coastguard Worker ] 200*3ac0a46fSAndroid Build Coastguard Worker 201*3ac0a46fSAndroid Build Coastguard Worker if (current_cpu == "x86") { 202*3ac0a46fSAndroid Build Coastguard Worker if (msvc_use_sse2) { 203*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "/arch:SSE2" ] 204*3ac0a46fSAndroid Build Coastguard Worker } 205*3ac0a46fSAndroid Build Coastguard Worker } 206*3ac0a46fSAndroid Build Coastguard Worker } 207*3ac0a46fSAndroid Build Coastguard Worker } 208*3ac0a46fSAndroid Build Coastguard Worker 209*3ac0a46fSAndroid Build Coastguard Worker if (is_clang) { 210*3ac0a46fSAndroid Build Coastguard Worker # Override -Wno-c++11-narrowing. 211*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "-Wc++11-narrowing" ] 212*3ac0a46fSAndroid Build Coastguard Worker 213*3ac0a46fSAndroid Build Coastguard Worker # TODO(crbug.com/1213098): Remove once this is in //build. 214*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "-Wdeprecated-copy" ] 215*3ac0a46fSAndroid Build Coastguard Worker 216*3ac0a46fSAndroid Build Coastguard Worker # May flag some issues when converting int to size_t. 217*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "-Wtautological-unsigned-zero-compare" ] 218*3ac0a46fSAndroid Build Coastguard Worker } 219*3ac0a46fSAndroid Build Coastguard Worker 220*3ac0a46fSAndroid Build Coastguard Worker if (!is_win && !is_clang) { 221*3ac0a46fSAndroid Build Coastguard Worker cflags += [ 222*3ac0a46fSAndroid Build Coastguard Worker # Override -Wno-narrowing for GCC. 223*3ac0a46fSAndroid Build Coastguard Worker "-Wnarrowing", 224*3ac0a46fSAndroid Build Coastguard Worker 225*3ac0a46fSAndroid Build Coastguard Worker # GCC assumes that control can get past an exhaustive switch and then 226*3ac0a46fSAndroid Build Coastguard Worker # warns if there's no return there. 227*3ac0a46fSAndroid Build Coastguard Worker "-Wno-return-type", 228*3ac0a46fSAndroid Build Coastguard Worker ] 229*3ac0a46fSAndroid Build Coastguard Worker } 230*3ac0a46fSAndroid Build Coastguard Worker} 231*3ac0a46fSAndroid Build Coastguard Worker 232*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_implementation_config") { 233*3ac0a46fSAndroid Build Coastguard Worker defines = [ "FPDF_IMPLEMENTATION" ] 234*3ac0a46fSAndroid Build Coastguard Worker visibility = [ ":pdfium_public_headers" ] 235*3ac0a46fSAndroid Build Coastguard Worker} 236*3ac0a46fSAndroid Build Coastguard Worker 237*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_public_config") { 238*3ac0a46fSAndroid Build Coastguard Worker defines = [] 239*3ac0a46fSAndroid Build Coastguard Worker 240*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_v8) { 241*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_V8" ] 242*3ac0a46fSAndroid Build Coastguard Worker 243*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa) { 244*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_XFA" ] 245*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa_bmp) { 246*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_XFA_BMP" ] 247*3ac0a46fSAndroid Build Coastguard Worker } 248*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa_gif) { 249*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_XFA_GIF" ] 250*3ac0a46fSAndroid Build Coastguard Worker } 251*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa_png) { 252*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_XFA_PNG" ] 253*3ac0a46fSAndroid Build Coastguard Worker } 254*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa_tiff) { 255*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_XFA_TIFF" ] 256*3ac0a46fSAndroid Build Coastguard Worker } 257*3ac0a46fSAndroid Build Coastguard Worker } 258*3ac0a46fSAndroid Build Coastguard Worker } 259*3ac0a46fSAndroid Build Coastguard Worker} 260*3ac0a46fSAndroid Build Coastguard Worker 261*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_core_config") { 262*3ac0a46fSAndroid Build Coastguard Worker cflags = [] 263*3ac0a46fSAndroid Build Coastguard Worker configs = [ 264*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_common_config", 265*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_public_config", 266*3ac0a46fSAndroid Build Coastguard Worker "//build/config/compiler:noshadowing", 267*3ac0a46fSAndroid Build Coastguard Worker ] 268*3ac0a46fSAndroid Build Coastguard Worker defines = [] 269*3ac0a46fSAndroid Build Coastguard Worker if (is_win) { 270*3ac0a46fSAndroid Build Coastguard Worker cflags += [ 271*3ac0a46fSAndroid Build Coastguard Worker "/wd4324", 272*3ac0a46fSAndroid Build Coastguard Worker "/wd4577", 273*3ac0a46fSAndroid Build Coastguard Worker ] 274*3ac0a46fSAndroid Build Coastguard Worker } 275*3ac0a46fSAndroid Build Coastguard Worker if (is_clang) { 276*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "-Wcovered-switch-default" ] 277*3ac0a46fSAndroid Build Coastguard Worker } 278*3ac0a46fSAndroid Build Coastguard Worker} 279*3ac0a46fSAndroid Build Coastguard Worker 280*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_plugin_config") { 281*3ac0a46fSAndroid Build Coastguard Worker cflags = [] 282*3ac0a46fSAndroid Build Coastguard Worker defines = [] 283*3ac0a46fSAndroid Build Coastguard Worker if (clang_use_chrome_plugins) { 284*3ac0a46fSAndroid Build Coastguard Worker # Catch misuse of C-style pointers. 285*3ac0a46fSAndroid Build Coastguard Worker # TODO(tsepez): enable for windows, too. 286*3ac0a46fSAndroid Build Coastguard Worker if (!is_win) { 287*3ac0a46fSAndroid Build Coastguard Worker cflags += [ 288*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 289*3ac0a46fSAndroid Build Coastguard Worker "-plugin-arg-find-bad-constructs", 290*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 291*3ac0a46fSAndroid Build Coastguard Worker "check-raw-ptr-fields", 292*3ac0a46fSAndroid Build Coastguard Worker 293*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 294*3ac0a46fSAndroid Build Coastguard Worker "-plugin-arg-find-bad-constructs", 295*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 296*3ac0a46fSAndroid Build Coastguard Worker "raw-ptr-exclude-path=public", 297*3ac0a46fSAndroid Build Coastguard Worker 298*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 299*3ac0a46fSAndroid Build Coastguard Worker "-plugin-arg-find-bad-constructs", 300*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 301*3ac0a46fSAndroid Build Coastguard Worker "raw-ptr-exclude-path=test", 302*3ac0a46fSAndroid Build Coastguard Worker 303*3ac0a46fSAndroid Build Coastguard Worker # TODO(tsepez): enforce raw_ref<> as well. 304*3ac0a46fSAndroid Build Coastguard Worker # "-Xclang", 305*3ac0a46fSAndroid Build Coastguard Worker # "-plugin-arg-find-bad-constructs", 306*3ac0a46fSAndroid Build Coastguard Worker # "-Xclang", 307*3ac0a46fSAndroid Build Coastguard Worker # "check-raw-ref-fields", 308*3ac0a46fSAndroid Build Coastguard Worker ] 309*3ac0a46fSAndroid Build Coastguard Worker defines += [ "PDF_ENABLE_UNOWNED_PTR_EXCLUSION" ] 310*3ac0a46fSAndroid Build Coastguard Worker } 311*3ac0a46fSAndroid Build Coastguard Worker 312*3ac0a46fSAndroid Build Coastguard Worker # Catch misuse of cppgc in XFA. 313*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa) { 314*3ac0a46fSAndroid Build Coastguard Worker cflags += [ 315*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 316*3ac0a46fSAndroid Build Coastguard Worker "-add-plugin", 317*3ac0a46fSAndroid Build Coastguard Worker "-Xclang", 318*3ac0a46fSAndroid Build Coastguard Worker "blink-gc-plugin", 319*3ac0a46fSAndroid Build Coastguard Worker ] 320*3ac0a46fSAndroid Build Coastguard Worker } 321*3ac0a46fSAndroid Build Coastguard Worker } 322*3ac0a46fSAndroid Build Coastguard Worker} 323*3ac0a46fSAndroid Build Coastguard Worker 324*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_strict_config") { 325*3ac0a46fSAndroid Build Coastguard Worker configs = [ 326*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_core_config", 327*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_plugin_config", 328*3ac0a46fSAndroid Build Coastguard Worker "//build/config/compiler:wexit_time_destructors", 329*3ac0a46fSAndroid Build Coastguard Worker "//build/config/compiler:wglobal_constructors", 330*3ac0a46fSAndroid Build Coastguard Worker ] 331*3ac0a46fSAndroid Build Coastguard Worker} 332*3ac0a46fSAndroid Build Coastguard Worker 333*3ac0a46fSAndroid Build Coastguard Workerconfig("pdfium_noshorten_config") { 334*3ac0a46fSAndroid Build Coastguard Worker cflags = [] 335*3ac0a46fSAndroid Build Coastguard Worker if (is_clang) { 336*3ac0a46fSAndroid Build Coastguard Worker cflags += [ "-Wshorten-64-to-32" ] 337*3ac0a46fSAndroid Build Coastguard Worker } 338*3ac0a46fSAndroid Build Coastguard Worker} 339*3ac0a46fSAndroid Build Coastguard Worker 340*3ac0a46fSAndroid Build Coastguard Workersource_set("pdfium_public_headers_impl") { 341*3ac0a46fSAndroid Build Coastguard Worker sources = [ 342*3ac0a46fSAndroid Build Coastguard Worker "public/cpp/fpdf_deleters.h", 343*3ac0a46fSAndroid Build Coastguard Worker "public/cpp/fpdf_scopers.h", 344*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_annot.h", 345*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_attachment.h", 346*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_catalog.h", 347*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_dataavail.h", 348*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_doc.h", 349*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_edit.h", 350*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_ext.h", 351*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_flatten.h", 352*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_formfill.h", 353*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_fwlevent.h", 354*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_javascript.h", 355*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_ppo.h", 356*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_progressive.h", 357*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_save.h", 358*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_searchex.h", 359*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_signature.h", 360*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_structtree.h", 361*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_sysfontinfo.h", 362*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_text.h", 363*3ac0a46fSAndroid Build Coastguard Worker "public/fpdf_transformpage.h", 364*3ac0a46fSAndroid Build Coastguard Worker "public/fpdfview.h", 365*3ac0a46fSAndroid Build Coastguard Worker ] 366*3ac0a46fSAndroid Build Coastguard Worker} 367*3ac0a46fSAndroid Build Coastguard Worker 368*3ac0a46fSAndroid Build Coastguard Workergroup("pdfium_public_headers") { 369*3ac0a46fSAndroid Build Coastguard Worker public_deps = [ ":pdfium_public_headers_impl" ] 370*3ac0a46fSAndroid Build Coastguard Worker public_configs = [ 371*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_public_config", 372*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_implementation_config", 373*3ac0a46fSAndroid Build Coastguard Worker ] 374*3ac0a46fSAndroid Build Coastguard Worker} 375*3ac0a46fSAndroid Build Coastguard Worker 376*3ac0a46fSAndroid Build Coastguard Workercomponent("pdfium") { 377*3ac0a46fSAndroid Build Coastguard Worker output_name = "pdfium" 378*3ac0a46fSAndroid Build Coastguard Worker libs = [] 379*3ac0a46fSAndroid Build Coastguard Worker configs += [ ":pdfium_strict_config" ] 380*3ac0a46fSAndroid Build Coastguard Worker public_configs = [ ":pdfium_public_config" ] 381*3ac0a46fSAndroid Build Coastguard Worker 382*3ac0a46fSAndroid Build Coastguard Worker deps = [ 383*3ac0a46fSAndroid Build Coastguard Worker "constants", 384*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/page", 385*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/parser", 386*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfdoc", 387*3ac0a46fSAndroid Build Coastguard Worker "core/fxcodec", 388*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 389*3ac0a46fSAndroid Build Coastguard Worker "core/fxge", 390*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk", 391*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/formfiller", 392*3ac0a46fSAndroid Build Coastguard Worker "fxjs", 393*3ac0a46fSAndroid Build Coastguard Worker "third_party:pdfium_base", 394*3ac0a46fSAndroid Build Coastguard Worker ] 395*3ac0a46fSAndroid Build Coastguard Worker 396*3ac0a46fSAndroid Build Coastguard Worker public_deps = [ 397*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_public_headers_impl", 398*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 399*3ac0a46fSAndroid Build Coastguard Worker ] 400*3ac0a46fSAndroid Build Coastguard Worker 401*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa) { 402*3ac0a46fSAndroid Build Coastguard Worker deps += [ 403*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/fpdfxfa", 404*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa", 405*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa/parser", 406*3ac0a46fSAndroid Build Coastguard Worker ] 407*3ac0a46fSAndroid Build Coastguard Worker } 408*3ac0a46fSAndroid Build Coastguard Worker 409*3ac0a46fSAndroid Build Coastguard Worker if (is_win) { 410*3ac0a46fSAndroid Build Coastguard Worker libs += [ 411*3ac0a46fSAndroid Build Coastguard Worker "advapi32.lib", 412*3ac0a46fSAndroid Build Coastguard Worker "gdi32.lib", 413*3ac0a46fSAndroid Build Coastguard Worker "user32.lib", 414*3ac0a46fSAndroid Build Coastguard Worker ] 415*3ac0a46fSAndroid Build Coastguard Worker } 416*3ac0a46fSAndroid Build Coastguard Worker 417*3ac0a46fSAndroid Build Coastguard Worker if (is_mac) { 418*3ac0a46fSAndroid Build Coastguard Worker frameworks = [ 419*3ac0a46fSAndroid Build Coastguard Worker "AppKit.framework", 420*3ac0a46fSAndroid Build Coastguard Worker "CoreFoundation.framework", 421*3ac0a46fSAndroid Build Coastguard Worker ] 422*3ac0a46fSAndroid Build Coastguard Worker } 423*3ac0a46fSAndroid Build Coastguard Worker 424*3ac0a46fSAndroid Build Coastguard Worker if (pdf_is_complete_lib) { 425*3ac0a46fSAndroid Build Coastguard Worker static_component_type = "static_library" 426*3ac0a46fSAndroid Build Coastguard Worker complete_static_lib = true 427*3ac0a46fSAndroid Build Coastguard Worker configs -= [ "//build/config/compiler:thin_archive" ] 428*3ac0a46fSAndroid Build Coastguard Worker } 429*3ac0a46fSAndroid Build Coastguard Worker} 430*3ac0a46fSAndroid Build Coastguard Worker 431*3ac0a46fSAndroid Build Coastguard Worker# Targets below this are only visible within this file. 432*3ac0a46fSAndroid Build Coastguard Workervisibility = [ ":*" ] 433*3ac0a46fSAndroid Build Coastguard Worker 434*3ac0a46fSAndroid Build Coastguard Workergroup("pdfium_unittest_deps") { 435*3ac0a46fSAndroid Build Coastguard Worker testonly = true 436*3ac0a46fSAndroid Build Coastguard Worker public_deps = [ 437*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 438*3ac0a46fSAndroid Build Coastguard Worker "testing:unit_test_support", 439*3ac0a46fSAndroid Build Coastguard Worker "//testing/gmock", 440*3ac0a46fSAndroid Build Coastguard Worker "//testing/gtest", 441*3ac0a46fSAndroid Build Coastguard Worker ] 442*3ac0a46fSAndroid Build Coastguard Worker visibility += [ 443*3ac0a46fSAndroid Build Coastguard Worker "core/*", 444*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/*", 445*3ac0a46fSAndroid Build Coastguard Worker "fxbarcode/*", 446*3ac0a46fSAndroid Build Coastguard Worker "fxjs/*", 447*3ac0a46fSAndroid Build Coastguard Worker "xfa/*", 448*3ac0a46fSAndroid Build Coastguard Worker ] 449*3ac0a46fSAndroid Build Coastguard Worker} 450*3ac0a46fSAndroid Build Coastguard Worker 451*3ac0a46fSAndroid Build Coastguard Workertest("pdfium_unittests") { 452*3ac0a46fSAndroid Build Coastguard Worker testonly = true 453*3ac0a46fSAndroid Build Coastguard Worker sources = [ "testing/unit_test_main.cpp" ] 454*3ac0a46fSAndroid Build Coastguard Worker deps = [ 455*3ac0a46fSAndroid Build Coastguard Worker "core/fdrm:unittests", 456*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/edit:unittests", 457*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/font:unittests", 458*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/page:unittests", 459*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/parser:unittests", 460*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/render:unittests", 461*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfdoc:unittests", 462*3ac0a46fSAndroid Build Coastguard Worker "core/fpdftext:unittests", 463*3ac0a46fSAndroid Build Coastguard Worker "core/fxcodec:unittests", 464*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 465*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt:unittests", 466*3ac0a46fSAndroid Build Coastguard Worker "core/fxge:unittests", 467*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk:unittests", 468*3ac0a46fSAndroid Build Coastguard Worker "testing:unit_test_support", 469*3ac0a46fSAndroid Build Coastguard Worker "//testing/gmock", 470*3ac0a46fSAndroid Build Coastguard Worker "//testing/gtest", 471*3ac0a46fSAndroid Build Coastguard Worker ] 472*3ac0a46fSAndroid Build Coastguard Worker configs += [ ":pdfium_core_config" ] 473*3ac0a46fSAndroid Build Coastguard Worker if (is_android) { 474*3ac0a46fSAndroid Build Coastguard Worker use_raw_android_executable = true 475*3ac0a46fSAndroid Build Coastguard Worker } 476*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_v8) { 477*3ac0a46fSAndroid Build Coastguard Worker configs += [ "//v8:external_startup_data" ] 478*3ac0a46fSAndroid Build Coastguard Worker deps += [ 479*3ac0a46fSAndroid Build Coastguard Worker "fxjs:unittests", 480*3ac0a46fSAndroid Build Coastguard Worker "//v8", 481*3ac0a46fSAndroid Build Coastguard Worker ] 482*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa) { 483*3ac0a46fSAndroid Build Coastguard Worker deps += [ 484*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt/css:unittests", 485*3ac0a46fSAndroid Build Coastguard Worker "fxbarcode:unittests", 486*3ac0a46fSAndroid Build Coastguard Worker "xfa/fde:unittests", 487*3ac0a46fSAndroid Build Coastguard Worker "xfa/fgas/crt:unittests", 488*3ac0a46fSAndroid Build Coastguard Worker "xfa/fgas/font:unittests", 489*3ac0a46fSAndroid Build Coastguard Worker "xfa/fgas/layout:unittests", 490*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa:unittests", 491*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa/formcalc:unittests", 492*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa/parser:unittests", 493*3ac0a46fSAndroid Build Coastguard Worker ] 494*3ac0a46fSAndroid Build Coastguard Worker } 495*3ac0a46fSAndroid Build Coastguard Worker } 496*3ac0a46fSAndroid Build Coastguard Worker} 497*3ac0a46fSAndroid Build Coastguard Worker 498*3ac0a46fSAndroid Build Coastguard Workergroup("pdfium_embeddertest_deps") { 499*3ac0a46fSAndroid Build Coastguard Worker testonly = true 500*3ac0a46fSAndroid Build Coastguard Worker public_deps = [ 501*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_public_headers", 502*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 503*3ac0a46fSAndroid Build Coastguard Worker "testing:embedder_test_support", 504*3ac0a46fSAndroid Build Coastguard Worker "third_party:pdfium_base_test_support", 505*3ac0a46fSAndroid Build Coastguard Worker "//testing/gmock", 506*3ac0a46fSAndroid Build Coastguard Worker "//testing/gtest", 507*3ac0a46fSAndroid Build Coastguard Worker ] 508*3ac0a46fSAndroid Build Coastguard Worker visibility += [ 509*3ac0a46fSAndroid Build Coastguard Worker "core/*", 510*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/*", 511*3ac0a46fSAndroid Build Coastguard Worker "fxjs/*", 512*3ac0a46fSAndroid Build Coastguard Worker "xfa/*", 513*3ac0a46fSAndroid Build Coastguard Worker ] 514*3ac0a46fSAndroid Build Coastguard Worker} 515*3ac0a46fSAndroid Build Coastguard Worker 516*3ac0a46fSAndroid Build Coastguard Workertest("pdfium_embeddertests") { 517*3ac0a46fSAndroid Build Coastguard Worker testonly = true 518*3ac0a46fSAndroid Build Coastguard Worker sources = [ "testing/embedder_test_main.cpp" ] 519*3ac0a46fSAndroid Build Coastguard Worker deps = [ 520*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_embeddertest_deps", 521*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/edit:embeddertests", 522*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/parser:embeddertests", 523*3ac0a46fSAndroid Build Coastguard Worker "core/fpdfapi/render:embeddertests", 524*3ac0a46fSAndroid Build Coastguard Worker "core/fxcodec:embeddertests", 525*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 526*3ac0a46fSAndroid Build Coastguard Worker "core/fxge:embeddertests", 527*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk:embeddertests", 528*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/formfiller:embeddertests", 529*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/pwl:embeddertests", 530*3ac0a46fSAndroid Build Coastguard Worker "testing/image_diff", 531*3ac0a46fSAndroid Build Coastguard Worker "//testing/gmock", 532*3ac0a46fSAndroid Build Coastguard Worker "//testing/gtest", 533*3ac0a46fSAndroid Build Coastguard Worker ] 534*3ac0a46fSAndroid Build Coastguard Worker include_dirs = [ "testing/gmock/include" ] 535*3ac0a46fSAndroid Build Coastguard Worker configs += [ ":pdfium_core_config" ] 536*3ac0a46fSAndroid Build Coastguard Worker 537*3ac0a46fSAndroid Build Coastguard Worker if (is_android) { 538*3ac0a46fSAndroid Build Coastguard Worker ignore_all_data_deps = true 539*3ac0a46fSAndroid Build Coastguard Worker use_raw_android_executable = true 540*3ac0a46fSAndroid Build Coastguard Worker } 541*3ac0a46fSAndroid Build Coastguard Worker 542*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_v8) { 543*3ac0a46fSAndroid Build Coastguard Worker deps += [ 544*3ac0a46fSAndroid Build Coastguard Worker "fxjs:embeddertests", 545*3ac0a46fSAndroid Build Coastguard Worker "//v8", 546*3ac0a46fSAndroid Build Coastguard Worker ] 547*3ac0a46fSAndroid Build Coastguard Worker configs += [ "//v8:external_startup_data" ] 548*3ac0a46fSAndroid Build Coastguard Worker } 549*3ac0a46fSAndroid Build Coastguard Worker 550*3ac0a46fSAndroid Build Coastguard Worker if (pdf_enable_xfa) { 551*3ac0a46fSAndroid Build Coastguard Worker deps += [ 552*3ac0a46fSAndroid Build Coastguard Worker "fpdfsdk/fpdfxfa:embeddertests", 553*3ac0a46fSAndroid Build Coastguard Worker "xfa/fwl:embeddertests", 554*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa/layout:embeddertests", 555*3ac0a46fSAndroid Build Coastguard Worker "xfa/fxfa/parser:embeddertests", 556*3ac0a46fSAndroid Build Coastguard Worker ] 557*3ac0a46fSAndroid Build Coastguard Worker } 558*3ac0a46fSAndroid Build Coastguard Worker} 559*3ac0a46fSAndroid Build Coastguard Worker 560*3ac0a46fSAndroid Build Coastguard Workerexecutable("pdfium_diff") { 561*3ac0a46fSAndroid Build Coastguard Worker visibility += [ "testing/tools:test_runner_py" ] 562*3ac0a46fSAndroid Build Coastguard Worker testonly = true 563*3ac0a46fSAndroid Build Coastguard Worker sources = [ "testing/image_diff/image_diff.cpp" ] 564*3ac0a46fSAndroid Build Coastguard Worker deps = [ 565*3ac0a46fSAndroid Build Coastguard Worker "core/fxcrt", 566*3ac0a46fSAndroid Build Coastguard Worker "testing:path_service", 567*3ac0a46fSAndroid Build Coastguard Worker "testing/image_diff", 568*3ac0a46fSAndroid Build Coastguard Worker "//build/win:default_exe_manifest", 569*3ac0a46fSAndroid Build Coastguard Worker ] 570*3ac0a46fSAndroid Build Coastguard Worker configs += [ ":pdfium_strict_config" ] 571*3ac0a46fSAndroid Build Coastguard Worker} 572*3ac0a46fSAndroid Build Coastguard Worker 573*3ac0a46fSAndroid Build Coastguard Workergroup("pdfium_all") { 574*3ac0a46fSAndroid Build Coastguard Worker testonly = true 575*3ac0a46fSAndroid Build Coastguard Worker deps = [ 576*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_diff", 577*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_embeddertests", 578*3ac0a46fSAndroid Build Coastguard Worker ":pdfium_unittests", 579*3ac0a46fSAndroid Build Coastguard Worker "samples", 580*3ac0a46fSAndroid Build Coastguard Worker "testing/fuzzers", 581*3ac0a46fSAndroid Build Coastguard Worker ] 582*3ac0a46fSAndroid Build Coastguard Worker 583*3ac0a46fSAndroid Build Coastguard Worker if (pdf_is_standalone) { 584*3ac0a46fSAndroid Build Coastguard Worker deps += [ "testing/tools:test_runner_py" ] 585*3ac0a46fSAndroid Build Coastguard Worker } 586*3ac0a46fSAndroid Build Coastguard Worker} 587*3ac0a46fSAndroid Build Coastguard Worker 588*3ac0a46fSAndroid Build Coastguard Worker# Makes additional targets reachable only for "gn check". These are not always 589*3ac0a46fSAndroid Build Coastguard Worker# built by the "all" Ninja target, which uses the "default" group, which in turn 590*3ac0a46fSAndroid Build Coastguard Worker# depends on the "pdfium_all" group. 591*3ac0a46fSAndroid Build Coastguard Workergroup("gn_check") { 592*3ac0a46fSAndroid Build Coastguard Worker deps = [] 593*3ac0a46fSAndroid Build Coastguard Worker 594*3ac0a46fSAndroid Build Coastguard Worker # TODO(crbug.com/pdfium/1832): Remove !is_android when //third_party/expat is 595*3ac0a46fSAndroid Build Coastguard Worker # available. 596*3ac0a46fSAndroid Build Coastguard Worker if (defined(checkout_skia) && checkout_skia && !is_android) { 597*3ac0a46fSAndroid Build Coastguard Worker deps += [ "//skia" ] 598*3ac0a46fSAndroid Build Coastguard Worker } 599*3ac0a46fSAndroid Build Coastguard Worker} 600