diff options
Diffstat (limited to 'chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn')
-rw-r--r-- | chromium/tools/gn/secondary/build/config/BUILDCONFIG.gn | 412 |
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")
+}
|