1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//tools/grit/grit_rule.gni") 6 7gypi_values = exec_script( 8 "//build/gypi_to_gn.py", 9 [ rebase_path("../chrome_common.gypi") ], 10 "scope", 11 [ "../chrome_common.gypi" ]) 12 13# GYP version: chrome/chrome_resources.gyp:chrome_resources 14# (generate_common_resources action) 15grit("resources") { 16 source = "common_resources.grd" 17 output_dir = "$root_gen_dir/chrome" 18 output_name = "common_resources" 19 outputs = [ 20 "grit/common_resources.h", 21 "common_resources.pak", 22 ] 23} 24 25# GYP version: chrome/chrome_resources.gyp:chrome_resources 26# (generate_extensions_api_resources action) 27grit("extensions_api_resources") { 28 source = "extensions_api_resources.grd" 29 output_dir = "$root_gen_dir/chrome" 30 outputs = [ 31 "grit/extensions_api_resources.h", 32 "extensions_api_resources.pak", 33 ] 34} 35 36# GYP version: chrome/chrome_common.gyp:common 37static_library("common") { 38 sources = rebase_path(gypi_values.chrome_common_sources, ".", "//chrome") 39 defines = [] 40 41 configs += [ "//build/config/compiler:wexit_time_destructors" ] 42 43 deps = [ 44 ":version", 45 "//base:base", 46 "//base:i18n", 47 "//base:prefs", 48 "//base:base_static", 49 "//chrome:resources", 50 "//chrome:strings", 51 "//chrome/app/theme:theme_resources", 52 "//chrome/common:constants", 53 "//chrome/common/net", 54 "//chrome/common/safe_browsing:proto", 55 "//chrome/installer/util", 56 "//components/cloud_devices/common", 57 "//components/content_settings/core/common", 58 "//components/json_schema", 59 "//components/metrics", 60 "//components/policy:policy_component_common", 61 "//components/translate/core/common", 62 "//components/variations", 63 "//content/public/common", 64 "//crypto", 65 "//media/cast:net", 66 "//net", 67 "//skia", 68 "//third_party/icu", 69 "//third_party/libxml", 70 "//third_party/sqlite", 71 "//third_party/zlib:zip", 72 "//ui/resources:resources", 73 "//url", 74 ] 75 76 if (is_ios) { 77 sources += [ 78 # Use this Mac file that was filtered out. 79 "chrome_version_info_mac.mm", 80 ] 81 } else { 82 # Non-iOS. 83 deps += [ 84 "//components/visitedlink/common", 85 "//components/autofill/content/common", 86 "//components/autofill/core/common", 87 "//components/password_manager/content/common", 88 "//components/password_manager/core/common", 89 "//components/signin/core/common", 90 "//components/translate/content/common", 91 "//ipc", 92 "//third_party/re2", 93 "//third_party/widevine/cdm:version_h", 94 ] 95 } 96 97 if (enable_extensions) { 98 sources += rebase_path( 99 gypi_values.chrome_common_extensions_sources, 100 ".", "//chrome") 101 deps += [ 102 "//device/bluetooth", # TODO(thestig) Still needed? Not in gyp version. 103 "//device/usb", 104 "//chrome/common/extensions/api", 105 "//extensions/common", 106 "//extensions/common/api", 107 "//extensions/strings", 108 "//extensions:extensions_resources", 109 ] 110 } 111 112 if (is_win || is_mac) { 113 sources += rebase_path( 114 gypi_values.chrome_common_win_mac_sources, 115 ".", "//chrome") 116 if (use_openssl) { 117 sources -= [ 118 "extensions/api/networking_private/networking_private_crypto_nss.cc", 119 ] 120 # networking_private_crypto_openssl.cc depends on boringssl. 121 deps += [ 122 "//third_party/boringssl", 123 ] 124 } else { 125 sources -= [ 126 "extensions/api/networking_private/networking_private_crypto_openssl.cc", 127 ] 128 } 129 deps += [ "//breakpad:client" ] 130 } 131 if (is_mac) { 132 sources += rebase_path( 133 gypi_values.chrome_common_mac_sources, 134 ".", "//chrome") 135 } 136 137 if (enable_nacl) { 138 deps += [ 139 #'<(DEPTH)/components/nacl.gyp:nacl_common', TODO(GYP) 140 ] 141 } 142 143 # Printing. 144 if (printing_mode == 0) { 145 sources -= [ 146 "print_messages.cc", 147 "print_messages.h", 148 ] 149 } else { 150 deps += [ "//printing" ] 151 if (printing_mode == 1) { 152 # Full printing support. 153 sources += rebase_path( 154 gypi_values.chrome_common_service_process_sources, 155 ".", "//chrome") 156 } 157 } 158 159 if (enable_service_discovery) { 160 sources += [ 161 "local_discovery/service_discovery_client.cc", 162 "local_discovery/service_discovery_client.h", 163 ] 164 } 165 if (enable_mdns) { 166 sources += [ 167 "local_discovery/service_discovery_client_impl.cc", 168 "local_discovery/service_discovery_client_impl.h", 169 ] 170 } 171 172 if (is_android) { 173 sources -= [ 174 "badge_util.cc", 175 "chrome_version_info_posix.cc", 176 "extensions/manifest_handlers/minimum_chrome_version_checker.cc", 177 "icon_with_badge_image_source.cc", 178 "media_galleries/metadata_types.h", 179 "spellcheck_common.cc", 180 ] 181 } else { 182 # Non-Android. 183 sources += rebase_path( 184 gypi_values.chrome_common_importer_sources, 185 ".", "//chrome") 186 } 187 188 if (is_win) { 189 deps += [ "//third_party/wtl" ] 190 } 191 192 if (enable_mdns) { 193 sources += [ "local_discovery/local_discovery_messages.h" ] 194 } 195 196 if (is_mac) { 197 sources -= [ 198 "chrome_version_info_posix.cc", 199 ] 200 deps += [ 201 "//third_party/mach_override", 202 "//third_party/google_toolbox_for_mac", 203 ] 204 } 205 206 if (enable_remoting) { 207 deps += [ "//remoting/client/plugin" ] 208 } 209 if (enable_plugins) { 210 sources += [ 211 "pepper_flash.cc", 212 "pepper_flash.h", 213 "pepper_permission_util.cc", 214 "pepper_permission_util.h", 215 ] 216 deps += [ 217 "//third_party/adobe/flash:flapper_version_h", 218 ] 219 } 220 if (!enable_webrtc) { 221 sources -= [ "media/webrtc_logging_messages.h" ] 222 } 223 if (enable_configuration_policy) { 224 deps += [ "//components/policy" ] 225 } 226 227 if (safe_browsing_mode == 1) { 228 defines += [ "FULL_SAFE_BROWSING" ] 229 sources += rebase_path( 230 gypi_values.chrome_common_full_safe_browsing_sources, 231 ".", "//chrome") 232 } 233 if (safe_browsing_mode == 2) { 234 defines += [ "MOBILE_SAFE_BROWSING" ] 235 } 236} 237 238if (is_linux || is_android) { 239 # TODO(brettw) this duplicates "//chrome/common:version" which applies to 240 # Windows. 241 import("//chrome/version.gni") 242 process_version("version") { 243 visibility = [ ":common" ] 244 source = "chrome_version_info_posix.h.version" 245 output = "$target_gen_dir/chrome_version_info_posix.h" 246 } 247} else { 248 # Other platforms have a different way to do versioning. 249 group("version") { 250 } 251} 252 253# GN version: chrome/common_constants.gyp:common_constants 254static_library("constants") { 255 sources = [ 256 "chrome_constants.cc", 257 "chrome_constants.h", 258 "chrome_icon_resources_win.cc", 259 "chrome_icon_resources_win.h", 260 "chrome_paths.cc", 261 "chrome_paths.h", 262 "chrome_paths_android.cc", 263 "chrome_paths_internal.h", 264 "chrome_paths_linux.cc", 265 "chrome_paths_mac.mm", 266 "chrome_paths_win.cc", 267 "chrome_switches.cc", 268 "chrome_switches.h", 269 "env_vars.cc", 270 "env_vars.h", 271 "net/test_server_locations.cc", 272 "net/test_server_locations.h", 273 "pref_font_script_names-inl.h", 274 "pref_font_webkit_names.h", 275 "pref_names.cc", 276 "pref_names.h", 277 "widevine_cdm_constants.cc", 278 "widevine_cdm_constants.h", 279 ] 280 281 deps = [ 282 "//base", 283 "//base/third_party/dynamic_annotations", 284 "//components/bookmarks/common", 285 "//third_party/widevine/cdm:version_h", 286 ] 287 288 if (enable_nacl) { 289 deps += [ 290 #'../components/nacl.gyp:nacl_switches', TODO(GYP) 291 ] 292 } 293} 294 295source_set("test_support") { 296 testonly = true 297 visibility = [ "//chrome/test:test_support" ] 298 299 sources = [ 300 "extensions/extension_test_util.cc", 301 "extensions/extension_test_util.h", 302 ] 303 304 deps = [ 305 ":common", 306 "//base", 307 "//testing/gtest", 308 ] 309 310 if (is_win || is_mac) { 311 sources += [ 312 "media_galleries/picasa_test_util.cc", 313 "media_galleries/picasa_test_util.h", 314 "media_galleries/pmp_test_util.cc", 315 "media_galleries/pmp_test_util.h", 316 ] 317 } 318 319} 320