OLD | NEW |
(Empty) | |
| 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 |
| 5 import("//build/config/crypto.gni") |
| 6 import("//build/config/features.gni") |
| 7 import("//build/config/ui.gni") |
| 8 |
| 9 gypi_values = exec_script( |
| 10 "//build/gypi_to_gn.py", |
| 11 [ rebase_path("../../chrome_browser_ui.gypi") ], |
| 12 "scope", |
| 13 [ "../../chrome_browser_ui.gypi" ]) |
| 14 |
| 15 static_library("ui") { |
| 16 output_name = "browser_ui" |
| 17 |
| 18 sources = [] |
| 19 defines = [] |
| 20 libs = [] |
| 21 forward_dependent_configs_from = [] |
| 22 |
| 23 configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| 24 |
| 25 # Since browser and browser_ui actually depend on each other, |
| 26 # we must omit the dependency from browser_ui to browser. |
| 27 # However, this means browser_ui and browser should more or less |
| 28 # have the same dependencies. Once browser_ui is untangled from |
| 29 # browser, then we can clean up these dependencies. |
| 30 deps = [ |
| 31 # NOTE: New dependencies should generally be added in the OS!="ios" |
| 32 # dependencies block below, rather than here. |
| 33 "//base/allocator", |
| 34 "//chrome:extra_resources", |
| 35 "//chrome:resources", |
| 36 "//chrome:strings", |
| 37 "//chrome/app/resources:platform_locale_settings", |
| 38 "//chrome/app/theme:theme_resources", |
| 39 "//chrome/browser/history:in_memory_url_index_cache_proto", |
| 40 "//chrome/browser/net:cert_logger_proto", |
| 41 "//chrome/common", |
| 42 "//chrome/common/net", |
| 43 "//components/dom_distiller/core", |
| 44 "//components/dom_distiller/webui", |
| 45 "//components/feedback/proto", |
| 46 "//components/resources", |
| 47 "//components/strings", |
| 48 "//content/public/browser", |
| 49 "//content/public/common", |
| 50 "//crypto", |
| 51 "//skia", |
| 52 "//sync", |
| 53 "//third_party/cacheinvalidation", |
| 54 "//third_party/icu", |
| 55 "//third_party/libusb", |
| 56 "//third_party/libxml", |
| 57 "//third_party/zlib", |
| 58 "//ui/accessibility", |
| 59 "//ui/base", |
| 60 "//ui/events", |
| 61 "//ui/gfx", |
| 62 "//ui/gfx/geometry", |
| 63 "//ui/native_theme", |
| 64 "//ui/resources", |
| 65 "//ui/snapshot", |
| 66 "//ui/strings", |
| 67 #'chrome_browser_ui_views.gyp:browser_ui_views', TODO(GYP) |
| 68 #'../components/components.gyp:auto_login_parser', TODO(GYP) |
| 69 #'../components/components.gyp:invalidation', TODO(GYP) |
| 70 #'../components/components.gyp:omaha_query_params', TODO(GYP) |
| 71 #'../components/components.gyp:onc_component', TODO(GYP) |
| 72 #'../components/components.gyp:password_manager_core_browser', TODO(GYP) |
| 73 #'../ui/message_center/message_center.gyp:message_center', TODO(GYP) |
| 74 ] |
| 75 |
| 76 forward_dependent_configs_from = [ |
| 77 "//components/dom_distiller/core", |
| 78 "//sync", |
| 79 ] |
| 80 |
| 81 if (!is_ios) { |
| 82 sources += rebase_path(gypi_values.chrome_browser_ui_non_ios_sources, |
| 83 ".", "//chrome") |
| 84 deps += [ |
| 85 "//chrome/browser/performance_monitor", |
| 86 "//chrome/browser/ui/webui/omnibox:mojo_bindings", |
| 87 "//chrome/common/extensions/api:api", |
| 88 "//components/autofill/content/browser:risk_proto", |
| 89 "//mojo/system", |
| 90 "//net:net_with_v8", |
| 91 "//third_party/adobe/flash:flapper_version_h", |
| 92 "//third_party/expat", |
| 93 "//third_party/hunspell", |
| 94 "//third_party/leveldatabase", |
| 95 "//third_party/npapi", |
| 96 "//third_party/re2", |
| 97 "//ui/compositor", |
| 98 "//ui/surface", |
| 99 "//v8", |
| 100 "//webkit:resources", |
| 101 "//webkit/browser:storage", |
| 102 "//webkit/common", |
| 103 "//webkit/common:storage", |
| 104 #'browser_extensions', TODO(GYP) |
| 105 #'debugger', TODO(GYP) |
| 106 #'installer_util', TODO(GYP) |
| 107 #'../device/bluetooth/bluetooth.gyp:device_bluetooth', TODO(GYP) |
| 108 #'../device/nfc/nfc.gyp:device_nfc', TODO(GYP) |
| 109 #'../media/media.gyp:media', TODO(GYP) |
| 110 #'../third_party/libjingle/libjingle.gyp:libjingle', TODO(GYP) |
| 111 #'../ui/web_dialogs/web_dialogs.gyp:web_dialogs', TODO(GYP) |
| 112 ] |
| 113 # TODO(GYP) |
| 114 #'defines': [ |
| 115 # '<@(nacl_defines)', |
| 116 #], |
| 117 #'direct_dependent_settings': { |
| 118 # 'defines': [ |
| 119 # '<@(nacl_defines)', |
| 120 # ], |
| 121 # }, |
| 122 } else { |
| 123 # iOS. |
| 124 sources += rebase_path(gypi_values.chrome_browser_ui_ios_sources, |
| 125 ".", "//chrome") |
| 126 deps += [ "//net" ] |
| 127 } |
| 128 |
| 129 if (enable_printing != 0) { |
| 130 deps += [ "//printing" ] |
| 131 } |
| 132 |
| 133 if (enable_one_click_signin) { |
| 134 sources += rebase_path( |
| 135 gypi_values.chrome_browser_ui_one_click_signin_sources, |
| 136 ".", "//chrome") |
| 137 } |
| 138 if (enable_task_manager) { |
| 139 sources += rebase_path(gypi_values.chrome_browser_ui_task_manager_sources, |
| 140 ".", "//chrome") |
| 141 if (!toolkit_views) { |
| 142 sources -= [ "views/task_manager_view.cc" ] |
| 143 } |
| 144 } |
| 145 if (!enable_nacl) { |
| 146 sources += rebase_path(gypi_values.chrome_browser_ui_nacl_sources, |
| 147 ".", "//chrome") |
| 148 deps += [ |
| 149 #"//native_client/src/trusted/service_runtime/service_runtime.gyp:sel", T
ODO(GYP) |
| 150 ] |
| 151 } |
| 152 if (debug_devtools) { |
| 153 defines += [ "DEBUG_DEVTOOLS=1" ] |
| 154 } |
| 155 if (enable_configuration_policy) { |
| 156 sources += rebase_path(gypi_values.chrome_browser_ui_policy_sources, |
| 157 ".", "//chrome") |
| 158 deps += [ "//components/policy" ] |
| 159 } |
| 160 if (enable_plugins) { |
| 161 sources += rebase_path(gypi_values.chrome_browser_ui_plugin_sources, |
| 162 ".", "//chrome") |
| 163 deps += [ "//ppapi:ppapi_ipc" ] |
| 164 } |
| 165 if (safe_browsing_mode == 1) { |
| 166 defines += [ "FULL_SAFE_BROWSING" ] |
| 167 deps += [ |
| 168 "//chrome/browser/safe_browsing:chunk_proto", |
| 169 "//chrome/common/safe_browsing:proto", |
| 170 "//chrome/browser/safe_browsing:report_proto", |
| 171 ] |
| 172 } |
| 173 if (is_chromeos) { |
| 174 sources += rebase_path(gypi_values.chrome_browser_ui_chromeos_sources, |
| 175 ".", "//chrome") |
| 176 deps += [ |
| 177 #"browser_chromeos", TODO(GYP) |
| 178 ] |
| 179 } else { |
| 180 sources += rebase_path(gypi_values.chrome_browser_ui_non_chromeos_sources, |
| 181 ".", "//chrome") |
| 182 } |
| 183 if (use_cups) { |
| 184 configs += [ "//printing:cups" ] |
| 185 } |
| 186 if (use_ash) { |
| 187 sources += rebase_path(gypi_values.chrome_browser_ui_ash_sources, |
| 188 ".", "//chrome") |
| 189 deps += [ |
| 190 "//ash", |
| 191 #"../ash/ash.gyp:ash_with_content", TODO(GYP) |
| 192 #"../ash/ash_strings.gyp:ash_strings", TODO(GYP) |
| 193 ] |
| 194 if (!is_chromeos) { |
| 195 sources += rebase_path(gypi_values.chrome_browser_ui_ash_non_chromeos, |
| 196 ".", "//chrome") |
| 197 } |
| 198 } else { # Not ash. |
| 199 sources += rebase_path(gypi_values.chrome_browser_ui_non_ash_sources, |
| 200 ".", "//chrome") |
| 201 } |
| 202 if (toolkit_views) { |
| 203 sources += rebase_path(gypi_values.chrome_browser_ui_views_sources, |
| 204 ".", "//chrome") |
| 205 if (!is_chromeos) { |
| 206 sources += rebase_path( |
| 207 gypi_values.chrome_browser_ui_views_non_chromeos_sources, |
| 208 ".", "//chrome") |
| 209 } |
| 210 if (use_ash) { |
| 211 sources += rebase_path(gypi_values.chrome_browser_ui_ash_views_sources, |
| 212 ".", "//chrome") |
| 213 } |
| 214 } |
| 215 if (use_aura && !use_ozone && is_desktop_linux) { |
| 216 deps += [ |
| 217 # gtk2 is the only component that can interact with gtk2 in our new |
| 218 # world. |
| 219 #'browser/ui/libgtk2ui/libgtk2ui.gyp:gtk2ui', TODO(GYP) |
| 220 "//build/config/linux:gio", |
| 221 ] |
| 222 } |
| 223 if (is_win || is_mac || is_desktop_linux) { |
| 224 sources += rebase_path(gypi_values.chrome_browser_ui_desktop_sources, |
| 225 ".", "//chrome") |
| 226 } |
| 227 if (is_chromeos || is_android) { |
| 228 sources += rebase_path( |
| 229 gypi_values.chrome_browser_ui_android_chromeos_sources, |
| 230 ".", "//chrome") |
| 231 } |
| 232 if (use_aura) { |
| 233 sources += rebase_path(gypi_values.chrome_browser_ui_aura_sources, |
| 234 ".", "//chrome") |
| 235 deps += [ |
| 236 # aura uses some of ash resources. |
| 237 #'../ash/ash_resources.gyp:ash_resources', TODO(GYP) |
| 238 "//ui/aura", |
| 239 "//ui/keyboard", |
| 240 "//ui/keyboard:resources", |
| 241 "//ui/wm", |
| 242 ] |
| 243 if (!is_chromeos) { |
| 244 sources += rebase_path(gypi_values.chrome_browser_ui_aura_non_chromeos, |
| 245 ".", "//chrome") |
| 246 } |
| 247 } else { # Non-Aura. |
| 248 sources += rebase_path(gypi_values.chrome_browser_ui_non_aura_sources, |
| 249 ".", "//chrome") |
| 250 } |
| 251 if (ui_compositor_image_transport) { |
| 252 deps += [ "//ui/gl" ] |
| 253 } |
| 254 if (use_nss_certs) { |
| 255 sources += rebase_path(gypi_values.chrome_browser_ui_nss_sources, |
| 256 ".", "//chrome") |
| 257 } |
| 258 if (!enable_themes) { |
| 259 sources -= [ "webui/theme_source.cc" ] |
| 260 } |
| 261 if (enable_printing == 1) { |
| 262 sources += rebase_path(gypi_values.chrome_browser_ui_print_preview_sources, |
| 263 ".", "//chrome") |
| 264 } |
| 265 if (is_linux || is_android) { |
| 266 sources += rebase_path(gypi_values.chrome_browser_ui_android_linux_sources, |
| 267 ".", "//chrome") |
| 268 } |
| 269 |
| 270 if (is_android) { |
| 271 deps += [ |
| 272 "//crypto:platform", |
| 273 #'../components/components.gyp:web_conten TODO(GYP)ts_delegate_android', |
| 274 #'chrome_browser_jni_headers', TODO(GYP) |
| 275 ] |
| 276 deps -= [ |
| 277 "//components/feedback/proto", |
| 278 "//third_party/libusb", |
| 279 "//ui/events", |
| 280 #'chrome_browser_ui_views.gyp:browser_ui_views', TODO(GYP) |
| 281 ] |
| 282 sources += rebase_path(gypi_values.chrome_browser_ui_android_sources, |
| 283 ".", "//chrome") |
| 284 } else { # Non-Android. |
| 285 sources += rebase_path(gypi_values.chrome_browser_ui_non_android_sources, |
| 286 ".", "//chrome") |
| 287 } |
| 288 |
| 289 if (is_mac) { |
| 290 sources += rebase_path(gypi_values.chrome_browser_ui_mac_sources, |
| 291 ".", "//chrome") |
| 292 sources -= [ |
| 293 # Mac has its own way of drawing tabs. |
| 294 "tabs/tab_resources.cc", |
| 295 "tabs/tab_resources.h", |
| 296 "views/extensions/extension_view_views.cc", |
| 297 "views/extensions/extension_view_views.h", |
| 298 ] |
| 299 deps += [ |
| 300 #'../third_party/apple_sample_code/apple_sample_code.gyp:apple_sample_code
', TODO(GYP) |
| 301 #'../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_
toolbox_for_mac', TODO(GYP) |
| 302 #'../third_party/molokocacao/molokocacao.gyp:molokocacao', TODO(GYP) |
| 303 #'../third_party/mozilla/mozilla.gyp:mozilla', TODO(GYP) |
| 304 ] |
| 305 libs += [ "Quartz.framework" ] |
| 306 # TODO(GYP) |
| 307 #'actions': [ |
| 308 # { |
| 309 # # This action is used to extract the localization data from xib |
| 310 # # files and generate table for the ui localizer from it. |
| 311 # 'variables': { |
| 312 # 'xib_localizer_tool_path': |
| 313 # 'tools/build/mac/generate_localizer', |
| 314 # }, |
| 315 # 'includes': [ |
| 316 # 'chrome_nibs.gypi', |
| 317 # ], |
| 318 # 'action_name': 'Process xibs for localization', |
| 319 # 'inputs': [ |
| 320 # '<(xib_localizer_tool_path)', |
| 321 # '<@(mac_translated_xibs)', |
| 322 # ], |
| 323 # 'outputs': [ |
| 324 # '<(INTERMEDIATE_DIR)/ui_localizer_table.h', |
| 325 # ], |
| 326 # 'action': ['<(xib_localizer_tool_path)', |
| 327 # '<@(_outputs)', |
| 328 # '<@(mac_translated_xibs)'], |
| 329 # }, |
| 330 #] |
| 331 } else { # non-Mac. |
| 332 sources += rebase_path(gypi_values.chrome_browser_ui_non_mac_sources, |
| 333 ".", "//chrome") |
| 334 } |
| 335 |
| 336 if (is_win) { |
| 337 sources += rebase_path(gypi_values.chrome_browser_ui_win_sources, |
| 338 ".", "//chrome") |
| 339 deps += [ |
| 340 "//third_party/wtl", |
| 341 "//third_party/iaccessible2", |
| 342 "//third_party/isimpledom", |
| 343 #'installer_util_strings', TODO(GYP) |
| 344 #'launcher_support', TODO(GYP) |
| 345 #'metro_utils', TODO(GYP) |
| 346 #'../google_update/google_update.gyp:google_update', TODO(GYP) |
| 347 #'../ui/app_list/app_list.gyp:app_list', TODO(GYP) |
| 348 #'../ui/views/controls/webview/webview.gyp:webview', TODO(GYP) |
| 349 #'../ui/views/views.gyp:views', TODO(GYP) |
| 350 ] |
| 351 forward_dependent_configs_from += [ |
| 352 #'../ui/views/controls/webview/webview.gyp:webview', TODO(GYP) |
| 353 #'../ui/views/views.gyp:views', TODO(GYP) |
| 354 ] |
| 355 } else { # 'OS!="win" |
| 356 if (use_aura) { |
| 357 deps += [ |
| 358 #'../ui/views/controls/webview/webview.gyp:webview', TODO(GYP) |
| 359 #'../ui/views/views.gyp:views', TODO(GYP) |
| 360 ] |
| 361 } |
| 362 } |
| 363 if (is_desktop_linux) { |
| 364 sources += rebase_path(gypi_values.chrome_browser_desktop_linux_sources, |
| 365 ".", "//chrome") |
| 366 } |
| 367 if (is_linux) { # Both desktop Linux and ChromeOS. |
| 368 sources += rebase_path(gypi_values.chrome_browser_ui_linux_sources, |
| 369 ".", "//chrome") |
| 370 configs += [ "//build/config/linux:udev" ] |
| 371 if (use_aura) { |
| 372 configs += [ "//build/config/linux:fontconfig" ] |
| 373 deps += [ "//dbus" ] |
| 374 } |
| 375 if (use_x11) { |
| 376 sources += rebase_path(gypi_values.chrome_browser_ui_x11_sources, |
| 377 ".", "//chrome") |
| 378 configs += [ "//build/config/linux:x11" ] |
| 379 } |
| 380 } |
| 381 |
| 382 if (enable_app_list) { |
| 383 sources += rebase_path(gypi_values.chrome_browser_ui_app_list_sources, |
| 384 ".", "//chrome") |
| 385 #deps += [ '../ui/app_list/app_list.gyp:app_list' ] TODO(GYP) |
| 386 } else { |
| 387 sources += rebase_path(gypi_values.chrome_browser_ui_non_app_list_sources, |
| 388 ".", "//chrome") |
| 389 } |
| 390 if (enable_autofill_dialog) { |
| 391 sources += rebase_path( |
| 392 gypi_values.chrome_browser_ui_autofill_dialog_sources, |
| 393 ".", "//chrome") |
| 394 if (!is_android && !is_ios) { |
| 395 sources += rebase_path( |
| 396 gypi_values.chrome_browser_ui_autofill_dialog_non_mobile_sources, |
| 397 ".", "//chrome") |
| 398 deps += [ |
| 399 "//third_party/libaddressinput", |
| 400 "//third_party/libaddressinput:strings", |
| 401 ] |
| 402 } |
| 403 } |
| 404 if (enable_google_now && !is_android) { |
| 405 sources += rebase_path( |
| 406 gypi_values.chrome_browser_ui_google_now_non_android_sources, |
| 407 ".", "//chrome") |
| 408 } |
| 409 if (enable_webrtc) { |
| 410 sources += rebase_path(gypi_values.chrome_browser_ui_webrtc_sources, |
| 411 ".", "//chrome") |
| 412 } |
| 413 if (enable_service_discovery) { |
| 414 sources += rebase_path( |
| 415 gypi_values.chrome_browser_ui_service_discovery_sources, |
| 416 ".", "//chrome") |
| 417 } |
| 418 if (enable_spellcheck) { |
| 419 deps += [ "//third_party/hunspell" ] |
| 420 } |
| 421 } |
OLD | NEW |