# Copyright 2016 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.

buildconfig = "//build/config/BUILDCONFIG.gn"
secondary_source = "//build/secondary/"

default_args = {
  v8_extra_library_files = []
  v8_experimental_extra_library_files = []

  # Turns on compiler optimizations in V8 in Debug build.
  v8_optimized_debug = true

  # PDFium does not want to switch to C++14 yet.
  use_cxx11 = true
}

check_targets = [
  "//samples/*",

  # TODO(thestig): Work on these.
  #"//core/*",  # Need to split off.
  #"//fpdfsdk/*",  # Need to split off.
  #"//fxbarcode/*",  # Need to split off.
  #"//fxjs/*",  # Need to split off.
  #"//testing/*",
  #"//testing/fuzzers/*",
  #"//xfa/*",  # Need to split off.
]
