|  | # Copyright 2015 The PDFium Authors | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | import("//build/config/rust.gni") | 
|  | import("//build_overrides/pdfium.gni") | 
|  |  | 
|  | # This file contains PDFium-related build flags. | 
|  |  | 
|  | declare_args() { | 
|  | # Build PDFium either: | 
|  | # 1) When set to true, with a bundled FreeType, built from FreeType source | 
|  | #    code in //third_party/freetype and PDFium's FreeType configs in | 
|  | #    third_party/freetype/include. | 
|  | # 2) When set to false, use whatever FreeType target is defined in | 
|  | #    //build/config/freetype. | 
|  | pdf_bundle_freetype = pdf_bundle_freetype_override | 
|  |  | 
|  | # Generate logging messages for click events that reach PDFium | 
|  | pdf_enable_click_logging = false | 
|  |  | 
|  | # Build PDFium either with or without v8 support. | 
|  | pdf_enable_v8 = pdf_enable_v8_override | 
|  |  | 
|  | # Build PDFium either with or without XFA Forms support. | 
|  | pdf_enable_xfa = pdf_enable_xfa_override | 
|  |  | 
|  | # If XFA, also support bmp codec. Ignored if not XFA. | 
|  | pdf_enable_xfa_bmp = true | 
|  |  | 
|  | # If XFA, also support gif codec. Ignored if not XFA. | 
|  | pdf_enable_xfa_gif = true | 
|  |  | 
|  | # If XFA, also support png codec. Ignored if not XFA. | 
|  | pdf_enable_xfa_png = true | 
|  |  | 
|  | # If XFA, also support tiff codec. Ignored if not XFA. | 
|  | pdf_enable_xfa_tiff = true | 
|  |  | 
|  | # Build PDFium against PartitionAlloc. When false, PDFium must build without | 
|  | # requiring any PartitionAlloc headers or code to be present. When true, | 
|  | # PDFium will use PartitionAlloc partitions to separate strings, scalars, | 
|  | # etc. from other allocations. However, the use of PartitionAlloc for new or | 
|  | # malloc is controlled by args in build_overrides/partition_alloc.gni. | 
|  | pdf_use_partition_alloc = pdf_use_partition_alloc_override | 
|  |  | 
|  | # Build PDFium to use Skia (experimental) for all PDFium graphics. | 
|  | # If enabled, coexists in build with AGG graphics and the default | 
|  | # renderer is selectable at runtime. | 
|  | pdf_use_skia = pdf_use_skia_override | 
|  |  | 
|  | # Build PDFium with experimental Fontations library support. | 
|  | # If enabled, coexists in build with FreeType library and the default font | 
|  | # library is selectable at runtime. | 
|  | # Note that Fontations requires Skia and Rust support. | 
|  | pdf_enable_fontations = pdf_enable_fontations_override | 
|  |  | 
|  | # Build PDFium standalone. Now only controls whether the test binaries | 
|  | # are built. Most logic is conditioned by build_with_chromium. | 
|  | pdf_is_standalone = false | 
|  |  | 
|  | # Build a complete static library | 
|  | pdf_is_complete_lib = false | 
|  |  | 
|  | # Enable callgrind for performance profiling | 
|  | enable_callgrind = false | 
|  |  | 
|  | # Don't build against bundled lcms2. | 
|  | use_system_lcms2 = false | 
|  |  | 
|  | # Don't build against bundled libopenjpeg2. | 
|  | use_system_libopenjpeg2 = false | 
|  |  | 
|  | # Don't build against bundled libpng. | 
|  | use_system_libpng = false | 
|  |  | 
|  | # Don't build against bundled libtiff. | 
|  | use_system_libtiff = false | 
|  |  | 
|  | # Don't build against bundled zlib. | 
|  | use_system_zlib = false | 
|  |  | 
|  | # Enable SSE2 for MSVC builds. Ignored if it's not a MSVC build. | 
|  | msvc_use_sse2 = true | 
|  | } | 
|  |  | 
|  | assert(!pdf_is_complete_lib || !is_component_build, | 
|  | "pdf_is_complete_lib=true requires is_component_build=false") | 
|  |  | 
|  | assert( | 
|  | !pdf_enable_fontations || (enable_rust && enable_rust_cxx && pdf_use_skia), | 
|  | "pdf_enable_fontations=true requires enable_rust=true, enable_rust_cxx=true, and pdf_use_skia=true") |