1load("//bazel:skia_rules.bzl", "exports_files_legacy", "select_multi", "skia_cc_deps", "skia_filegroup") 2load("//bazel:flags.bzl", "string_flag_with_values") 3 4licenses(["notice"]) 5 6exports_files_legacy() 7 8string_flag_with_values( 9 name = "include_encoder", 10 multiple = True, 11 values = [ 12 "jpeg_encode_codec", 13 "png_encode_codec", 14 "webp_encode_codec", 15 ], 16) 17 18# In separate skia_filegroups to export these as gni file lists 19skia_filegroup( 20 name = "jpeg_encode_srcs", 21 srcs = [ 22 "SkJPEGWriteUtility.cpp", 23 "SkJpegEncoder.cpp", 24 ], 25) 26 27skia_filegroup( 28 name = "jpeg_encode_hdrs", 29 srcs = [ 30 "SkJPEGWriteUtility.h", 31 ], 32) 33 34skia_filegroup( 35 name = "png_encode_srcs", 36 srcs = ["SkPngEncoder.cpp"], 37) 38 39skia_filegroup( 40 name = "webp_encode_srcs", 41 srcs = ["SkWebpEncoder.cpp"], 42) 43 44skia_filegroup( 45 name = "srcs", 46 srcs = [ 47 "SkEncoder.cpp", 48 "SkImageEncoder.cpp", 49 ] + select_multi({ 50 ":jpeg_encode_codec": [":jpeg_encode_srcs"], 51 ":png_encode_codec": [":png_encode_srcs"], 52 ":webp_encode_codec": [":webp_encode_srcs"], 53 }), 54 visibility = ["//src:__pkg__"], 55) 56 57skia_filegroup( 58 name = "private_hdrs", 59 srcs = [ 60 "SkImageEncoderFns.h", 61 "SkImageEncoderPriv.h", 62 ] + select({ 63 ":jpeg_encode_codec": [":jpeg_encode_hdrs"], 64 "//conditions:default": [], 65 }), 66 visibility = ["//src:__pkg__"], 67) 68 69skia_cc_deps( 70 name = "deps", 71 visibility = ["//src:__pkg__"], 72 deps = select_multi( 73 { 74 ":jpeg_encode_codec": ["@libjpeg_turbo"], 75 ":png_encode_codec": ["@libpng"], 76 ":webp_encode_codec": ["@libwebp"], 77 }, 78 ), 79) 80