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