blob: 131bb71d1d3b81f993bc90d4be3382d7ddc5dd60 [file] [log] [blame]
# Copyright 2013 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/config/c++/c++.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/linux/pkg_config.gni")
import("//build/config/ui.gni")
group("linux") {
visibility = [ "//:optimize_gn_gen" ]
}
# This is included by reference in the //build/config/compiler config that
# is applied to all targets. It is here to separate out the logic that is
# Linux-only. This is not applied to Android, but is applied to ChromeOS.
config("compiler") {
if (current_cpu == "arm64") {
import("//build/config/arm.gni")
cflags = []
asmflags = []
if (arm_control_flow_integrity == "standard") {
cflags += [ "-mbranch-protection=standard" ]
asmflags += [ "-mbranch-protection=standard" ]
} else if (arm_control_flow_integrity == "pac") {
cflags += [ "-mbranch-protection=pac-ret" ]
asmflags += [ "-mbranch-protection=pac-ret" ]
}
}
}
# This is included by reference in the //build/config/compiler:runtime_library
# config that is applied to all targets. It is here to separate out the logic
# that is Linux-only. Please see that target for advice on what should go in
# :runtime_library vs. :compiler.
config("runtime_library") {
# Set here because OS_CHROMEOS cannot be autodetected in build_config.h like
# OS_LINUX and the like.
if (is_chromeos) {
defines = [ "OS_CHROMEOS" ]
}
if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") &&
(!use_custom_libcxx || current_cpu == "mipsel")) {
libs = [ "atomic" ]
}
}
config("libcap") {
libs = [ "cap" ]
}
config("libresolv") {
libs = [ "resolv" ]
}
if (use_glib) {
pkg_config("glib") {
packages = [
"glib-2.0",
"gmodule-2.0",
"gobject-2.0",
"gthread-2.0",
]
defines = [
"GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56",
"GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56",
]
}
}