# DO NOT EDIT: This is a generated file.
# See //bazel/exporter_tool/README.md for more information.
#
# The sources of truth are:
#   //modules/skunicode/include/BUILD.bazel
#   //modules/skunicode/src/BUILD.bazel
#   //modules/skunicode/tests/BUILD.bazel

# To update this file, run make -C bazel generate_gni

_modules = get_path_info("../../modules", "abspath")

# Generated by Bazel rule //modules/skunicode/include:hdrs
skia_unicode_public = [ "$_modules/skunicode/include/SkUnicode.h" ]

# Generated by Bazel rule //modules/skunicode/src:srcs
skia_unicode_sources = [ "$_modules/skunicode/src/SkUnicode.cpp" ]

# Generated by Bazel rule //modules/skunicode/src:icu_srcs
skia_unicode_icu_sources = [
  "$_modules/skunicode/src/SkUnicode_icu.cpp",
  "$_modules/skunicode/src/SkUnicode_icu.h",
  "$_modules/skunicode/src/SkUnicode_icu_bidi.cpp",
  "$_modules/skunicode/src/SkUnicode_icu_bidi.h",
]

# Generated by Bazel rule //modules/skunicode/src:client_srcs
skia_unicode_client_icu_sources = [
  "$_modules/skunicode/src/SkUnicode_client.cpp",
  "$_modules/skunicode/src/SkUnicode_client.h",
  "$_modules/skunicode/src/SkUnicode_icu_bidi.cpp",
  "$_modules/skunicode/src/SkUnicode_icu_bidi.h",
]

# Generated by Bazel rule //modules/skunicode/src:builtin_srcs
skia_unicode_builtin_icu_sources =
    [ "$_modules/skunicode/src/SkUnicode_icu_builtin.cpp" ]

# Generated by Bazel rule //modules/skunicode/src:runtime_srcs
skia_unicode_runtime_icu_sources =
    [ "$_modules/skunicode/src/SkUnicode_icu_runtime.cpp" ]

# Generated by Bazel rule //modules/skunicode/tests:tests
skia_unicode_tests = [ "$_modules/skunicode/tests/SkUnicodeTest.cpp" ]
