1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2015 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_overrides/pdfium.gni") 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker# This file contains PDFium-related build flags. 8*3ac0a46fSAndroid Build Coastguard Worker 9*3ac0a46fSAndroid Build Coastguard Workerdeclare_args() { 10*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium either: 11*3ac0a46fSAndroid Build Coastguard Worker # 1) When set to true, with a bundled FreeType, built from FreeType source 12*3ac0a46fSAndroid Build Coastguard Worker # code in //third_party/freetype and PDFium's FreeType configs in 13*3ac0a46fSAndroid Build Coastguard Worker # third_party/freetype/include. 14*3ac0a46fSAndroid Build Coastguard Worker # 2) When set to false, use whatever FreeType target is defined in 15*3ac0a46fSAndroid Build Coastguard Worker # //build/config/freetype. 16*3ac0a46fSAndroid Build Coastguard Worker pdf_bundle_freetype = pdf_bundle_freetype_override 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Worker # Generate logging messages for click events that reach PDFium 19*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_click_logging = false 20*3ac0a46fSAndroid Build Coastguard Worker 21*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium either with or without v8 support. 22*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_v8 = pdf_enable_v8_override 23*3ac0a46fSAndroid Build Coastguard Worker 24*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium either with or without XFA Forms support. 25*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_xfa = pdf_enable_xfa_override 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker # If XFA, also support bmp codec. Ignored if not XFA. 28*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_xfa_bmp = true 29*3ac0a46fSAndroid Build Coastguard Worker 30*3ac0a46fSAndroid Build Coastguard Worker # If XFA, also support gif codec. Ignored if not XFA. 31*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_xfa_gif = true 32*3ac0a46fSAndroid Build Coastguard Worker 33*3ac0a46fSAndroid Build Coastguard Worker # If XFA, also support png codec. Ignored if not XFA. 34*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_xfa_png = true 35*3ac0a46fSAndroid Build Coastguard Worker 36*3ac0a46fSAndroid Build Coastguard Worker # If XFA, also support tiff codec. Ignored if not XFA. 37*3ac0a46fSAndroid Build Coastguard Worker pdf_enable_xfa_tiff = true 38*3ac0a46fSAndroid Build Coastguard Worker 39*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium using C++20 if set to true. Otherwise builds with C++17. 40*3ac0a46fSAndroid Build Coastguard Worker # There is no "pdf_use_cxx20_override" variable because this is only used in 41*3ac0a46fSAndroid Build Coastguard Worker # standalone PDFium, and not when PDFium is embedded in our projects. 42*3ac0a46fSAndroid Build Coastguard Worker pdf_use_cxx20 = (is_win && is_component_build) || is_fuchsia 43*3ac0a46fSAndroid Build Coastguard Worker 44*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium against PartitionAlloc. When false, PDFium must build without 45*3ac0a46fSAndroid Build Coastguard Worker # requiring any PartitionAlloc headers or code to be present. When true, 46*3ac0a46fSAndroid Build Coastguard Worker # PDFium will use PartitionAlloc partitions to separate strings, scalars, 47*3ac0a46fSAndroid Build Coastguard Worker # etc. from other allocations. However, the use of PartitionAlloc for new or 48*3ac0a46fSAndroid Build Coastguard Worker # malloc is controlled by args in build_overrides/partition_alloc.gni. 49*3ac0a46fSAndroid Build Coastguard Worker pdf_use_partition_alloc = pdf_use_partition_alloc_override 50*3ac0a46fSAndroid Build Coastguard Worker 51*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium to use Skia (experimental) for all PDFium graphics. 52*3ac0a46fSAndroid Build Coastguard Worker # If enabled, coexists in build with AGG graphics and the default 53*3ac0a46fSAndroid Build Coastguard Worker # renderer is selectable at runtime. 54*3ac0a46fSAndroid Build Coastguard Worker pdf_use_skia = pdf_use_skia_override 55*3ac0a46fSAndroid Build Coastguard Worker 56*3ac0a46fSAndroid Build Coastguard Worker # Build PDFium standalone. Now only controls whether the test binaries 57*3ac0a46fSAndroid Build Coastguard Worker # are built. Most logic is conditioned by build_with_chromium. 58*3ac0a46fSAndroid Build Coastguard Worker pdf_is_standalone = false 59*3ac0a46fSAndroid Build Coastguard Worker 60*3ac0a46fSAndroid Build Coastguard Worker # Build a complete static library 61*3ac0a46fSAndroid Build Coastguard Worker pdf_is_complete_lib = false 62*3ac0a46fSAndroid Build Coastguard Worker 63*3ac0a46fSAndroid Build Coastguard Worker # Enable callgrind for performance profiling 64*3ac0a46fSAndroid Build Coastguard Worker enable_callgrind = false 65*3ac0a46fSAndroid Build Coastguard Worker 66*3ac0a46fSAndroid Build Coastguard Worker # Don't build against bundled lcms2. 67*3ac0a46fSAndroid Build Coastguard Worker use_system_lcms2 = false 68*3ac0a46fSAndroid Build Coastguard Worker 69*3ac0a46fSAndroid Build Coastguard Worker # Don't build against bundled libopenjpeg2. 70*3ac0a46fSAndroid Build Coastguard Worker use_system_libopenjpeg2 = false 71*3ac0a46fSAndroid Build Coastguard Worker 72*3ac0a46fSAndroid Build Coastguard Worker # Don't build against bundled libpng. 73*3ac0a46fSAndroid Build Coastguard Worker use_system_libpng = false 74*3ac0a46fSAndroid Build Coastguard Worker 75*3ac0a46fSAndroid Build Coastguard Worker # Don't build against bundled libtiff. 76*3ac0a46fSAndroid Build Coastguard Worker use_system_libtiff = false 77*3ac0a46fSAndroid Build Coastguard Worker 78*3ac0a46fSAndroid Build Coastguard Worker # Don't build against bundled zlib. 79*3ac0a46fSAndroid Build Coastguard Worker use_system_zlib = false 80*3ac0a46fSAndroid Build Coastguard Worker 81*3ac0a46fSAndroid Build Coastguard Worker # Enable SSE2 for MSVC builds. Ignored if it's not a MSVC build. 82*3ac0a46fSAndroid Build Coastguard Worker msvc_use_sse2 = true 83*3ac0a46fSAndroid Build Coastguard Worker} 84*3ac0a46fSAndroid Build Coastguard Worker 85*3ac0a46fSAndroid Build Coastguard Workerassert(!pdf_is_complete_lib || !is_component_build, 86*3ac0a46fSAndroid Build Coastguard Worker "pdf_is_complete_lib=true requires is_component_build=false") 87