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

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

_src = get_path_info("../src", "abspath")
_include = get_path_info("../include", "abspath")

# List generated by Bazel rules:
#  //src/ports:global_init
#  //src/ports:osfile
skia_ports_sources = [
  "$_src/ports/SkGlobalInitialization_default.cpp",
  "$_src/ports/SkOSFile_stdio.cpp",
]

# Generated by Bazel rule //src/ports:freetype_support
skia_ports_freetype_sources = [
  "$_src/ports/SkFontHost_FreeType.cpp",
  "$_src/ports/SkFontHost_FreeType_common.cpp",
  "$_src/ports/SkFontHost_FreeType_common.h",
  "$_src/ports/SkFontScanner_FreeType_priv.h",
  "$_src/ports/SkTypeface_FreeType.h",
]

# Generated by Bazel rule //src/ports:fontmgr_android_parser
skia_ports_fontmgr_android_parser_sources = [
  "$_src/ports/SkFontMgr_android_parser.cpp",
  "$_src/ports/SkFontMgr_android_parser.h",
]

# Generated by Bazel rule //include/ports:android_fontmgr_hdrs
skia_ports_fontmgr_android_public = [ "$_include/ports/SkFontMgr_android.h" ]

# Generated by Bazel rule //src/ports:fontmgr_android
skia_ports_fontmgr_android_sources = [ "$_src/ports/SkFontMgr_android.cpp" ]

# Generated by Bazel rule //include/ports:android_ndk_fontmgr_hdrs
skia_ports_fontmgr_android_ndk_public =
    [ "$_include/ports/SkFontMgr_android_ndk.h" ]

# Generated by Bazel rule //src/ports:fontmgr_android_ndk
skia_ports_fontmgr_android_ndk_sources =
    [ "$_src/ports/SkFontMgr_android_ndk.cpp" ]

# Generated by Bazel rule //src/ports:fontmgr_custom
skia_ports_fontmgr_custom_sources = [
  "$_src/ports/SkFontMgr_custom.cpp",
  "$_src/ports/SkFontMgr_custom.h",
]

# List generated by Bazel rules:
#  //include/ports:mac_typeface
#  //include/ports:coretext_fontmgr_hdrs
skia_ports_fontmgr_coretext_public = [
  "$_include/ports/SkFontMgr_mac_ct.h",
  "$_include/ports/SkTypeface_mac.h",
]

# List generated by Bazel rules:
#  //src/ports:fontmgr_coretext
#  //src/ports:typeface_mac_srcs
#  //src/ports:typeface_mac_hdrs
skia_ports_fontmgr_coretext_sources = [
  "$_src/ports/SkFontMgr_mac_ct.cpp",
  "$_src/ports/SkScalerContext_mac_ct.cpp",
  "$_src/ports/SkScalerContext_mac_ct.h",
  "$_src/ports/SkTypeface_mac_ct.cpp",
  "$_src/ports/SkTypeface_mac_ct.h",
]

# Generated by Bazel rule //include/ports:directory_fontmgr_hdrs
skia_ports_fontmgr_directory_public =
    [ "$_include/ports/SkFontMgr_directory.h" ]

# Generated by Bazel rule //src/ports:fontmgr_directory_freetype
skia_ports_fontmgr_directory_sources =
    [ "$_src/ports/SkFontMgr_custom_directory.cpp" ]

# Generated by Bazel rule //include/ports:data_fontmgr_hdrs
skia_ports_fontmgr_embedded_public = [ "$_include/ports/SkFontMgr_data.h" ]

# Generated by Bazel rule //src/ports:fontmgr_data_freetype
skia_ports_fontmgr_embedded_sources =
    [ "$_src/ports/SkFontMgr_custom_embedded.cpp" ]

# Generated by Bazel rule //include/ports:empty_fontmgr_hdrs
skia_ports_fontmgr_empty_public = [ "$_include/ports/SkFontMgr_empty.h" ]

# Generated by Bazel rule //src/ports:fontmgr_empty_freetype
skia_ports_fontmgr_empty_sources = [ "$_src/ports/SkFontMgr_custom_empty.cpp" ]

# Generated by Bazel rule //include/ports:fontconfig_fontmgr_hdrs
skia_ports_fontmgr_fontconfig_public =
    [ "$_include/ports/SkFontMgr_fontconfig.h" ]

# Generated by Bazel rule //src/ports:fontmgr_fontconfig
skia_ports_fontmgr_fontconfig_sources = [
  "$_src/ports/SkFontMgr_fontconfig.cpp",
  "$_src/ports/SkFontMgr_fontconfig_priv.h",
]

# Generated by Bazel rule //include/ports:fontmgr_fontations_hdrs
skia_ports_fontmgr_fontations_public =
    [ "$_include/ports/SkFontMgr_Fontations.h" ]

# Generated by Bazel rule //src/ports:fontmgr_fontations_empty_srcs
skia_ports_fontmgr_fontations_sources =
    [ "$_src/ports/SkFontMgr_fontations_empty.cpp" ]

# Generated by Bazel rule //include/ports:fuchsia_fontmgr_hdrs
skia_ports_fontmgr_fuchsia_public = [ "$_include/ports/SkFontMgr_fuchsia.h" ]

# Generated by Bazel rule //src/ports:fontmgr_fuchsia_srcs
skia_ports_fontmgr_fuchsia_sources = [ "$_src/ports/SkFontMgr_fuchsia.cpp" ]

# List generated by Bazel rules:
#  //src/ports:typeface_fontations_hdrs
#  //src/ports:typeface_fontations_srcs
skia_ports_typeface_fontations_sources = [
  "$_src/ports/SkFontScanner_fontations.cpp",
  "$_src/ports/SkFontScanner_fontations_priv.h",
  "$_src/ports/SkTypeface_fontations.cpp",
  "$_src/ports/SkTypeface_fontations_factory.h",
  "$_src/ports/SkTypeface_fontations_priv.h",
]

# Generated by Bazel rule //src/ports/fontations:bridge_rust_side_srcs
skia_ports_fontations_bridge_rust_side_sources = [
  "$_src/ports/fontations/src/base.rs",
  "$_src/ports/fontations/src/bitmap.rs",
  "$_src/ports/fontations/src/colr.rs",
  "$_src/ports/fontations/src/ffi.rs",
  "$_src/ports/fontations/src/hinting.rs",
  "$_src/ports/fontations/src/names.rs",
  "$_src/ports/fontations/src/verbs_points_pen.rs",
]

# List generated by Bazel rules:
#  //src/ports:typeface_proxy_hdrs
#  //src/ports:typeface_proxy_srcs
skia_ports_typeface_proxy_sources = [
  "$_src/ports/SkTypeface_proxy.cpp",
  "$_src/ports/SkTypeface_proxy.h",
]

# Generated by Bazel rule //src/ports:osfile_win
skia_ports_windows_sources = [ "$_src/ports/SkOSFile_win.cpp" ]

# Generated by Bazel rule //include/ports:typeface_windows_hdrs
skia_ports_windows_fonts_public = [ "$_include/ports/SkTypeface_win.h" ]

# Generated by Bazel rule //src/ports:windows_fonts_srcs
skia_ports_windows_fonts_sources = [
  "$_src/ports/SkFontMgr_win_dw.cpp",
  "$_src/ports/SkScalerContext_win_dw.cpp",
  "$_src/ports/SkScalerContext_win_dw.h",
  "$_src/ports/SkTypeface_win_dw.cpp",
  "$_src/ports/SkTypeface_win_dw.h",
]

# Generated by Bazel rule //include/ports:fci_fontmgr_hdrs
skia_ports_fci_public = [
  "$_include/ports/SkFontConfigInterface.h",
  "$_include/ports/SkFontMgr_FontConfigInterface.h",
]

# Generated by Bazel rule //src/ports:fontconfig_interface_srcs
skia_ports_fci_sources = [
  "$_src/ports/SkFontConfigInterface.cpp",
  "$_src/ports/SkFontConfigInterface_direct.cpp",
  "$_src/ports/SkFontConfigInterface_direct_factory.cpp",
  "$_src/ports/SkFontConfigTypeface.h",
  "$_src/ports/SkFontMgr_FontConfigInterface.cpp",
]

# Generated by Bazel rule //src/ports:fonthost_win_srcs
skia_ports_fonthost_win_sources = [ "$_src/ports/SkFontHost_win.cpp" ]

skia_fontations_path_bridge_sources =
    [ "$_src/ports/fontations/src/skpath_bridge.h" ]

skia_fontations_bridge_root = "$_src/ports/fontations/src/ffi.rs"
