summaryrefslogtreecommitdiff
path: root/chromium/ui/resources/BUILD.gn
blob: 1d661eb79f821a5ac38b75dc64393bdd5acce93d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")

# GYP version: ui/resources/ui_resources.gyp:ui_resources
group("resources") {
  deps = [
    ":ui_resources_grd",
    ":ui_unscaled_resources_grd",
    ":webui_resources_grd",
  ]
}

grit("ui_resources_grd") {
  source = "ui_resources.grd"
  outputs = [
    "grit/ui_resources.h",
    "grit/ui_resources_map.cc",
    "grit/ui_resources_map.h",
    "ui_resources_100_percent.pak",
    "ui_resources_200_percent.pak",
    "ui_resources_300_percent.pak",
  ]
}

grit("ui_unscaled_resources_grd") {
  source = "ui_unscaled_resources.grd"
  use_qualified_include = true
  outputs = [
    "grit/ui_unscaled_resources.h",
    "ui_unscaled_resources.rc",
  ]
}

grit("webui_resources_grd") {
  source = "../webui/resources/webui_resources.grd"
  outputs = [
    "grit/webui_resources.h",
    "grit/webui_resources_map.cc",
    "grit/webui_resources_map.h",
    "webui_resources.pak",
  ]
}

if (!is_mac) {
  copy("copy_ui_resources_100_percent") {
    sources = [ "$root_gen_dir/ui/resources/ui_resources_100_percent.pak" ]
    outputs = [ "$root_out_dir/ui_resources_100_percent.pak" ]
    deps = [ "//ui/resources" ]
  }
}

# On iOS and Mac the string resources need to go into a locale subfolder, which
# introduces an extra dependency.
#
# GYP version: ui/resources/ui_resources.gyp:ui_test_pak
#              (copy_ui_test_pak action)
if (is_ios || is_mac) {
  group("ui_test_pak") {
    deps = [ ":repack_ui_test_pak", ":repack_ui_test_mac_locale_pack" ]
  }
} else {
  group("ui_test_pak") {
    deps = [ ":repack_ui_test_pak" ]
  }
}

# GYP version: ui/resources/ui_resources.gyp:ui_test_pak
repack("repack_ui_test_pak") {
  # Depend on ui_test_pak instead of this one.
  visibility = [ ":ui_test_pak" ]

  sources = [
    "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
    "$root_gen_dir/ui/resources/webui_resources.pak",
    "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
    "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
  ]

  if (is_chromeos) {
    sources += [
      "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_100_percent.pak",
      "$root_gen_dir/ui/chromeos/strings/ui_chromeos_strings_en-US.pak",
    ]
  }

  output = "$root_out_dir/ui_test.pak"

  deps = [
    "//ui/resources",
    "//ui/strings",
  ]

  if (!is_mac) {
    deps += [ ":copy_ui_resources_100_percent" ]
  }

  if (is_chromeos) {
    deps += [
      "//ui/chromeos/resources",
      "//ui/chromeos/strings",
    ]
  }
}

# Repack just the strings for the framework locales on Mac and iOS. This
# emulates repack_locales.py, but just for en-US. Note ui_test.pak is not simply
# copied, because it causes leaks from allocations within system libraries when
# trying to load non-string resources. http://crbug.com/413034.
repack("repack_ui_test_mac_locale_pack") {
  visibility = [ ":ui_test_pak" ]

  sources = [
    "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
    "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
  ]

  output = "$root_out_dir/ui/en.lproj/locale.pak"

  deps = [
    "//ui/strings",
  ]
}