# Copyright 2020 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/buildflag_header.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//printing/buildflags/buildflags.gni")
if (is_chromeos) {
import("//printing/backend/tools/code_generator.gni")
}
declare_args() {
# Enable print media localization only on the platforms that support CUPS IPP
# (ChromeOS and macOS for now). The localization expects media vendor IDs
# uniquely generated by CUPS IPP.
enable_print_media_l10n = is_chromeos || is_mac
}
buildflag_header("printing_buildflags") {
header = "printing_buildflags.h"
flags = [ "PRINT_MEDIA_L10N_ENABLED=$enable_print_media_l10n" ]
}
if (is_chromeos) {
localization_map_path = "$target_gen_dir/ipp_l10n.cc"
ipp_code_generate("ipp_l10n_generate") {
outputs = [ localization_map_path ]
args = [ "--localization-map=" +
rebase_path(localization_map_path, root_build_dir) ]
}
}
source_set("printing") {
sources = [
"printing_init.cc",
"printing_init.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
public_deps = [
":printing_buildflags",
"//printing/backend",
]
deps = [
"//base",
"//build:chromeos_buildflags",
"//components/crash/core/common",
"//components/printing/common",
"//components/strings:components_strings_grit",
"//printing",
"//printing/mojom",
"//ui/base",
"//ui/gfx/geometry",
]
if (is_chromeos) {
deps += [ ":ipp_l10n_generate" ]
sources += [
"ipp_l10n.h",
localization_map_path,
]
}
if (enable_print_media_l10n) {
deps += [
"//base:i18n",
"//components/device_event_log",
"//third_party/re2",
]
sources += [
"print_media_l10n.cc",
"print_media_l10n.h",
]
}
if (enable_print_preview) {
sources += [
"printer_capabilities.cc",
"printer_capabilities.h",
]
deps += [ "//components/device_event_log" ]
if (is_mac) {
sources += [
"printer_capabilities_mac.h",
"printer_capabilities_mac.mm",
]
}
}
}
source_set("unit_tests") {
testonly = true
sources = []
deps = [
"//base",
"//build:chromeos_buildflags",
"//chrome/common/printing",
"//content/test:test_support",
"//printing:test_support",
"//testing/gtest",
]
if (enable_print_media_l10n) {
sources += [ "print_media_l10n_unittest.cc" ]
}
if (enable_print_preview) {
sources += [ "printer_capabilities_unittest.cc" ]
if (is_mac) {
sources += [ "printer_capabilities_mac_unittest.mm" ]
}
}
}