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

# CrOS doesn't install GTK, gconf or any gnome packages.
assert(!is_chromeos)

# These packages should _only_ be expected when building for a target.
# If these extra checks are not run, gconf is required when building host
# tools for a CrOS build.
assert(current_toolchain == default_toolchain)

if (use_atk) {
  assert(use_glib, "use_atk=true requires that use_glib=true")
}

pkg_config("atk_base") {
  packages = [ "atk" ]
  atk_lib_dir = exec_script(pkg_config_script,
                            pkg_config_args + [
                                  "--libdir",
                                  "atk",
                                ],
                            "string")
  defines = [ "ATK_LIB_DIR=\"$atk_lib_dir\"" ]
}

# gn orders flags on a target before flags from configs. The default config
# adds -Wall, and these flags have to be after -Wall -- so they need to
# come from a config and can't be on the target directly.
config("atk") {
  configs = [ ":atk_base" ]

  cflags = [
    # glib uses the pre-c++11 typedef-as-static_assert hack.
    "-Wno-unused-local-typedef",

    # G_DEFINE_TYPE automatically generates a *get_instance_private
    # inline function after glib 2.37. That's unused. Prevent to
    # complain about it.
    "-Wno-unused-function",
  ]
}
