# Copyright 2015 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

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

  # 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 png codec. Ignored if not XFA.
  pdf_enable_xfa_tiff = true

  # Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw
  # everything.
  pdf_use_skia = pdf_use_skia_override

  # Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw
  # paths.
  pdf_use_skia_paths = pdf_use_skia_paths_override

  # Build PDFium with or without experimental win32 GDI APIs.
  pdf_use_win32_gdi = pdf_use_win32_gdi_override

  # Build PDFium standalone
  pdf_is_standalone = false

  # Build a complete static library
  pdf_is_complete_lib = false

  # Enable callgrind for performance profiling
  enable_callgrind = false

  # Enable coverage information
  use_coverage = false

  # Don't build against bundled zlib.
  use_system_zlib = false

  # Don't build against bundled lcms2.
  use_system_lcms2 = false

  # Don't build against bundled libpng.
  use_system_libpng = false
}

if (pdf_use_skia && pdf_use_skia_paths) {
  assert(false, "Enable at most ONE of pdf_use_skia and pdf_use_skia_paths")
}

assert(!pdf_is_complete_lib || !is_component_build,
       "pdf_is_complete_lib=true requires is_component_build=false")