Instrumented libraries: overhaul RPATH handling.
[chromium-blink-merge.git] / remoting / resources / BUILD.gn
blob4caecf9ff516210bdb2ec3dd6b3ab9440d0b984d
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.
5 import("//tools/grit/grit_rule.gni")
7 # See also remoting_locales_with_underscores below.
8 remoting_locales = [
9   "am",
10   "ar",
11   "bg",
12   "bn",
13   "ca",
14   "cs",
15   "da",
16   "de",
17   "el",
18   "en",
19   "en-GB",
20   "es",
21   "es-419",
22   "et",
23   "fa",
24   "fake-bidi",
25   "fi",
26   "fil",
27   "fr",
28   "gu",
29   "he",
30   "hi",
31   "hr",
32   "hu",
33   "id",
34   "it",
35   "ja",
36   "kn",
37   "ko",
38   "lt",
39   "lv",
40   "ml",
41   "mr",
42   "ms",
43   "nb",
44   "nl",
45   "pl",
46   "pt-BR",
47   "pt-PT",
48   "ro",
49   "ru",
50   "sk",
51   "sl",
52   "sr",
53   "sv",
54   "sw",
55   "ta",
56   "te",
57   "th",
58   "tr",
59   "uk",
60   "vi",
61   "zh-CN",
62   "zh-TW",
65 # Some locales have hyphens in the names but for some uses underscores are
66 # needed.
67 remoting_locales_with_underscores = remoting_locales
68 remoting_locales_with_underscores -= [
69   "en-GB",
70   "es-419",
71   "fake-bidi",
72   "pt-BR",
73   "pt-PT",
74   "zh-CN",
75   "zh-TW",
77 remoting_locales_with_underscores += [
78   "en_GB",
79   "es_419",
80   "fake_bidi",
81   "pt_BR",
82   "pt_PT",
83   "zh_CN",
84   "zh_TW",
87 if (is_chromeos) {
88   remoting_locales += ["en-US"]
89   remoting_locales_with_underscores += ["en_US"]
92 group("resources") {
93   deps = [
94     ":copy_locales",
95     ":strings",
96     #":verify_resources",  TODO(GYP) enable this.
97   ]
100 # TODO(GYP) enable verify_resources. The bots are complaining about
101 # gen/main.html not being found but this doesn't seems to reproduce locally.
102 if (false) {
104 action("verify_resources") {
105   script = "//remoting/tools/verify_resources.py"
107   sources_to_verify = [
108     "$root_gen_dir/main.html",
109     "../base/resources_unittest.cc",
110     "../host/continue_window_mac.mm",
111     "../host/disconnect_window_mac.mm",
112     "../host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2",
113     "../host/mac/me2me_preference_pane-InfoPlist.strings.jinja2",
114     "../host/win/core.rc.jinja2",
115     "../host/win/host_messages.mc.jinja2",
116     "../host/win/version.rc.jinja2",
117     "../resources/play_store_resources.cc",
118     "../webapp/background/background.js",
119     "../webapp/butter_bar.js",
120     "../webapp/client_screen.js",
121     "../webapp/error.js",
122     "../webapp/host_list.js",
123     "../webapp/host_setup_dialog.js",
124     "../webapp/host_table_entry.js",
125     "../webapp/manifest.json.jinja2",
126     "../webapp/paired_client_manager.js",
127     "../webapp/remoting.js",
128     "../webapp/window_frame.js",
129   ]
131   inputs = [
132     "remoting_strings.grd",
133   ] + sources_to_verify
135   stampfile = "$root_build_dir/remoting_resources_verified_stamp"
136   outputs = [ stampfile ]
138   args = [
139     "-t", rebase_path(stampfile, root_build_dir),
140     "-r", rebase_path("remoting_strings.grd", root_build_dir),
141   ] + rebase_path(sources_to_verify, root_build_dir)
143   deps = [ "//remoting/webapp:html" ]  # Generates main.html.
146 }  # if false
148 grit("strings") {
149   source = "remoting_strings.grd"
150   output_name = "remoting_strings"
152   # The grd file encodes "remoting/..." in the name, so root everything in the
153   # generated file root.
154   output_dir = root_gen_dir
156   outputs = [
157     "remoting/base/string_resources.h",
158   ]
160   # The grd produces a *.pak file and a messages.json file (this one uses
161   # underscores instead of hyphens) for each locale.
162   outputs += process_file_template(
163       remoting_locales,
164       [ "remoting/resources/{{source_name_part}}.pak" ])
166   messages_locales = remoting_locales_with_underscores
167   if (!is_chromeos) {
168     # The messages output includes a separate one for en-US that the pak ones
169     # don't have. We don't need to do this on ChromeOS since en_US is in the
170     # locales list be default there.
171     messages_locales += [ "en_US" ]
172   }
173   outputs += process_file_template(
174       messages_locales,
175       [ "remoting/webapp/_locales/{{source_name_part}}/messages.json" ])
178 action("copy_locales") {
179   script = "../tools/build/remoting_copy_locales.py"
181   # The gyp build calls out to Python, but the Python just computes a simple
182   # replacement over the locales. Here, we can do this in GN script by
183   # pretending the locale list is a list of files. The {{source_name_part}}
184   # will just expand to the locale name.
185   inputs = process_file_template(
186       remoting_locales,
187       [ "$target_gen_dir/{{source_name_part}}.pak" ])
189   # Likewise, process the outputs in the same way as the inputs.
190   if (is_mac || is_ios) {
191     # On mac, use underscores instead of hyphens and put the files in a
192     # different place.
193     outputs = process_file_template(
194         remoting_locales_with_underscores,
195         [ "$root_build_dir/remoting/resources/{{source_name_part}}.lproj/locale.pak" ])
196   } else {
197     outputs = process_file_template(
198         remoting_locales,
199         [ "$root_build_dir/remoting_locales/{{source_name_part}}.pak" ])
200   }
202   args = [
203     "-p", os,
204     "-g", rebase_path(root_gen_dir, root_build_dir),
205     "-x", rebase_path(root_out_dir, root_build_dir),
206   ] + remoting_locales
208   deps = [ ":strings" ]