diff options
Diffstat (limited to 'build/config')
-rw-r--r-- | build/config/BUILDCONFIG.gn | 207 |
1 files changed, 96 insertions, 111 deletions
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn index d4d585a..c1146b7 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -180,10 +180,6 @@ if (is_win) { # 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 @@ -191,102 +187,91 @@ if (is_win) { # DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call # below. -windows_sources_filters = [ - "*_win.cc", - "*_win.h", - "*_win_unittest.cc", - "*\bwin/*", - "*.rc", -] -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/*", -] -chromeos_sources_filters = [ - "*_chromeos.h", - "*_chromeos.cc", - "*_chromeos_unittest.h", - "*_chromeos_unittest.cc", - "*\bchromeos/*", -] -# DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call -# below. - -# 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_posix) { + sources_assignment_filter += [ + "*_posix.h", + "*_posix.cc", + "*_posix_unittest.h", + "*_posix_unittest.cc", + "*\bposix/*", + ] +} +if (!is_win) { + sources_assignment_filter += [ + "*_win.cc", + "*_win.h", + "*_win_unittest.cc", + "*\bwin/*", + "*.rc", + ] } if (!is_mac) { - sources_assignment_filter += mac_sources_filters + sources_assignment_filter += [ + "*_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/*", + ] } if (!is_ios) { - sources_assignment_filter += ios_sources_filters + sources_assignment_filter += [ + "*_ios.h", + "*_ios.cc", + "*_ios.mm", + "*_ios_unittest.h", + "*_ios_unittest.cc", + "*_ios_unittest.mm", + "*\bios/*", + ] } if (!is_mac && !is_ios) { - sources_assignment_filter += objective_c_sources_filters + sources_assignment_filter += [ + "*.mm", + ] } if (!is_linux) { - sources_assignment_filter += linux_sources_filters + sources_assignment_filter += [ + "*_linux.h", + "*_linux.cc", + "*_linux_unittest.h", + "*_linux_unittest.cc", + "*\blinux/*", + ] } if (!is_android) { - sources_assignment_filter += android_sources_filters + sources_assignment_filter += [ + "*_android.h", + "*_android.cc", + "*_android_unittest.h", + "*_android_unittest.cc", + "*\bandroid/*", + ] } if (!is_chromeos) { - sources_assignment_filter += chromeos_sources_filters + sources_assignment_filter += [ + "*_chromeos.h", + "*_chromeos.cc", + "*_chromeos_unittest.h", + "*_chromeos_unittest.cc", + "*\bchromeos/*", + ] } +# DO NOT ADD MORE PATTERNS TO THIS LIST, see set_sources_assignment_filter call +# below. # Actually save this list. # -# DO NOT ADD MORE PATTERNS TO THIS LIST. -# # These patterns are executed for every file in the source tree of every run. # Therefore, adding more patterns slows down the build for everybody. We should # only add automatic patterns for configurations affecting hundreds of files @@ -326,7 +311,7 @@ if (!is_clang && (is_asan || is_lsan || is_tsan || is_msan)) { # Holds all configs used for making native executables and libraries, to avoid # duplication in each target below. -native_compiler_configs = [ +_native_compiler_configs = [ "//build/config:feature_flags", "//build/config/compiler:compiler", @@ -336,25 +321,25 @@ native_compiler_configs = [ "//build/config/compiler:runtime_library", ] if (is_win) { - native_compiler_configs += [ + _native_compiler_configs += [ "//build/config/win:lean_and_mean", "//build/config/win:sdk", "//build/config/win:unicode", ] } else if (is_linux) { - native_compiler_configs += [ "//build/config/linux:sdk", ] + _native_compiler_configs += [ "//build/config/linux:sdk", ] } else if (is_mac) { - native_compiler_configs += [ "//build/config/mac:sdk", ] + _native_compiler_configs += [ "//build/config/mac:sdk", ] } else if (is_ios) { - native_compiler_configs += [ "//build/config/ios:sdk", ] + _native_compiler_configs += [ "//build/config/ios:sdk", ] } else if (is_android) { - native_compiler_configs += [ "//build/config/android:sdk", ] + _native_compiler_configs += [ "//build/config/android:sdk", ] } if (!is_win) { - native_compiler_configs += [ "//build/config/gcc:symbol_visibility_hidden" ] + _native_compiler_configs += [ "//build/config/gcc:symbol_visibility_hidden" ] } if (is_clang) { - native_compiler_configs += [ + _native_compiler_configs += [ "//build/config/clang:find_bad_constructs", "//build/config/clang:extra_warnings", ] @@ -362,13 +347,13 @@ if (is_clang) { # Optimizations and debug checking. if (is_debug) { - native_compiler_configs += [ "//build/config:debug" ] - default_optimization_config = "//build/config/compiler:no_optimize" + _native_compiler_configs += [ "//build/config:debug" ] + _default_optimization_config = "//build/config/compiler:no_optimize" } else { - native_compiler_configs += [ "//build/config:release" ] - default_optimization_config = "//build/config/compiler:optimize" + _native_compiler_configs += [ "//build/config:release" ] + _default_optimization_config = "//build/config/compiler:optimize" } -native_compiler_configs += [ default_optimization_config ] +_native_compiler_configs += [ _default_optimization_config ] # Symbol setup. if (is_clang && (is_linux || is_android)) { @@ -376,29 +361,29 @@ if (is_clang && (is_linux || is_android)) { # For now, don't create debug information with clang. # See http://crbug.com/70000 # TODO(brettw) This just copies GYP. Why not do this on Mac as well? - default_symbols_config = "//build/config/compiler:no_symbols" + _default_symbols_config = "//build/config/compiler:no_symbols" } else if (symbol_level == 2) { - default_symbols_config = "//build/config/compiler:symbols" + _default_symbols_config = "//build/config/compiler:symbols" } else if (symbol_level == 1) { - default_symbols_config = "//build/config/compiler:minimal_symbols" + _default_symbols_config = "//build/config/compiler:minimal_symbols" } else if (symbol_level == 0) { - default_symbols_config = "//build/config/compiler:no_symbols" + _default_symbols_config = "//build/config/compiler:no_symbols" } else { assert(false, "Bad value for symbol_level.") } -native_compiler_configs += [ default_symbols_config ] +_native_compiler_configs += [ _default_symbols_config ] # Windows linker setup for EXEs and DLLs. if (is_win) { if (is_debug) { - default_incremental_linking_config = + _default_incremental_linking_config = "//build/config/win:incremental_linking" } else { - default_incremental_linking_config = + _default_incremental_linking_config = "//build/config/win:no_incremental_linking" } - windows_linker_configs = [ - default_incremental_linking_config, + _windows_linker_configs = [ + _default_incremental_linking_config, "//build/config/win:sdk_link", "//build/config/win:common_linker_setup", # Default to console-mode apps. Most of our targets are tests and such @@ -408,11 +393,11 @@ if (is_win) { } set_defaults("executable") { - configs = native_compiler_configs + [ + configs = _native_compiler_configs + [ "//build/config:default_libs", ] if (is_win) { - configs += windows_linker_configs + configs += _windows_linker_configs } else if (is_mac) { configs += [ "//build/config/mac:mac_dynamic_flags", @@ -423,22 +408,22 @@ set_defaults("executable") { } set_defaults("static_library") { - configs = native_compiler_configs + configs = _native_compiler_configs } set_defaults("shared_library") { - configs = native_compiler_configs + [ + configs = _native_compiler_configs + [ "//build/config:default_libs", ] if (is_win) { - configs += windows_linker_configs + configs += _windows_linker_configs } else if (is_mac) { configs += [ "//build/config/mac:mac_dynamic_flags" ] } } set_defaults("source_set") { - configs = native_compiler_configs + configs = _native_compiler_configs } # ============================================================================== |