chromium/chrome/services/printing/BUILD.gn

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")
import("//printing/buildflags/buildflags.gni")
import("//testing/test.gni")

assert(enable_printing)

source_set("lib") {
  sources = [
    "printing_service.cc",
    "printing_service.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  deps = [
    "//components/discardable_memory/client",
    "//content/public/child",
    "//content/public/utility",
    "//printing",
  ]

  public_deps = [
    "//base",
    "//chrome/services/printing/public/mojom",
    "//mojo/public/cpp/bindings",
    "//printing/buildflags",
  ]

  if (is_chromeos) {
    sources += [
      "pdf_flattener.cc",
      "pdf_flattener.h",
    ]

    deps += [ "//pdf" ]
  }

  if (is_win) {
    sources += [
      "pdf_to_emf_converter.cc",
      "pdf_to_emf_converter.h",
      "pdf_to_emf_converter_factory.cc",
      "pdf_to_emf_converter_factory.h",
    ]

    deps += [
      "//skia",
      "//ui/gfx",
    ]
  }

  if (enable_print_preview) {
    sources += [
      "pdf_nup_converter.cc",
      "pdf_nup_converter.h",
      "pdf_to_pwg_raster_converter.cc",
      "pdf_to_pwg_raster_converter.h",
    ]

    deps += [
      "//build:chromeos_buildflags",
      "//components/crash/core/common:crash_key",
      "//components/pwg_encoder",
      "//pdf",
      "//printing/backend",
      "//printing/mojom",
    ]
  }

  if (enable_oop_printing) {
    sources += [
      "print_backend_service_impl.cc",
      "print_backend_service_impl.h",
    ]

    deps += [
      "//chrome/common/printing",
      "//components/crash/core/common",
      "//ui/gfx",
    ]

    if (is_linux) {
      deps += [
        "//ui/linux:linux_ui",
        "//ui/linux:linux_ui_factory",
      ]
    }
  }
}