blob: 89eedff121bf72495e2ac40a103550ff2da892b8 [file] [log] [blame]
# 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/gtk/gtk.gni")
import("//build/config/linux/pkg_config.gni")
import("//build/config/ui.gni")
# CrOS doesn't install GTK or any gnome packages.
assert(!is_chromeos)
# These packages should _only_ be expected when building for a target.
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\"" ]
if (use_gtk3) {
packages += [ "atk-bridge-2.0" ]
defines += [ "USE_ATK_BRIDGE" ]
}
}
# 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 = [
# 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",
]
if (is_clang) {
# glib uses the pre-c++11 typedef-as-static_assert hack.
cflags += [ "-Wno-unused-local-typedef" ]
}
}