# Copyright 2018 The Chromium 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/config/linux/pkg_config.gni")
import("//build/config/ui.gni")

# These packages should _only_ be expected when building for a target.
assert(current_toolchain == default_toolchain)

if (use_atk) {
  pkg_config("atspi2") {
    packages = [ "atspi-2" ]
    atspi_version = exec_script(pkg_config_script,
                                pkg_config_args + [
                                      "atspi-2",
                                      "--version-as-components",
                                    ],
                                "value")
    atspi_major_version = atspi_version[0]
    atspi_minor_version = atspi_version[1]
    atspi_micro_version = atspi_version[2]
    defines = [
      "ATSPI_MAJOR_VERSION=$atspi_major_version",
      "ATSPI_MINOR_VERSION=$atspi_minor_version",
      "ATSPI_MICRO_VERSION=$atspi_micro_version",
    ]
  }
}
