Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # HOW TO WRITE CONDITIONALS IN THIS FILE | 5 # HOW TO WRITE CONDITIONALS IN THIS FILE |
| 6 # ====================================== | 6 # ====================================== |
| 7 # | 7 # |
| 8 # In many other places, one would write a conditional that expresses all the | 8 # In many other places, one would write a conditional that expresses all the |
| 9 # cases when a source file is used or unused, and then either add or subtract | 9 # cases when a source file is used or unused, and then either add or subtract |
| 10 # it from the sources list in that case | 10 # it from the sources list in that case |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 57 if (is_nacl_nonsfi) { | 57 if (is_nacl_nonsfi) { |
| 58 # Must be in a config because of how GN orders flags (otherwise -Wall will | 58 # Must be in a config because of how GN orders flags (otherwise -Wall will |
| 59 # appear after this, and turn it back on). | 59 # appear after this, and turn it back on). |
| 60 config("nacl_nonsfi_warnings") { | 60 config("nacl_nonsfi_warnings") { |
| 61 # file_util_posix.cc contains a function which is not | 61 # file_util_posix.cc contains a function which is not |
| 62 # being used by nacl_helper_nonsfi. | 62 # being used by nacl_helper_nonsfi. |
| 63 cflags = [ "-Wno-unused-function" ] | 63 cflags = [ "-Wno-unused-function" ] |
| 64 } | 64 } |
| 65 } | 65 } |
| 66 | 66 |
| 67 source_set("base_paths") { | 67 if (is_nacl) { |
| 68 sources = [ | 68 # None of the files apply to nacl, and we can't make an empty static library. |
| 69 "base_paths.cc", | 69 group("base_paths") { |
| 70 "base_paths.h", | 70 } |
| 71 "base_paths_android.cc", | 71 } else { |
| 72 "base_paths_android.h", | 72 static_library("base_paths") { |
| 73 "base_paths_mac.h", | 73 sources = [ |
| 74 "base_paths_mac.mm", | 74 "base_paths.cc", |
| 75 "base_paths_posix.cc", | 75 "base_paths.h", |
| 76 "base_paths_posix.h", | 76 "base_paths_android.cc", |
| 77 "base_paths_win.cc", | 77 "base_paths_android.h", |
| 78 "base_paths_win.h", | 78 "base_paths_mac.h", |
| 79 ] | 79 "base_paths_mac.mm", |
| 80 "base_paths_posix.cc", | |
| 81 "base_paths_posix.h", | |
| 82 "base_paths_win.cc", | |
| 83 "base_paths_win.h", | |
| 84 ] | |
| 80 | 85 |
| 81 if (is_android || is_mac || is_ios) { | 86 if (is_android || is_mac || is_ios) { |
| 82 sources -= [ "base_paths_posix.cc" ] | 87 sources -= [ "base_paths_posix.cc" ] |
| 88 } | |
| 89 | |
| 90 configs += [ ":base_implementation" ] | |
| 91 | |
| 92 visibility = [ ":base" ] | |
| 83 } | 93 } |
| 84 | |
| 85 if (is_nacl) { | |
| 86 sources -= [ | |
| 87 "base_paths.cc", | |
| 88 "base_paths_posix.cc", | |
| 89 ] | |
| 90 } | |
| 91 | |
| 92 configs += [ ":base_implementation" ] | |
| 93 | |
| 94 visibility = [ ":base" ] | |
| 95 } | 94 } |
| 96 | 95 |
| 97 config("android_system_libs") { | 96 config("android_system_libs") { |
| 98 libs = [ "log" ] # Used by logging.cc. | 97 libs = [ "log" ] # Used by logging.cc. |
| 99 } | 98 } |
| 100 | 99 |
| 101 component("base") { | 100 # Base and everything it depends on should be a static library rather than |
| 101 # a source set. Base is more of a "library" in the classic sense in that many | |
| 102 # small parts of it are used in many different contexts. This combined with a | |
| 103 # few static initializers floating around means that dead code stripping | |
| 104 # still leaves a lot of code behind that isn't always used. For example, this | |
| 105 # saves more than 40K for a smaller target like chrome_elf. | |
| 106 # | |
| 107 # Use static libraries for the helper stuff as well like //base/debug since | |
| 108 # those things refer back to base code, which will force base compilation units | |
| 109 # to be linked in where they wouldn't have otherwise. This does not include | |
| 110 # test code (test support and anything in the test directory) which should use | |
| 111 # source_set as is recommended for GN targets). | |
| 112 if (is_component_build) { | |
| 113 base_target_type = "shared_library" | |
| 114 } else { | |
| 115 # TODO(phosek) bug 570839: If field_trial.cc is in a static library, | |
| 116 # hacl_helper_nonsfi doesn't link properly on Linux in debug builds. The | |
|
Dirk Pranke
2015/12/23 03:41:58
nit: s/hacl_helper_nonsfi/nacl_helper_nonsfi
| |
| 117 # reasons for this seem to involve obscure toolchain bugs. This should be | |
| 118 # fixed and this target should always be a static_library in the | |
| 119 # non-component case. | |
| 120 if (is_nacl_nonsfi) { | |
| 121 base_target_type = "source_set" | |
| 122 } else { | |
| 123 base_target_type = "static_library" | |
| 124 } | |
| 125 } | |
| 126 target(base_target_type, "base") { | |
| 102 sources = [ | 127 sources = [ |
| 103 "allocator/allocator_extension.cc", | 128 "allocator/allocator_extension.cc", |
| 104 "allocator/allocator_extension.h", | 129 "allocator/allocator_extension.h", |
| 105 "android/animation_frame_time_histogram.cc", | 130 "android/animation_frame_time_histogram.cc", |
| 106 "android/animation_frame_time_histogram.h", | 131 "android/animation_frame_time_histogram.h", |
| 107 "android/apk_assets.cc", | 132 "android/apk_assets.cc", |
| 108 "android/apk_assets.h", | 133 "android/apk_assets.h", |
| 109 "android/application_status_listener.cc", | 134 "android/application_status_listener.cc", |
| 110 "android/application_status_listener.h", | 135 "android/application_status_listener.h", |
| 111 "android/base_jni_onload.cc", | 136 "android/base_jni_onload.cc", |
| (...skipping 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1305 | 1330 |
| 1306 buildflag_header("debugging_flags") { | 1331 buildflag_header("debugging_flags") { |
| 1307 header = "debugging_flags.h" | 1332 header = "debugging_flags.h" |
| 1308 header_dir = "base/debug" | 1333 header_dir = "base/debug" |
| 1309 flags = [ "ENABLE_PROFILING=$enable_profiling" ] | 1334 flags = [ "ENABLE_PROFILING=$enable_profiling" ] |
| 1310 } | 1335 } |
| 1311 | 1336 |
| 1312 # This is the subset of files from base that should not be used with a dynamic | 1337 # This is the subset of files from base that should not be used with a dynamic |
| 1313 # library. Note that this library cannot depend on base because base depends on | 1338 # library. Note that this library cannot depend on base because base depends on |
| 1314 # base_static. | 1339 # base_static. |
| 1315 source_set("base_static") { | 1340 static_library("base_static") { |
| 1316 sources = [ | 1341 sources = [ |
| 1317 "base_switches.cc", | 1342 "base_switches.cc", |
| 1318 "base_switches.h", | 1343 "base_switches.h", |
| 1319 "win/pe_image.cc", | 1344 "win/pe_image.cc", |
| 1320 "win/pe_image.h", | 1345 "win/pe_image.h", |
| 1321 ] | 1346 ] |
| 1322 | 1347 |
| 1323 if (!is_debug) { | 1348 if (!is_debug) { |
| 1324 configs -= [ "//build/config/compiler:default_optimization" ] | 1349 configs -= [ "//build/config/compiler:default_optimization" ] |
| 1325 configs += [ "//build/config/compiler:optimize_max" ] | 1350 configs += [ "//build/config/compiler:optimize_max" ] |
| (...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2122 | 2147 |
| 2123 # GYP: //base.gyp:base_java_unittest_support | 2148 # GYP: //base.gyp:base_java_unittest_support |
| 2124 android_library("base_java_unittest_support") { | 2149 android_library("base_java_unittest_support") { |
| 2125 deps = [ | 2150 deps = [ |
| 2126 ":base_java", | 2151 ":base_java", |
| 2127 ] | 2152 ] |
| 2128 java_files = | 2153 java_files = |
| 2129 [ "test/android/java/src/org/chromium/base/ContentUriTestUtils.java" ] | 2154 [ "test/android/java/src/org/chromium/base/ContentUriTestUtils.java" ] |
| 2130 } | 2155 } |
| 2131 } | 2156 } |
| OLD | NEW |