10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# Copyright 2014 The Chromium Authors. All rights reserved.
20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# Use of this source code is governed by a BSD-style license that can be
30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch# found in the LICENSE file.
40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochimport("//tools/grit/grit_rule.gni")
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdochimport("//tools/grit/repack.gni")
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch# GYP version: ui/resources/ui_resources.gyp:ui_resources
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdochgroup("resources") {
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  deps = [
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    ":ui_resources_grd",
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    ":ui_unscaled_resources_grd",
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    ":webui_resources_grd",
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ]
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdochgrit("ui_resources_grd") {
180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  source = "ui_resources.grd"
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  outputs = [
205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/ui_resources.h",
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/ui_resources_map.cc",
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/ui_resources_map.h",
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "ui_resources_100_percent.pak",
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "ui_resources_200_percent.pak",
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  ]
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdochgrit("ui_unscaled_resources_grd") {
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  source = "ui_unscaled_resources.grd"
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  use_qualified_include = true
315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  outputs = [
325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/ui_unscaled_resources.h",
335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "ui_unscaled_resources.rc",
345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  ]
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdochgrit("webui_resources_grd") {
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  source = "../webui/resources/webui_resources.grd"
395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  outputs = [
405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/webui_resources.h",
415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/webui_resources_map.cc",
425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "grit/webui_resources_map.h",
435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    "webui_resources.pak",
445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  ]
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
47116680a4aac90f2aa7413d9095a592090648e557Ben Murdochif (!is_mac) {
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  copy("copy_ui_resources_100_percent") {
49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    sources = [ "$root_gen_dir/ui/resources/ui_resources_100_percent.pak" ]
50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    outputs = [ "$root_out_dir/ui_resources_100_percent.pak" ]
51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    deps = [ "//ui/resources" ]
52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# On iOS and Mac the string resources need to go into a locale subfolder, which
561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# introduces an extra dependency.
57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#
58116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch# GYP version: ui/resources/ui_resources.gyp:ui_test_pak
59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#              (copy_ui_test_pak action)
601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciif (is_ios || is_mac) {
611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  group("ui_test_pak") {
621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    deps = [ ":repack_ui_test_pak", ":repack_ui_test_mac_locale_pack" ]
63116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
64116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} else {
65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  group("ui_test_pak") {
66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    deps = [ ":repack_ui_test_pak" ]
67116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
70116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch# GYP version: ui/resources/ui_resources.gyp:ui_test_pak
71116680a4aac90f2aa7413d9095a592090648e557Ben Murdochrepack("repack_ui_test_pak") {
72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  # Depend on ui_test_pak instead of this one.
731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  visibility = [ ":ui_test_pak" ]
74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  sources = [
76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "$root_gen_dir/ui/resources/webui_resources.pak",
78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
79116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
80116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ]
81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  output = "$root_out_dir/ui_test.pak"
83116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
84116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  deps = [
85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "//ui/resources",
86116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    "//ui/strings",
87116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ]
88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
89116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (!is_mac) {
90116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    deps += [ ":copy_ui_resources_100_percent" ]
91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
92116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Repack just the strings for the framework locales on Mac and iOS. This
951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# emulates repack_locales.py, but just for en-US. Note ui_test.pak is not simply
961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# copied, because it causes leaks from allocations within system libraries when
971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# trying to load non-string resources. http://crbug.com/413034.
981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccirepack("repack_ui_test_mac_locale_pack") {
991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  visibility = [ ":ui_test_pak" ]
1001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  sources = [
1021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
1031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
1041320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ]
1051320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1061320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  output = "$root_out_dir/ui/en.lproj/locale.pak"
1071320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1081320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  deps = [
1091320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    "//ui/strings",
1101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ]
1111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
112