# 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")

# Meta target that includes both ui_strings and app_locale_settings. Most
# targets want both. You can depend on the individually if you need to.
group("strings") {
  deps = [
    ":ui_strings",
    ":app_locale_settings",
  ]
}

grit("ui_strings") {
  source = "ui_strings.grd"
}

grit("app_locale_settings") {
  source = "app_locale_settings.grd"
}
