| # 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" ] |
| } |
| } |