OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
6 import("//build/config/features.gni") | 6 import("//build/config/features.gni") |
7 import("//build/config/locales.gni") | 7 import("//build/config/locales.gni") |
8 import("//build/config/ui.gni") | 8 import("//build/config/ui.gni") |
9 import("//build/config/win/manifest.gni") | 9 import("//build/config/win/manifest.gni") |
10 import("//chrome/chrome_repack_locales.gni") | 10 import("//chrome/chrome_repack_locales.gni") |
11 import("//chrome/version.gni") | 11 import("//chrome/version.gni") |
12 | 12 |
13 if (is_android) { | 13 if (is_android) { |
14 import("//build/config/android/rules.gni") | 14 import("//build/config/android/rules.gni") |
15 } | 15 } |
16 | 16 |
17 if (!is_android) { | 17 if (!is_android) { |
18 # TODO(GYP) bug 512599: for Windows need to the the reorder-imports step | 18 # TODO(GYP) bug 512599: for Windows need to the the reorder-imports step |
19 # which probably means adding another target and renaming this to | 19 # which probably means adding another target and renaming this to |
20 # chrome_initial like in GYP. | 20 # chrome_initial like in GYP. |
21 executable("chrome") { | 21 executable("chrome") { |
22 # Because the sources list varies so significantly per-platform, generally | 22 # Because the sources list varies so significantly per-platform, generally |
23 # each platform lists its own files rather than relying on filtering or | 23 # each platform lists its own files rather than relying on filtering or |
24 # removing unused files. | 24 # removing unused files. |
25 sources = [ | 25 sources = [ |
26 "app/chrome_exe_resource.h", | 26 "app/chrome_exe_resource.h", |
27 ] | 27 ] |
28 defines = [] | 28 defines = [] |
| 29 public_deps = [] |
29 deps = [] | 30 deps = [] |
30 data_deps = [] | 31 data_deps = [] |
31 | 32 |
32 # TODO(GYP) mac_bundle_resources, xcode_settings | 33 # TODO(GYP) mac_bundle_resources, xcode_settings |
33 | 34 |
34 if (is_win) { | 35 if (is_win) { |
35 sources += [ | 36 sources += [ |
36 "//content/public/common/content_switches.cc", | 37 "//content/public/common/content_switches.cc", |
37 "//content/public/common/content_switches.h", | 38 "//content/public/common/content_switches.h", |
38 "app/chrome_crash_reporter_client.cc", | 39 "app/chrome_crash_reporter_client.cc", |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 # Chromium functionality directly into the executable. | 112 # Chromium functionality directly into the executable. |
112 ":browser_dependencies", | 113 ":browser_dependencies", |
113 ":child_dependencies", | 114 ":child_dependencies", |
114 ":manpage", | 115 ":manpage", |
115 "//base/allocator", | 116 "//base/allocator", |
116 | 117 |
117 # Needed to use the master_preferences functions | 118 # Needed to use the master_preferences functions |
118 "//chrome/installer/util", | 119 "//chrome/installer/util", |
119 "//content/public/app:both", | 120 "//content/public/app:both", |
120 ] | 121 ] |
| 122 public_deps = [ |
| 123 ":xdg_mime", # Needs to be public for installer to consume files. |
| 124 ] |
121 | 125 |
122 # Needed for chrome_main.cc initialization of libraries. | 126 # Needed for chrome_main.cc initialization of libraries. |
123 configs += [ "//build/config/linux:pangocairo" ] | 127 configs += [ "//build/config/linux:pangocairo" ] |
124 | 128 |
125 # GYP has this in a 'profiling==0 and linux_disable_pie==0' condition. | 129 # GYP has this in a 'profiling==0 and linux_disable_pie==0' condition. |
126 # but GN doesn't have either of these flags. | 130 # but GN doesn't have either of these flags. |
127 ldflags = [ "-pie" ] | 131 ldflags = [ "-pie" ] |
128 | 132 |
129 if (use_x11) { | 133 if (use_x11) { |
130 configs += [ | 134 configs += [ |
131 "//build/config/linux:x11", | 135 "//build/config/linux:x11", |
132 "//build/config/linux:xext", | 136 "//build/config/linux:xext", |
133 ] | 137 ] |
134 } | 138 } |
135 } | 139 } |
136 | 140 |
137 if (is_mac) { | 141 if (is_mac) { |
138 sources += [ "app/chrome_exe_main_mac.cc" ] | 142 sources += [ "app/chrome_exe_main_mac.cc" ] |
139 # TODO(GYP) lots more stuff in the is_mac block. | 143 # TODO(GYP) lots more stuff in the is_mac block. |
140 } else { # Non-Mac. | 144 } else { # Non-Mac. |
141 # These files are used by the installer so we need a public dep. | 145 # These files are used by the installer so we need a public dep. |
142 public_deps = [ | 146 public_deps += [ |
143 ":packed_extra_resources", | 147 ":packed_extra_resources", |
144 ":packed_resources", | 148 ":packed_resources", |
145 ] | 149 ] |
146 deps += [ | 150 deps += [ |
147 "//components/startup_metric_utils", | 151 "//components/startup_metric_utils", |
148 | 152 |
149 # Precompiled plugins that need to get copied to the output directory. | 153 # Precompiled plugins that need to get copied to the output directory. |
150 # On Mac, internal plugins go inside the framework, so these | 154 # On Mac, internal plugins go inside the framework, so these |
151 # dependencies are on chrome.dll. | 155 # dependencies are on chrome.dll. |
152 "//third_party/adobe/flash:flapper_binaries", | 156 "//third_party/adobe/flash:flapper_binaries", |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 # This one just uses the custom template and no separate sources. | 360 # This one just uses the custom template and no separate sources. |
357 sources = [] | 361 sources = [] |
358 template_file = "version.h.in" | 362 template_file = "version.h.in" |
359 | 363 |
360 # TODO(brettw) this should move to $target_gen_dir/version.h and | 364 # TODO(brettw) this should move to $target_gen_dir/version.h and |
361 # source files including it should reference it via "chrome/version.h" | 365 # source files including it should reference it via "chrome/version.h" |
362 output = "$root_gen_dir/version.h" | 366 output = "$root_gen_dir/version.h" |
363 } | 367 } |
364 | 368 |
365 process_version("chrome_exe_version") { | 369 process_version("chrome_exe_version") { |
| 370 template_file = chrome_version_rc_template |
366 sources = [ | 371 sources = [ |
367 "app/chrome_exe.ver", | 372 "app/chrome_exe.ver", |
368 ] | 373 ] |
369 output = "$target_gen_dir/chrome_exe_version.rc" | 374 output = "$target_gen_dir/chrome_exe_version.rc" |
370 } | 375 } |
371 | 376 |
372 process_version("chrome_dll_version") { | 377 process_version("chrome_dll_version") { |
| 378 template_file = chrome_version_rc_template |
373 sources = [ | 379 sources = [ |
374 "app/chrome_dll.ver", | 380 "app/chrome_dll.ver", |
375 ] | 381 ] |
376 output = "$target_gen_dir/chrome_dll_version.rc" | 382 output = "$target_gen_dir/chrome_dll_version.rc" |
377 } | 383 } |
378 | 384 |
379 # This manifest matches what GYP produces. It may not even be necessary. | 385 # This manifest matches what GYP produces. It may not even be necessary. |
380 windows_manifest("chrome_dll_manifest") { | 386 windows_manifest("chrome_dll_manifest") { |
381 sources = [ | 387 sources = [ |
382 as_invoker_manifest, | 388 as_invoker_manifest, |
383 common_controls_manifest, | 389 common_controls_manifest, |
384 ] | 390 ] |
385 type = "dll" | 391 type = "dll" |
386 } | 392 } |
387 | 393 |
388 process_version("nacl64_exe_version") { | 394 process_version("nacl64_exe_version") { |
| 395 template_file = chrome_version_rc_template |
389 sources = [ | 396 sources = [ |
390 "app/nacl64_exe.ver", | 397 "app/nacl64_exe.ver", |
391 ] | 398 ] |
392 output = "$target_gen_dir/nacl64_exe_version.rc" | 399 output = "$target_gen_dir/nacl64_exe_version.rc" |
393 } | 400 } |
394 | 401 |
395 process_version("other_version") { | 402 process_version("other_version") { |
| 403 template_file = chrome_version_rc_template |
396 sources = [ | 404 sources = [ |
397 "app/other.ver", | 405 "app/other.ver", |
398 ] | 406 ] |
399 output = "$target_gen_dir/other_version.rc" | 407 output = "$target_gen_dir/other_version.rc" |
400 } | 408 } |
401 | 409 |
402 source_set("image_pre_reader") { | 410 source_set("image_pre_reader") { |
403 sources = [ | 411 sources = [ |
404 "app/image_pre_reader_win.cc", | 412 "app/image_pre_reader_win.cc", |
405 "app/image_pre_reader_win.h", | 413 "app/image_pre_reader_win.h", |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 "browser/resources/default_apps/docs.crx", | 472 "browser/resources/default_apps/docs.crx", |
465 "browser/resources/default_apps/drive.crx", | 473 "browser/resources/default_apps/drive.crx", |
466 "browser/resources/default_apps/external_extensions.json", | 474 "browser/resources/default_apps/external_extensions.json", |
467 "browser/resources/default_apps/gmail.crx", | 475 "browser/resources/default_apps/gmail.crx", |
468 "browser/resources/default_apps/search.crx", | 476 "browser/resources/default_apps/search.crx", |
469 "browser/resources/default_apps/youtube.crx", | 477 "browser/resources/default_apps/youtube.crx", |
470 ] | 478 ] |
471 outputs = [ | 479 outputs = [ |
472 "$root_out_dir/default_apps/{{source_file_part}}", | 480 "$root_out_dir/default_apps/{{source_file_part}}", |
473 ] | 481 ] |
| 482 |
| 483 # Force anybody that depends on this to get the default apps as data files. |
| 484 data = process_file_template(sources, outputs) |
474 } | 485 } |
475 } | 486 } |
476 | 487 |
477 group("packed_resources") { | 488 group("packed_resources") { |
478 deps = [ | 489 public_deps = [ |
479 ":repack_locales_pack", | 490 ":repack_locales_pack", |
480 ":repack_pseudo_locales_pack", | 491 ":repack_pseudo_locales_pack", |
481 ":repack_chrome_100_percent", | 492 ":repack_chrome_100_percent", |
482 ] | 493 ] |
483 | 494 |
484 if (is_chrome_branded) { | 495 if (is_chrome_branded) { |
485 deps += [ ":default_apps" ] | 496 public_deps += [ ":default_apps" ] |
486 } | 497 } |
487 | 498 |
488 if (enable_hidpi) { | 499 if (enable_hidpi) { |
489 deps += [ ":repack_chrome_200_percent" ] | 500 public_deps += [ ":repack_chrome_200_percent" ] |
490 } | 501 } |
491 | 502 |
492 if (enable_topchrome_md) { | 503 if (enable_topchrome_md) { |
493 deps += [ ":repack_chrome_material_100_percent" ] | 504 public_deps += [ ":repack_chrome_material_100_percent" ] |
494 | 505 |
495 if (enable_hidpi) { | 506 if (enable_hidpi) { |
496 deps += [ ":repack_chrome_material_200_percent" ] | 507 public_deps += [ ":repack_chrome_material_200_percent" ] |
497 } | 508 } |
498 } | 509 } |
499 } | 510 } |
500 | 511 |
501 repack("packed_extra_resources") { | 512 repack("packed_extra_resources") { |
502 visibility = [ "./*" ] | 513 visibility = [ "./*" ] |
503 sources = [ | 514 sources = [ |
504 "$root_gen_dir/chrome/browser_resources.pak", | 515 "$root_gen_dir/chrome/browser_resources.pak", |
505 "$root_gen_dir/chrome/chrome_unscaled_resources.pak", | 516 "$root_gen_dir/chrome/chrome_unscaled_resources.pak", |
506 "$root_gen_dir/chrome/common_resources.pak", | 517 "$root_gen_dir/chrome/common_resources.pak", |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 "0", # TODO(GYP) This is linux_strip_binary if it is needed. | 928 "0", # TODO(GYP) This is linux_strip_binary if it is needed. |
918 rebase_path(chrome_binary, root_build_dir), | 929 rebase_path(chrome_binary, root_build_dir), |
919 rebase_path(symbol_file, root_build_dir), | 930 rebase_path(symbol_file, root_build_dir), |
920 ] | 931 ] |
921 | 932 |
922 deps = [ | 933 deps = [ |
923 ":chrome", | 934 ":chrome", |
924 dump_syms_label, | 935 dump_syms_label, |
925 ] | 936 ] |
926 } | 937 } |
| 938 |
| 939 # Copies some scripts and resources that are used for desktop integration. |
| 940 copy("xdg_mime") { |
| 941 sources = [ |
| 942 "//chrome/app/theme/$branding_path_component/product_logo_48.png", |
| 943 "//chrome/tools/build/linux/chrome-wrapper", |
| 944 "//third_party/xdg-utils/scripts/xdg-mime", |
| 945 "//third_party/xdg-utils/scripts/xdg-settings", |
| 946 ] |
| 947 outputs = [ |
| 948 "$root_out_dir/{{source_file_part}}", |
| 949 ] |
| 950 } |
927 } | 951 } |
OLD | NEW |