blob: 3ff0bcf322887092466ea843c46ef84f6ed56a89 [file] [log] [blame]
# 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") {
public_deps = [
":repack_ui_test_pak",
":repack_ui_test_mac_locale_pack",
]
}
} else {
copy("ui_test_pak") {
sources = [
"$root_out_dir/ui_test.pak",
]
outputs = [
"$root_out_dir/ui/en-US.pak",
]
public_deps = [
":repack_ui_test_pak",
]
}
}
# This group exists just for targets that need the data file
# to exist in the build directory so it can be loaded for test purposes.
group("ui_test_pak_data") {
data_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 or ui_test_pak_data instead of this one.
visibility = [
":ui_test_pak",
":ui_test_pak_data",
]
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_ios) {
deps += [ "//third_party/WebKit/public:resources_grit" ]
}
if (!is_mac) {
deps += [ ":copy_ui_resources_100_percent" ]
}
if (is_chromeos) {
deps += [
"//ui/chromeos/resources",
"//ui/chromeos/strings",
]
}
if (toolkit_views) {
deps += [ "//ui/views/resources" ]
sources += [
"$root_gen_dir/blink/public/resources/blink_resources.pak",
"$root_gen_dir/ui/views/resources/views_resources_100_percent.pak",
]
}
if (enable_app_list) {
deps += [ "//ui/app_list/resources" ]
sources += [ "$root_gen_dir/ui/app_list/resources/app_list_resources_100_percent.pak" ]
}
}
# 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",
"//:gn_visibility", # TODO(GYP): this shouldn't be necessary.
]
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",
]
}