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

group("samples") {
  deps = [
    ":pdfium_test",
    ":pdfium_diff",
  ]
}

config("pdfium_samples_config") {
  defines = [
    "PNG_PREFIX",
    "PNGPREFIX_H",
    "PNG_USE_READ_MACROS",
  ]
}

executable("pdfium_test") {
  sources = [
    "image_diff_png.cc",
    "pdfium_test.cc",
  ]
  deps = [
    "//third_party/pdfium",
    "//v8:v8_libplatform",
    ":fx_lpng",
  ]
  include_dirs = [
    "//v8",
    "//v8/include",
  ]
  configs += [ ":pdfium_samples_config" ]
}

executable("pdfium_diff") {
  sources = [
    "image_diff.cc",
    "image_diff_png.cc",
    "image_diff_png.h",
  ]
  deps = [
    "//third_party/pdfium",
    ":fx_lpng",
  ]
  configs += [ ":pdfium_samples_config" ]
}

static_library("fx_lpng") {
  sources = [
    "fx_lpng/include/fx_png.h",
    "fx_lpng/src/fx_png.c",
    "fx_lpng/src/fx_pngerror.c",
    "fx_lpng/src/fx_pngget.c",
    "fx_lpng/src/fx_pngmem.c",
    "fx_lpng/src/fx_pngpread.c",
    "fx_lpng/src/fx_pngread.c",
    "fx_lpng/src/fx_pngrio.c",
    "fx_lpng/src/fx_pngrtran.c",
    "fx_lpng/src/fx_pngrutil.c",
    "fx_lpng/src/fx_pngset.c",
    "fx_lpng/src/fx_pngtrans.c",
    "fx_lpng/src/fx_pngwio.c",
    "fx_lpng/src/fx_pngwrite.c",
    "fx_lpng/src/fx_pngwtran.c",
    "fx_lpng/src/fx_pngwutil.c",
  ]
  include_dirs = [
    "../core/src/fxcodec/fx_zlib/include/",
  ]
  configs += [ ":pdfium_samples_config" ]
}