summaryrefslogtreecommitdiff
path: root/chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn')
-rw-r--r--chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn412
1 files changed, 202 insertions, 210 deletions
diff --git a/chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn b/chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn
index 5756e84eb79..d203677b2d1 100644
--- a/chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn
+++ b/chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn
@@ -1,210 +1,202 @@
-# Copyright (c) 2013 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.
-
-# =============================================================================
-# BUILD FLAGS
-# =============================================================================
-#
-# This block lists input arguments to the build, along with their default
-# values. GN requires listing them explicitly so it can validate input and have
-# a central place to manage the build flags.
-#
-# If a value is specified on the command line, it will overwrite the defaults
-# given here, otherwise the default will be injected into the root scope.
-#
-# KEEP IN ALPHABETICAL ORDER and write a good description for everything.
-# Use "is_*" names for intrinsic platform descriptions and build modes, and
-# "use_*" names for optional features libraries, and configurations.
-declare_args() {
- is_android = 0
- is_component_build = 1
- is_chromeos = 0
- is_debug = 1
- is_ios = 0
- use_ash = 0
- use_aura = 0
- use_ozone = 0
-}
-
-# =============================================================================
-# SOURCES FILTERS
-# =============================================================================
-#
-# These patterns filter out platform-specific files when assigning to the
-# sources variable. The magic variable |sources_assignment_filter| is applied
-# to each assignment or appending to the sources variable and matches are
-# automatcally removed.
-#
-# We define lists of filters for each platform for all builds so they can
-# be used by individual targets if necessary (a target can always change
-# sources_assignment_filter on itself if it needs something more specific).
-#
-# Note that the patterns are NOT regular expressions. Only "*" and "\b" (path
-# boundary = end of string or slash) are supported, and the entire string
-# muct match the pattern (so you need "*.cc" to match all .cc files, for
-# example).
-
-windows_sources_filters = [
- "*_win.cc",
- "*_win.h",
- "*_win_unittest.cc",
- "*\bwin/*",
-]
-mac_sources_filters = [
- "*_mac.h",
- "*_mac.cc",
- "*_mac.mm",
- "*_mac_unittest.h",
- "*_mac_unittest.cc",
- "*_mac_unittest.mm",
- "*\bmac/*",
- "*_cocoa.h",
- "*_cocoa.cc",
- "*_cocoa.mm",
- "*_cocoa_unittest.h",
- "*_cocoa_unittest.cc",
- "*_cocoa_unittest.mm",
- "*\bcocoa/*",
-]
-ios_sources_filters = [
- "*_ios.h",
- "*_ios.cc",
- "*_ios.mm",
- "*_ios_unittest.h",
- "*_ios_unittest.cc",
- "*_ios_unittest.mm",
- "*\bios/*",
-]
-objective_c_sources_filters = [
- "*.mm",
-]
-linux_sources_filters = [
- "*_linux.h",
- "*_linux.cc",
- "*_linux_unittest.h",
- "*_linux_unittest.cc",
- "*\blinux/*",
-]
-android_sources_filters = [
- "*_android.h",
- "*_android.cc",
- "*_android_unittest.h",
- "*_android_unittest.cc",
- "*\bandroid/*",
-]
-posix_sources_filters = [
- "*_posix.h",
- "*_posix.cc",
- "*_posix_unittest.h",
- "*_posix_unittest.cc",
- "*\bposix/*",
-]
-
-# Construct the full list of sources we're using for this platform.
-sources_assignment_filter = []
-if (is_win) {
- sources_assignment_filter += posix_sources_filters
-} else {
- sources_assignment_filter += windows_sources_filters
-}
-if (!is_mac) {
- sources_assignment_filter += mac_sources_filters
-}
-if (!is_ios) {
- sources_assignment_filter += ios_sources_filters
-}
-if (!is_mac && !is_ios) {
- sources_assignment_filter += objective_c_sources_filters
-}
-if (!is_linux) {
- sources_assignment_filter += linux_sources_filters
-}
-if (!is_android) {
- sources_assignment_filter += android_sources_filters
-}
-
-# This is the actual set.
-set_sources_assignment_filter(sources_assignment_filter)
-
-# =============================================================================
-# SYSTEM CONFIG
-# =============================================================================
-
-is_nacl = 0
-
-# =============================================================================
-# BUILD OPTIONS
-# =============================================================================
-
-if (is_component_build) {
- component_mode = "shared_library"
-} else {
- component_mode = "static_library"
-}
-
-# =============================================================================
-# TARGET DEFAULTS
-# =============================================================================
-#
-# Set up the default configuration for every build target of the given type.
-# The values configured here will be automatically set on the scope of the
-# corresponding target. Target definitions can add or remove to the settings
-# here as needed.
-
-# Holds all configs used for making native executables and libraries, to avoid
-# duplication in each target below.
-native_compiler_configs = [
- "//build/config:my_msvs", # TODO(brettw) eraseme
-
- "//build/config/compiler:compiler",
- "//build/config/compiler:chromium_code",
- "//build/config/compiler:default_warnings",
- "//build/config/compiler:no_rtti",
- "//build/config/compiler:runtime_library",
-]
-if (is_win) {
- native_compiler_configs += "//build/config/win:sdk"
-} else if (is_mac) {
- # TODO(brettw) this should be in an if (is_clang) block instead but I haven't
- # written an is_clang flag yet.
- native_compiler_configs += "//build/config/clang:find_bad_constructs"
-}
-
-if (is_debug) {
- native_compiler_configs += "//build/config:debug"
-} else {
- native_compiler_configs += "//build/config:release"
-}
-
-set_defaults("executable") {
- configs = native_compiler_configs
- if (is_mac) {
- configs += "//build/config/mac:mac_dynamic_flags"
- } else if (is_linux) {
- configs += "//build/config/linux:executable_ldconfig"
- }
-}
-
-set_defaults("static_library") {
- configs = native_compiler_configs
-}
-
-set_defaults("shared_library") {
- configs = native_compiler_configs
- if (is_mac) {
- configs += "//build/config/mac:mac_dynamic_flags"
- }
-}
-
-# ==============================================================================
-# TOOLCHAIN SETUP
-# ==============================================================================
-
-if (is_win) {
- set_default_toolchain("//build/config/win:32")
-} else if (is_linux) {
- set_default_toolchain("//build/config/linux/toolchain:gcc")
-} else if (is_mac) {
- set_default_toolchain("//build/config/mac:clang")
-}
+# =============================================================================
+# BUILD FLAGS
+# =============================================================================
+#
+# This block lists input arguments to the build, along with their default
+# values. GN requires listing them explicitly so it can validate input and have
+# a central place to manage the build flags.
+#
+# If a value is specified on the command line, it will overwrite the defaults
+# given here, otherwise the default will be injected into the root scope.
+#
+# KEEP IN ALPHABETICAL ORDER and write a good description for everything.
+# Use "is_*" names for intrinsic platform descriptions and build modes, and
+# "use_*" names for optional features libraries, and configurations.
+declare_args() {
+ is_android = 0
+ is_component_build = 1
+ is_chromeos = 0
+ is_debug = 1
+ is_ios = 0
+ use_ash = 0
+ use_aura = 0
+ use_ozone = 0
+}
+
+# =============================================================================
+# SOURCES FILTERS
+# =============================================================================
+#
+# These patterns filter out platform-specific files when assigning to the
+# sources variable. The magic variable |sources_assignment_filter| is applied
+# to each assignment or appending to the sources variable and matches are
+# automatcally removed.
+#
+# We define lists of filters for each platform for all builds so they can
+# be used by individual targets if necessary (a target can always change
+# sources_assignment_filter on itself if it needs something more specific).
+#
+# Note that the patterns are NOT regular expressions. Only "*" and "\b" (path
+# boundary = end of string or slash) are supported, and the entire string
+# muct match the pattern (so you need "*.cc" to match all .cc files, for
+# example).
+
+windows_sources_filters = [
+ "*_win.cc",
+ "*_win.h",
+ "*_win_unittest.cc",
+ "*\bwin/*",
+]
+mac_sources_filters = [
+ "*_mac.h",
+ "*_mac.cc",
+ "*_mac.mm",
+ "*_mac_unittest.h",
+ "*_mac_unittest.cc",
+ "*_mac_unittest.mm",
+ "*\bmac/*",
+ "*_cocoa.h",
+ "*_cocoa.cc",
+ "*_cocoa.mm",
+ "*_cocoa_unittest.h",
+ "*_cocoa_unittest.cc",
+ "*_cocoa_unittest.mm",
+ "*\bcocoa/*",
+]
+ios_sources_filters = [
+ "*_ios.h",
+ "*_ios.cc",
+ "*_ios.mm",
+ "*_ios_unittest.h",
+ "*_ios_unittest.cc",
+ "*_ios_unittest.mm",
+ "*\bios/*",
+]
+objective_c_sources_filters = [
+ "*.mm",
+]
+linux_sources_filters = [
+ "*_linux.h",
+ "*_linux.cc",
+ "*_linux_unittest.h",
+ "*_linux_unittest.cc",
+ "*\blinux/*",
+]
+android_sources_filters = [
+ "*_android.h",
+ "*_android.cc",
+ "*_android_unittest.h",
+ "*_android_unittest.cc",
+ "*\bandroid/*",
+]
+posix_sources_filters = [
+ "*_posix.h",
+ "*_posix.cc",
+ "*_posix_unittest.h",
+ "*_posix_unittest.cc",
+ "*\bposix/*",
+]
+
+# Construct the full list of sources we're using for this platform.
+sources_assignment_filter = []
+if (is_win) {
+ sources_assignment_filter += posix_sources_filters
+} else {
+ sources_assignment_filter += windows_sources_filters
+}
+if (!is_mac) {
+ sources_assignment_filter += mac_sources_filters
+}
+if (!is_ios) {
+ sources_assignment_filter += ios_sources_filters
+}
+if (!is_mac && !is_ios) {
+ sources_assignment_filter += objective_c_sources_filters
+}
+if (!is_linux) {
+ sources_assignment_filter += linux_sources_filters
+}
+if (!is_android) {
+ sources_assignment_filter += android_sources_filters
+}
+
+# This is the actual set.
+set_sources_assignment_filter(sources_assignment_filter)
+
+# =============================================================================
+# SYSTEM CONFIG
+# =============================================================================
+
+is_nacl = 0
+
+# =============================================================================
+# BUILD OPTIONS
+# =============================================================================
+
+if (is_component_build) {
+ component_mode = "shared_library"
+} else {
+ component_mode = "static_library"
+}
+
+# =============================================================================
+# TARGET DEFAULTS
+# =============================================================================
+#
+# Set up the default configuration for every build target of the given type.
+# The values configured here will be automatically set on the scope of the
+# corresponding target. Target definitions can add or remove to the settings
+# here as needed.
+
+# Holds all configs used for making native executables and libraries, to avoid
+# duplication in each target below.
+native_compiler_configs = [
+ "//build/config:my_msvs", # TODO(brettw) eraseme
+
+ "//build/config/compiler:compiler",
+ "//build/config/compiler:chromium_code",
+ "//build/config/compiler:default_warnings",
+ "//build/config/compiler:no_rtti",
+ "//build/config/compiler:runtime_library",
+]
+if (is_win) {
+ native_compiler_configs += "//build/config/win:sdk"
+} else if (is_mac) {
+ # TODO(brettw) this should be in an if (is_clang) block instead but I haven't
+ # written an is_clang flag yet.
+ native_compiler_configs += "//build/config/clang:find_bad_constructs"
+}
+
+if (is_debug) {
+ native_compiler_configs += "//build/config:debug"
+} else {
+ native_compiler_configs += "//build/config:release"
+}
+
+set_defaults("executable") {
+ configs = native_compiler_configs
+ if (is_mac) {
+ configs += "//build/config/mac:mac_dynamic_flags"
+ }
+}
+
+set_defaults("static_library") {
+ configs = native_compiler_configs
+}
+
+set_defaults("shared_library") {
+ configs = native_compiler_configs
+ if (is_mac) {
+ configs += "//build/config/mac:mac_dynamic_flags"
+ }
+}
+
+# ==============================================================================
+# TOOLCHAIN SETUP
+# ==============================================================================
+
+if (is_win) {
+ set_default_toolchain("//build/config/win:32")
+} else if (is_mac) {
+ set_default_toolchain("//build/config/mac:clang")
+}