# Copyright 2016 The Chromium Authors. All rights reserved.
# 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 overrides.

# Build PDFium either using a bundled FreeType library, or using the FreeType
# target defined in //build/config/freetype.
# Default: Use a bundled FreeType.
pdf_bundle_freetype_override = true

# Build PDFium either with or without v8 support.
# Default: With V8 support.
pdf_enable_v8_override = true

# Build PDFium either with or without XFA Forms support.
# Default: Without XFA support.
pdf_enable_xfa_override = false

# Build PDFium with PartitionAlloc as the memory allocator.
# Default: Use PartitionAlloc unless it is a MSVC build.
pdf_use_partition_alloc_override = !is_win || is_clang

# 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.
# The default is to use AGG when both `pdf_use_skia_override` and
# `pdf_use_skia_paths_override` are set to their defaults of false.
pdf_use_skia_override = false

# Build PDFium against skia (experimental) rather than agg, adding only path
# support.
# Default: Use agg.
pdf_use_skia_paths_override = false
