blob: f349a260053805def2c203387f7d111efa8e97bc [file] [log] [blame]
# 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.
# 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 using C++20 if set to true. Otherwise builds with C++17.
# There is no "pdf_use_cxx20_override" variable because this is only used in
# standalone PDFium, and not when PDFium is embedded in our projects.
pdf_use_cxx20 = (is_win && is_component_build) || is_fuchsia
# 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
# Temporary config allowing chromium to switch its location of the
# partition_alloc library.
pdf_use_partition_alloc_new_location = false
# 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 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")