# https://github.com/bazelbuild/bazel-skylib load("@bazel_skylib//lib:selects.bzl", "selects") load("@rules_python//python:defs.bzl", "py_binary") package(default_visibility = ["//:__subpackages__"]) cc_library( name = "skcms", srcs = [ "skcms/skcms.cc", "skcms/skcms_internal.h", "skcms/src/Transform_inl.h", ], copts = [ "-isystem include/third_party/skcms/", ], deps = [ "//include/third_party/skcms:skcms_hdr", ], ) LIBPNG_SRCS = [ "externals/libpng/png.c", "externals/libpng/pngconf.h", "externals/libpng/pngdebug.h", "externals/libpng/pngerror.c", "externals/libpng/pngget.c", "externals/libpng/pnginfo.h", "externals/libpng/pngmem.c", "externals/libpng/pngpread.c", "externals/libpng/pngpriv.h", "externals/libpng/pngread.c", "externals/libpng/pngrio.c", "externals/libpng/pngrtran.c", "externals/libpng/pngrutil.c", "externals/libpng/pngset.c", "externals/libpng/pngstruct.h", "externals/libpng/pngtrans.c", "externals/libpng/pngwio.c", "externals/libpng/pngwrite.c", "externals/libpng/pngwtran.c", "externals/libpng/pngwutil.c", "libpng/pnglibconf.h", ] + select({ "@platforms//cpu:x86_64": [ "externals/libpng/intel/filter_sse2_intrinsics.c", "externals/libpng/intel/intel_init.c", ], "@platforms//cpu:arm": [ "externals/libpng/arm/arm_init.c", "externals/libpng/arm/filter_neon_intrinsics.c", "externals/libpng/arm/palette_neon_intrinsics.c", ], # No SIMD support in wasm for now "//bazel/common_config_settings:cpu_wasm": [], # The default is to avoid using SIMD "//conditions:default": [], }) PNG_DEFINES = ["PNG_SET_OPTION_SUPPORTED"] + select({ "@platforms//cpu:x86_64": ["PNG_INTEL_SSE"], "//conditions:default": [], }) cc_library( name = "libpng", srcs = LIBPNG_SRCS, hdrs = [ "externals/libpng/png.h", ], copts = [ "-isystem third_party/libpng/", "-Wno-unused-but-set-variable", ], includes = [ # This adds -isystem "third_party/externals/libpng" to any dependent # compilation steps. This allows #include to work "externals/libpng", # png.h attempts to #include "pnglibconf.h" , which we store in //third_party/libpng/ # This rule adds -isystem "third_party/externals/libpng" to any dependent # rule on this, which avoids having to add "-Ithird_party/libpng/" to copts for # those dependent rules. "libpng", ], local_defines = PNG_DEFINES, # This is included by //third_party/libpng/pnglibconf.h, but because it is not a .h # file, we must tell Bazel to explicitly bring it in as an "includable". textual_hdrs = ["externals/libpng/scripts/pnglibconf.h.prebuilt"], deps = [":zlib"], ) ZLIB_SRCS = [ "externals/zlib/adler32.c", "externals/zlib/compress.c", "externals/zlib/contrib/optimizations/insert_string.h", "externals/zlib/cpu_features.c", "externals/zlib/cpu_features.h", "externals/zlib/crc32.h", "externals/zlib/crc32.c", "externals/zlib/deflate.c", "externals/zlib/deflate.h", "externals/zlib/gzclose.c", "externals/zlib/gzguts.h", "externals/zlib/gzlib.c", "externals/zlib/gzread.c", "externals/zlib/gzwrite.c", "externals/zlib/infback.c", "externals/zlib/inffast.c", "externals/zlib/inffast.h", "externals/zlib/inflate.h", "externals/zlib/inftrees.c", "externals/zlib/inftrees.h", "externals/zlib/trees.c", "externals/zlib/trees.h", "externals/zlib/uncompr.c", "externals/zlib/inffixed.h", "externals/zlib/zutil.c", "externals/zlib/zutil.h", ] + select({ "@platforms//cpu:x86_64": [ "externals/zlib/adler32_simd.h", "externals/zlib/adler32_simd.c", "externals/zlib/contrib/optimizations/chunkcopy.h", "externals/zlib/contrib/optimizations/inffast_chunk.h", "externals/zlib/contrib/optimizations/inffast_chunk.c", "externals/zlib/contrib/optimizations/inflate.c", "externals/zlib/crc32_simd.h", "externals/zlib/crc32_simd.c", "externals/zlib/crc_folding.c", "externals/zlib/fill_window_sse.c", ], "@platforms//cpu:arm": [ "externals/zlib/adler32_simd.h", "externals/zlib/adler32_simd.c", "externals/zlib/contrib/optimizations/chunkcopy.h", "externals/zlib/contrib/optimizations/inffast_chunk.h", "externals/zlib/contrib/optimizations/inffast_chunk.c", "externals/zlib/contrib/optimizations/inflate.c", "externals/zlib/crc32_simd.h", "externals/zlib/crc32_simd.c", ], # No SIMD support in wasm for now "//bazel/common_config_settings:cpu_wasm": ["externals/zlib/inflate.c"], # The default is to avoid using SIMD "//conditions:default": ["externals/zlib/inflate.c"], }) ZLIB_DEFINES = ["ZLIB_IMPLEMENTATION"] + select({ "@platforms//cpu:x86_64": [ "ADLER32_SIMD_SSSE3", "CRC32_SIMD_SSE42_PCLMUL", "INFLATE_CHUNK_READ_64LE", "INFLATE_CHUNK_SIMD_SSE2", "DEFLATE_FILL_WINDOW_SSE2", ], "@platforms//cpu:arm": [ "ADLER32_SIMD_NEON", "INFLATE_CHUNK_SIMD_NEON", ], "//bazel/common_config_settings:cpu_wasm": ["CPU_NO_SIMD"], "//conditions:default": ["CPU_NO_SIMD"], }) + select({ "//bazel/common_config_settings:windows_x64": ["X86_WINDOWS"], "//bazel/common_config_settings:linux_x64": ["X86_NOT_WINDOWS"], "//bazel/common_config_settings:fuchsia_arm64": [ "X86_NOT_WINDOWS", "ARMV8_OS_FUCHSIA", ], # TODO(kjlubick) other arm flavors "//conditions:default": ["X86_NOT_WINDOWS"], }) ZLIB_COPTS = [ "-Wno-unused-function", # Make the headers in contrib available, without exposing them in hdrs. "-isystem third_party/externals/zlib/", ] + select({ "//bazel/common_config_settings:linux_x64": [ "-mssse3", "-msse4.2", "-mpclmul", ], "@platforms//cpu:arm": ["-march=armv8-a+crc"], # If empty list isn't set for wasm, select picks linux_x64 "//bazel/common_config_settings:cpu_wasm": [], "//conditions:default": [], }) cc_library( name = "zlib", srcs = ZLIB_SRCS, hdrs = [ "externals/zlib/chromeconf.h", "externals/zlib/zconf.h", "externals/zlib/zlib.h", ], copts = ZLIB_COPTS, local_defines = ZLIB_DEFINES, # This allows users of zlib to just do #include "zlib.h" strip_include_prefix = "externals/zlib/", ) JPEGTURBO_SRCS = [ "externals/libjpeg-turbo/jaricom.c", "externals/libjpeg-turbo/jcapimin.c", "externals/libjpeg-turbo/jcapistd.c", "externals/libjpeg-turbo/jcarith.c", "externals/libjpeg-turbo/jccoefct.c", "externals/libjpeg-turbo/jccolor.c", "externals/libjpeg-turbo/jcdctmgr.c", "externals/libjpeg-turbo/jchuff.c", "externals/libjpeg-turbo/jchuff.h", "externals/libjpeg-turbo/jcinit.c", "externals/libjpeg-turbo/jcmainct.c", "externals/libjpeg-turbo/jcmarker.c", "externals/libjpeg-turbo/jcmaster.c", "externals/libjpeg-turbo/jcomapi.c", "externals/libjpeg-turbo/jconfigint.h", "externals/libjpeg-turbo/jcparam.c", "externals/libjpeg-turbo/jcphuff.c", "externals/libjpeg-turbo/jcprepct.c", "externals/libjpeg-turbo/jcsample.c", "externals/libjpeg-turbo/jdapimin.c", "externals/libjpeg-turbo/jdapistd.c", "externals/libjpeg-turbo/jdarith.c", "externals/libjpeg-turbo/jdcoefct.c", "externals/libjpeg-turbo/jdcoefct.h", "externals/libjpeg-turbo/jdcolor.c", "externals/libjpeg-turbo/jdct.h", "externals/libjpeg-turbo/jddctmgr.c", "externals/libjpeg-turbo/jdhuff.c", "externals/libjpeg-turbo/jdhuff.h", "externals/libjpeg-turbo/jdinput.c", "externals/libjpeg-turbo/jdmainct.c", "externals/libjpeg-turbo/jdmainct.h", "externals/libjpeg-turbo/jdmarker.c", "externals/libjpeg-turbo/jdmaster.c", "externals/libjpeg-turbo/jdmaster.h", "externals/libjpeg-turbo/jdmerge.c", "externals/libjpeg-turbo/jdmerge.h", "externals/libjpeg-turbo/jdphuff.c", "externals/libjpeg-turbo/jdpostct.c", "externals/libjpeg-turbo/jdsample.c", "externals/libjpeg-turbo/jdsample.h", "externals/libjpeg-turbo/jerror.c", "externals/libjpeg-turbo/jfdctflt.c", "externals/libjpeg-turbo/jfdctfst.c", "externals/libjpeg-turbo/jfdctint.c", "externals/libjpeg-turbo/jidctflt.c", "externals/libjpeg-turbo/jidctfst.c", "externals/libjpeg-turbo/jidctint.c", "externals/libjpeg-turbo/jidctred.c", "externals/libjpeg-turbo/jinclude.h", "externals/libjpeg-turbo/jmemmgr.c", "externals/libjpeg-turbo/jmemnobs.c", "externals/libjpeg-turbo/jmemsys.h", "externals/libjpeg-turbo/jpeg_nbits_table.c", "externals/libjpeg-turbo/jpeg_nbits_table.h", "externals/libjpeg-turbo/jpegcomp.h", "externals/libjpeg-turbo/jpegint.h", "externals/libjpeg-turbo/jquant1.c", "externals/libjpeg-turbo/jquant2.c", "externals/libjpeg-turbo/jsimd.h", "externals/libjpeg-turbo/jsimddct.h", "externals/libjpeg-turbo/jutils.c", "externals/libjpeg-turbo/jversion.h", ] + selects.with_or({ ("@platforms//cpu:arm", "@platforms//cpu:arm64"): [ "externals/libjpeg-turbo/simd/arm/jccolor-neon.c", "externals/libjpeg-turbo/simd/arm/jcgray-neon.c", "externals/libjpeg-turbo/simd/arm/jcphuff-neon.c", "externals/libjpeg-turbo/simd/arm/jcsample-neon.c", "externals/libjpeg-turbo/simd/arm/jdcolor-neon.c", "externals/libjpeg-turbo/simd/arm/jdmerge-neon.c", "externals/libjpeg-turbo/simd/arm/jdsample-neon.c", "externals/libjpeg-turbo/simd/arm/jfdctfst-neon.c", "externals/libjpeg-turbo/simd/arm/jfdctint-neon.c", "externals/libjpeg-turbo/simd/arm/jidctfst-neon.c", "externals/libjpeg-turbo/simd/arm/jidctint-neon.c", "externals/libjpeg-turbo/simd/arm/jidctred-neon.c", "externals/libjpeg-turbo/simd/arm/jquanti-neon.c", ], "//conditions:default": ["externals/libjpeg-turbo/jsimd_none.c"], }) + select({ "@platforms//cpu:arm": [ "externals/libjpeg-turbo/simd/arm/aarch32/jchuff-neon.c", "externals/libjpeg-turbo/simd/arm/aarch32/jsimd.c", ], "@platforms//cpu:arm64": [ "externals/libjpeg-turbo/simd/arm/aarch64/jchuff-neon.c", "externals/libjpeg-turbo/simd/arm/aarch64/jsimd.c", ], "//conditions:default": [], }) JPEGTURBO_DEFINES = [ # Add support for arithmetic encoding (C_) and decoding (D_). # This matches Android. Note that such JPEGs are likely rare, given lack of # support by major browsers. "C_ARITH_CODING_SUPPORTED=1", "D_ARITH_CODING_SUPPORTED=1", ] + selects.with_or({ ("@platforms//cpu:arm", "@platforms//cpu:arm64"): ["NEON_INTRINSICS"], "//conditions:default": [], }) + select({ "@platforms//os:windows": [], "//conditions:default": ["USE_CLZ_INTRINSIC"], # Cuts a 64K table. }) cc_library( name = "libjpeg-turbo", srcs = JPEGTURBO_SRCS, hdrs = [ "externals/libjpeg-turbo/jconfig.h", "externals/libjpeg-turbo/jerror.h", "externals/libjpeg-turbo/jmorecfg.h", "externals/libjpeg-turbo/jpeglib.h", "externals/libjpeg-turbo/jpeglibmangler.h", ], local_defines = JPEGTURBO_DEFINES, strip_include_prefix = "externals/libjpeg-turbo/", textual_hdrs = [ "externals/libjpeg-turbo/jccolext.c", "externals/libjpeg-turbo/jdmrgext.c", "externals/libjpeg-turbo/jdcolext.c", "externals/libjpeg-turbo/jdcol565.c", "externals/libjpeg-turbo/jdmrg565.c", "externals/libjpeg-turbo/jstdhuff.c", ], ) WEBP_SRCS = [ "externals/libwebp/src/dec/alpha_dec.c", "externals/libwebp/src/dec/alphai_dec.h", "externals/libwebp/src/dec/buffer_dec.c", "externals/libwebp/src/dec/common_dec.h", "externals/libwebp/src/dec/frame_dec.c", "externals/libwebp/src/dec/idec_dec.c", "externals/libwebp/src/dec/io_dec.c", "externals/libwebp/src/dec/quant_dec.c", "externals/libwebp/src/dec/tree_dec.c", "externals/libwebp/src/dec/vp8_dec.c", "externals/libwebp/src/dec/vp8_dec.h", "externals/libwebp/src/dec/vp8i_dec.h", "externals/libwebp/src/dec/vp8l_dec.c", "externals/libwebp/src/dec/vp8li_dec.h", "externals/libwebp/src/dec/webp_dec.c", "externals/libwebp/src/dec/webpi_dec.h", "externals/libwebp/src/demux/anim_decode.c", "externals/libwebp/src/demux/demux.c", "externals/libwebp/src/dsp/alpha_processing.c", "externals/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c", "externals/libwebp/src/dsp/alpha_processing_neon.c", "externals/libwebp/src/dsp/alpha_processing_sse2.c", "externals/libwebp/src/dsp/common_sse2.h", "externals/libwebp/src/dsp/common_sse41.h", "externals/libwebp/src/dsp/cost.c", "externals/libwebp/src/dsp/cost_mips32.c", "externals/libwebp/src/dsp/cost_mips_dsp_r2.c", "externals/libwebp/src/dsp/cost_neon.c", "externals/libwebp/src/dsp/cost_sse2.c", "externals/libwebp/src/dsp/cpu.c", "externals/libwebp/src/dsp/dec.c", "externals/libwebp/src/dsp/dec_clip_tables.c", "externals/libwebp/src/dsp/dec_mips32.c", "externals/libwebp/src/dsp/dec_mips_dsp_r2.c", "externals/libwebp/src/dsp/dec_msa.c", "externals/libwebp/src/dsp/dec_neon.c", "externals/libwebp/src/dsp/dec_sse2.c", "externals/libwebp/src/dsp/dsp.h", "externals/libwebp/src/dsp/enc.c", "externals/libwebp/src/dsp/enc_mips32.c", "externals/libwebp/src/dsp/enc_mips_dsp_r2.c", "externals/libwebp/src/dsp/enc_msa.c", "externals/libwebp/src/dsp/enc_neon.c", "externals/libwebp/src/dsp/enc_sse2.c", "externals/libwebp/src/dsp/filters.c", "externals/libwebp/src/dsp/filters_mips_dsp_r2.c", "externals/libwebp/src/dsp/filters_msa.c", "externals/libwebp/src/dsp/filters_neon.c", "externals/libwebp/src/dsp/filters_sse2.c", "externals/libwebp/src/dsp/lossless.c", "externals/libwebp/src/dsp/lossless.h", "externals/libwebp/src/dsp/lossless_common.h", "externals/libwebp/src/dsp/lossless_enc.c", "externals/libwebp/src/dsp/lossless_enc_mips32.c", "externals/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c", "externals/libwebp/src/dsp/lossless_enc_msa.c", "externals/libwebp/src/dsp/lossless_enc_neon.c", "externals/libwebp/src/dsp/lossless_enc_sse2.c", "externals/libwebp/src/dsp/lossless_mips_dsp_r2.c", "externals/libwebp/src/dsp/lossless_msa.c", "externals/libwebp/src/dsp/lossless_neon.c", "externals/libwebp/src/dsp/lossless_sse2.c", "externals/libwebp/src/dsp/mips_macro.h", "externals/libwebp/src/dsp/msa_macro.h", "externals/libwebp/src/dsp/neon.h", "externals/libwebp/src/dsp/quant.h", "externals/libwebp/src/dsp/rescaler.c", "externals/libwebp/src/dsp/rescaler_mips32.c", "externals/libwebp/src/dsp/rescaler_mips_dsp_r2.c", "externals/libwebp/src/dsp/rescaler_msa.c", "externals/libwebp/src/dsp/rescaler_neon.c", "externals/libwebp/src/dsp/rescaler_sse2.c", "externals/libwebp/src/dsp/ssim.c", "externals/libwebp/src/dsp/ssim_sse2.c", "externals/libwebp/src/dsp/upsampling.c", "externals/libwebp/src/dsp/upsampling_mips_dsp_r2.c", "externals/libwebp/src/dsp/upsampling_msa.c", "externals/libwebp/src/dsp/upsampling_neon.c", "externals/libwebp/src/dsp/upsampling_sse2.c", "externals/libwebp/src/dsp/yuv.c", "externals/libwebp/src/dsp/yuv.h", "externals/libwebp/src/dsp/yuv_mips32.c", "externals/libwebp/src/dsp/yuv_mips_dsp_r2.c", "externals/libwebp/src/dsp/yuv_neon.c", "externals/libwebp/src/dsp/yuv_sse2.c", "externals/libwebp/src/enc/alpha_enc.c", "externals/libwebp/src/enc/analysis_enc.c", "externals/libwebp/src/enc/backward_references_cost_enc.c", "externals/libwebp/src/enc/backward_references_enc.c", "externals/libwebp/src/enc/backward_references_enc.h", "externals/libwebp/src/enc/config_enc.c", "externals/libwebp/src/enc/cost_enc.c", "externals/libwebp/src/enc/cost_enc.h", "externals/libwebp/src/enc/filter_enc.c", "externals/libwebp/src/enc/frame_enc.c", "externals/libwebp/src/enc/histogram_enc.c", "externals/libwebp/src/enc/histogram_enc.h", "externals/libwebp/src/enc/iterator_enc.c", "externals/libwebp/src/enc/near_lossless_enc.c", "externals/libwebp/src/enc/picture_csp_enc.c", "externals/libwebp/src/enc/picture_enc.c", "externals/libwebp/src/enc/picture_psnr_enc.c", "externals/libwebp/src/enc/picture_rescale_enc.c", "externals/libwebp/src/enc/picture_tools_enc.c", "externals/libwebp/src/enc/predictor_enc.c", "externals/libwebp/src/enc/quant_enc.c", "externals/libwebp/src/enc/syntax_enc.c", "externals/libwebp/src/enc/token_enc.c", "externals/libwebp/src/enc/tree_enc.c", "externals/libwebp/src/enc/vp8i_enc.h", "externals/libwebp/src/enc/vp8l_enc.c", "externals/libwebp/src/enc/vp8li_enc.h", "externals/libwebp/src/enc/webp_enc.c", "externals/libwebp/src/mux/anim_encode.c", "externals/libwebp/src/mux/animi.h", "externals/libwebp/src/mux/muxedit.c", "externals/libwebp/src/mux/muxi.h", "externals/libwebp/src/mux/muxinternal.c", "externals/libwebp/src/mux/muxread.c", "externals/libwebp/src/utils/bit_reader_inl_utils.h", "externals/libwebp/src/utils/bit_reader_utils.c", "externals/libwebp/src/utils/bit_reader_utils.h", "externals/libwebp/src/utils/bit_writer_utils.c", "externals/libwebp/src/utils/bit_writer_utils.h", "externals/libwebp/src/utils/color_cache_utils.c", "externals/libwebp/src/utils/color_cache_utils.h", "externals/libwebp/src/utils/endian_inl_utils.h", "externals/libwebp/src/utils/filters_utils.c", "externals/libwebp/src/utils/filters_utils.h", "externals/libwebp/src/utils/huffman_encode_utils.c", "externals/libwebp/src/utils/huffman_encode_utils.h", "externals/libwebp/src/utils/huffman_utils.c", "externals/libwebp/src/utils/huffman_utils.h", "externals/libwebp/src/utils/quant_levels_dec_utils.c", "externals/libwebp/src/utils/quant_levels_dec_utils.h", "externals/libwebp/src/utils/quant_levels_utils.c", "externals/libwebp/src/utils/quant_levels_utils.h", "externals/libwebp/src/utils/random_utils.c", "externals/libwebp/src/utils/random_utils.h", "externals/libwebp/src/utils/rescaler_utils.c", "externals/libwebp/src/utils/rescaler_utils.h", "externals/libwebp/src/utils/thread_utils.c", "externals/libwebp/src/utils/thread_utils.h", "externals/libwebp/src/utils/utils.c", "externals/libwebp/src/utils/utils.h", ] + select({ "@platforms//cpu:x86_64": [ "externals/libwebp/src/dsp/alpha_processing_sse41.c", "externals/libwebp/src/dsp/dec_sse41.c", "externals/libwebp/src/dsp/enc_sse41.c", "externals/libwebp/src/dsp/lossless_enc_sse41.c", "externals/libwebp/src/dsp/lossless_sse41.c", "externals/libwebp/src/dsp/upsampling_sse41.c", "externals/libwebp/src/dsp/yuv_sse41.c", ], "//bazel/common_config_settings:cpu_wasm": [], # not sure why wasm doesn't use default "//conditions:default": [], }) WEBP_COPTS = [ "-isystem third_party/externals/libwebp/", ] + select({ "@platforms//cpu:x86_64": ["-msse4.1"], "//bazel/common_config_settings:cpu_wasm": [], # not sure why wasm doesn't use default "//conditions:default": [], }) WEBP_DEFINES = [ # TODO(scroggo): swizzle ourself in SkWebpCodec instead of requiring this non-standard libwebp. "WEBP_SWAP_16BIT_CSP", ] cc_library( name = "libwebp", srcs = WEBP_SRCS, hdrs = [ "externals/libwebp/src/webp/decode.h", "externals/libwebp/src/webp/demux.h", "externals/libwebp/src/webp/encode.h", "externals/libwebp/src/webp/format_constants.h", "externals/libwebp/src/webp/mux.h", "externals/libwebp/src/webp/mux_types.h", "externals/libwebp/src/webp/types.h", ], copts = WEBP_COPTS, local_defines = WEBP_DEFINES, strip_include_prefix = "externals/libwebp/src/", ) cc_library( name = "wuffs", # We list this file both as a source file and a header file because it will be # compiled for symbols *and* included as a header file. srcs = ["externals/wuffs/release/c/wuffs-v0.3.c"], # Thankfully, bazel doesn't mind a .c file being declared as a public "header". hdrs = ["externals/wuffs/release/c/wuffs-v0.3.c"], local_defines = [ # Copy/pasting from "externals/wuffs/release/c/wuffs-*.c": # # ---- # # Wuffs ships as a "single file C library" or "header file library" as per # https://github.com/nothings/stb/blob/master/docs/stb_howto.txt # # To use that single file as a "foo.c"-like implementation, instead of a # "foo.h"-like header, #define WUFFS_IMPLEMENTATION before #include'ing or # compiling it. # # ---- "WUFFS_IMPLEMENTATION", # Continuing to copy/paste: # # ---- # # Defining the WUFFS_CONFIG__MODULE* macros are optional, but it lets users # of Wuffs' .c file specify which parts of Wuffs to build. That file # contains the entire Wuffs standard library, implementing a variety of # codecs and file formats. Without this macro definition, an optimizing # compiler or linker may very well discard Wuffs code for unused codecs, # but listing the Wuffs modules we use makes that process explicit. # Preprocessing means that such code simply isn't compiled. # # ---- # # For Skia, we're only interested in particular image codes (e.g. GIF) and # their dependencies (e.g. BASE, LZW). "WUFFS_CONFIG__MODULES", "WUFFS_CONFIG__MODULE__BASE", "WUFFS_CONFIG__MODULE__GIF", "WUFFS_CONFIG__MODULE__LZW", ], strip_include_prefix = "externals/wuffs/release/c/", ) cc_library( name = "piex", srcs = [ "externals/piex/src/binary_parse/cached_paged_byte_array.cc", "externals/piex/src/binary_parse/cached_paged_byte_array.h", "externals/piex/src/binary_parse/range_checked_byte_ptr.cc", "externals/piex/src/binary_parse/range_checked_byte_ptr.h", "externals/piex/src/image_type_recognition/image_type_recognition_lite.cc", "externals/piex/src/image_type_recognition/image_type_recognition_lite.h", "externals/piex/src/piex.cc", "externals/piex/src/tiff_directory/tiff_directory.cc", "externals/piex/src/tiff_directory/tiff_directory.h", "externals/piex/src/tiff_parser.cc", "externals/piex/src/tiff_parser.h", ], hdrs = [ "externals/piex/src/piex.h", "externals/piex/src/piex_types.h", ], copts = [ "-isystem third_party/externals/piex/", ], local_defines = ["BREAK_IF_DEBUGGING_AND_OUT_OF_RANGE"], strip_include_prefix = "externals/piex/", ) cc_library( name = "dng_sdk", srcs = [ "externals/dng_sdk/source/dng_1d_function.cpp", "externals/dng_sdk/source/dng_1d_table.cpp", "externals/dng_sdk/source/dng_abort_sniffer.cpp", "externals/dng_sdk/source/dng_area_task.cpp", "externals/dng_sdk/source/dng_bad_pixels.cpp", "externals/dng_sdk/source/dng_bottlenecks.cpp", "externals/dng_sdk/source/dng_camera_profile.cpp", "externals/dng_sdk/source/dng_color_space.cpp", "externals/dng_sdk/source/dng_color_spec.cpp", "externals/dng_sdk/source/dng_date_time.cpp", "externals/dng_sdk/source/dng_exceptions.cpp", "externals/dng_sdk/source/dng_exif.cpp", "externals/dng_sdk/source/dng_file_stream.cpp", "externals/dng_sdk/source/dng_filter_task.cpp", "externals/dng_sdk/source/dng_fingerprint.cpp", "externals/dng_sdk/source/dng_gain_map.cpp", "externals/dng_sdk/source/dng_globals.cpp", "externals/dng_sdk/source/dng_host.cpp", "externals/dng_sdk/source/dng_hue_sat_map.cpp", "externals/dng_sdk/source/dng_ifd.cpp", "externals/dng_sdk/source/dng_image.cpp", "externals/dng_sdk/source/dng_image_writer.cpp", "externals/dng_sdk/source/dng_info.cpp", "externals/dng_sdk/source/dng_iptc.cpp", "externals/dng_sdk/source/dng_jpeg_image.cpp", "externals/dng_sdk/source/dng_jpeg_memory_source.cpp", "externals/dng_sdk/source/dng_lens_correction.cpp", "externals/dng_sdk/source/dng_linearization_info.cpp", "externals/dng_sdk/source/dng_lossless_jpeg.cpp", "externals/dng_sdk/source/dng_matrix.cpp", "externals/dng_sdk/source/dng_memory.cpp", "externals/dng_sdk/source/dng_memory_stream.cpp", "externals/dng_sdk/source/dng_misc_opcodes.cpp", "externals/dng_sdk/source/dng_mosaic_info.cpp", "externals/dng_sdk/source/dng_mutex.cpp", "externals/dng_sdk/source/dng_negative.cpp", "externals/dng_sdk/source/dng_opcode_list.cpp", "externals/dng_sdk/source/dng_opcodes.cpp", "externals/dng_sdk/source/dng_orientation.cpp", "externals/dng_sdk/source/dng_parse_utils.cpp", "externals/dng_sdk/source/dng_pixel_buffer.cpp", "externals/dng_sdk/source/dng_point.cpp", "externals/dng_sdk/source/dng_preview.cpp", "externals/dng_sdk/source/dng_pthread.cpp", "externals/dng_sdk/source/dng_rational.cpp", "externals/dng_sdk/source/dng_read_image.cpp", "externals/dng_sdk/source/dng_rect.cpp", "externals/dng_sdk/source/dng_ref_counted_block.cpp", "externals/dng_sdk/source/dng_reference.cpp", "externals/dng_sdk/source/dng_render.cpp", "externals/dng_sdk/source/dng_resample.cpp", "externals/dng_sdk/source/dng_safe_arithmetic.cpp", "externals/dng_sdk/source/dng_shared.cpp", "externals/dng_sdk/source/dng_simple_image.cpp", "externals/dng_sdk/source/dng_spline.cpp", "externals/dng_sdk/source/dng_stream.cpp", "externals/dng_sdk/source/dng_string.cpp", "externals/dng_sdk/source/dng_string_list.cpp", "externals/dng_sdk/source/dng_tag_types.cpp", "externals/dng_sdk/source/dng_temperature.cpp", "externals/dng_sdk/source/dng_tile_iterator.cpp", "externals/dng_sdk/source/dng_tone_curve.cpp", "externals/dng_sdk/source/dng_utils.cpp", "externals/dng_sdk/source/dng_xy_coord.cpp", ], hdrs = [ "externals/dng_sdk/source/RawEnvironment.h", "externals/dng_sdk/source/dng_1d_function.h", "externals/dng_sdk/source/dng_1d_table.h", "externals/dng_sdk/source/dng_abort_sniffer.h", "externals/dng_sdk/source/dng_area_task.h", "externals/dng_sdk/source/dng_assertions.h", "externals/dng_sdk/source/dng_auto_ptr.h", "externals/dng_sdk/source/dng_bad_pixels.h", "externals/dng_sdk/source/dng_bottlenecks.h", "externals/dng_sdk/source/dng_camera_profile.h", "externals/dng_sdk/source/dng_classes.h", "externals/dng_sdk/source/dng_color_space.h", "externals/dng_sdk/source/dng_color_spec.h", "externals/dng_sdk/source/dng_date_time.h", "externals/dng_sdk/source/dng_errors.h", "externals/dng_sdk/source/dng_exceptions.h", "externals/dng_sdk/source/dng_exif.h", "externals/dng_sdk/source/dng_fast_module.h", "externals/dng_sdk/source/dng_file_stream.h", "externals/dng_sdk/source/dng_filter_task.h", "externals/dng_sdk/source/dng_fingerprint.h", "externals/dng_sdk/source/dng_flags.h", "externals/dng_sdk/source/dng_gain_map.h", "externals/dng_sdk/source/dng_globals.h", "externals/dng_sdk/source/dng_host.h", "externals/dng_sdk/source/dng_hue_sat_map.h", "externals/dng_sdk/source/dng_ifd.h", "externals/dng_sdk/source/dng_image.h", "externals/dng_sdk/source/dng_image_writer.h", "externals/dng_sdk/source/dng_info.h", "externals/dng_sdk/source/dng_iptc.h", "externals/dng_sdk/source/dng_jpeg_image.h", "externals/dng_sdk/source/dng_jpeg_memory_source.h", "externals/dng_sdk/source/dng_jpeglib.h", "externals/dng_sdk/source/dng_lens_correction.h", "externals/dng_sdk/source/dng_linearization_info.h", "externals/dng_sdk/source/dng_lossless_jpeg.h", "externals/dng_sdk/source/dng_matrix.h", "externals/dng_sdk/source/dng_memory.h", "externals/dng_sdk/source/dng_memory_stream.h", "externals/dng_sdk/source/dng_misc_opcodes.h", "externals/dng_sdk/source/dng_mosaic_info.h", "externals/dng_sdk/source/dng_mutex.h", "externals/dng_sdk/source/dng_negative.h", "externals/dng_sdk/source/dng_opcode_list.h", "externals/dng_sdk/source/dng_opcodes.h", "externals/dng_sdk/source/dng_orientation.h", "externals/dng_sdk/source/dng_parse_utils.h", "externals/dng_sdk/source/dng_pixel_buffer.h", "externals/dng_sdk/source/dng_point.h", "externals/dng_sdk/source/dng_preview.h", "externals/dng_sdk/source/dng_pthread.h", "externals/dng_sdk/source/dng_rational.h", "externals/dng_sdk/source/dng_read_image.h", "externals/dng_sdk/source/dng_rect.h", "externals/dng_sdk/source/dng_ref_counted_block.h", "externals/dng_sdk/source/dng_reference.h", "externals/dng_sdk/source/dng_render.h", "externals/dng_sdk/source/dng_resample.h", "externals/dng_sdk/source/dng_safe_arithmetic.h", "externals/dng_sdk/source/dng_sdk_limits.h", "externals/dng_sdk/source/dng_shared.h", "externals/dng_sdk/source/dng_simple_image.h", "externals/dng_sdk/source/dng_spline.h", "externals/dng_sdk/source/dng_stream.h", "externals/dng_sdk/source/dng_string.h", "externals/dng_sdk/source/dng_string_list.h", "externals/dng_sdk/source/dng_tag_codes.h", "externals/dng_sdk/source/dng_tag_types.h", "externals/dng_sdk/source/dng_tag_values.h", "externals/dng_sdk/source/dng_temperature.h", "externals/dng_sdk/source/dng_tile_iterator.h", "externals/dng_sdk/source/dng_tone_curve.h", "externals/dng_sdk/source/dng_types.h", "externals/dng_sdk/source/dng_uncopyable.h", "externals/dng_sdk/source/dng_utils.h", "externals/dng_sdk/source/dng_xy_coord.h", ], copts = [ "-isystem third_party/externals/dng_sdk/source/", ], defines = [ "qDNGBigEndian=0", # The GN rules had this defined publicly ] + selects.with_or({ ("@platforms//cpu:x86_64", "@platforms//cpu:arm"): [ # DNG SDK uses __builtin_smulll_overflow() to detect 64x64 bit multiply overflow. # On some platforms, the compiler implements this with __mulodi4(). # I can't quite figure out how to link that here, so instead here's a shim for # __builtin_smulll_overflow() that multiplies normally assuming no overflow. # Previously tracked in b/29412086. # Currently, without this define, we see: # Error: cannot initialize a parameter of type 'long long *' with an rvalue of type 'std::int64_t *' (aka 'long *') "__builtin_smulll_overflow(x,y,p)=(*(p)=(x)*(y),false)", ], "//conditions:default": [], }), local_defines = [ "qDNGReportErrors=0", "qDNGThreadSafe=1", "qDNGUseLibJPEG=1", "qDNGUseXMP=0", "qDNGValidate=0", "qDNGValidateTarget=1", "UNIX_ENV=1", ], strip_include_prefix = "externals/dng_sdk/source/", deps = [ ":libjpeg-turbo", ":zlib", ], ) FREETYPE_DEFINES = ["FT2_BUILD_LIBRARY"] + select( { "//bazel/common_config_settings:cpu_wasm": [ # Use a trimmed down set of options to reduce code size. "FT_CONFIG_MODULES_H=", "FT_CONFIG_OPTIONS_H=", ], "//conditions:default": [ "FT_CONFIG_MODULES_H=", "FT_CONFIG_OPTIONS_H=", ], }, ) cc_library( name = "freetype2", srcs = [ "externals/freetype/include/freetype/internal/autohint.h", "externals/freetype/include/freetype/internal/cffotypes.h", "externals/freetype/include/freetype/internal/cfftypes.h", "externals/freetype/include/freetype/internal/compiler-macros.h", "externals/freetype/include/freetype/internal/ftcalc.h", "externals/freetype/include/freetype/internal/ftdebug.h", "externals/freetype/include/freetype/internal/ftdrv.h", "externals/freetype/include/freetype/internal/ftgloadr.h", "externals/freetype/include/freetype/internal/fthash.h", "externals/freetype/include/freetype/internal/ftmemory.h", "externals/freetype/include/freetype/internal/ftobjs.h", "externals/freetype/include/freetype/internal/ftpsprop.h", "externals/freetype/include/freetype/internal/ftrfork.h", "externals/freetype/include/freetype/internal/ftserv.h", "externals/freetype/include/freetype/internal/ftstream.h", "externals/freetype/include/freetype/internal/fttrace.h", "externals/freetype/include/freetype/internal/ftvalid.h", "externals/freetype/include/freetype/internal/psaux.h", "externals/freetype/include/freetype/internal/pshints.h", "externals/freetype/include/freetype/internal/services/svbdf.h", "externals/freetype/include/freetype/internal/services/svcfftl.h", "externals/freetype/include/freetype/internal/services/svcid.h", "externals/freetype/include/freetype/internal/services/svfntfmt.h", "externals/freetype/include/freetype/internal/services/svgldict.h", "externals/freetype/include/freetype/internal/services/svgxval.h", "externals/freetype/include/freetype/internal/services/svkern.h", "externals/freetype/include/freetype/internal/services/svmetric.h", "externals/freetype/include/freetype/internal/services/svmm.h", "externals/freetype/include/freetype/internal/services/svotval.h", "externals/freetype/include/freetype/internal/services/svpfr.h", "externals/freetype/include/freetype/internal/services/svpostnm.h", "externals/freetype/include/freetype/internal/services/svprop.h", "externals/freetype/include/freetype/internal/services/svpscmap.h", "externals/freetype/include/freetype/internal/services/svpsinfo.h", "externals/freetype/include/freetype/internal/services/svsfnt.h", "externals/freetype/include/freetype/internal/services/svttcmap.h", "externals/freetype/include/freetype/internal/services/svtteng.h", "externals/freetype/include/freetype/internal/services/svttglyf.h", "externals/freetype/include/freetype/internal/services/svwinfnt.h", "externals/freetype/include/freetype/internal/sfnt.h", "externals/freetype/include/freetype/internal/svginterface.h", "externals/freetype/include/freetype/internal/t1types.h", "externals/freetype/include/freetype/internal/tttypes.h", "externals/freetype/include/freetype/internal/wofftypes.h", "externals/freetype/include/freetype/otsvg.h", "externals/freetype/include/freetype/t1tables.h", "externals/freetype/include/freetype/ttnameid.h", "externals/freetype/include/freetype/tttables.h", "externals/freetype/include/freetype/tttags.h", "externals/freetype/src/autofit/afblue.h", "externals/freetype/src/autofit/afcjk.h", "externals/freetype/src/autofit/afcover.h", "externals/freetype/src/autofit/afdummy.h", "externals/freetype/src/autofit/aferrors.h", "externals/freetype/src/autofit/afglobal.h", "externals/freetype/src/autofit/afhints.h", "externals/freetype/src/autofit/afindic.h", "externals/freetype/src/autofit/aflatin.h", "externals/freetype/src/autofit/afloader.h", "externals/freetype/src/autofit/afmodule.h", "externals/freetype/src/autofit/afranges.h", "externals/freetype/src/autofit/afscript.h", "externals/freetype/src/autofit/afshaper.h", "externals/freetype/src/autofit/afstyles.h", "externals/freetype/src/autofit/aftypes.h", "externals/freetype/src/autofit/afws-decl.h", "externals/freetype/src/autofit/afws-iter.h", "externals/freetype/src/autofit/autofit.c", "externals/freetype/src/base/ftbase.c", "externals/freetype/src/base/ftbase.h", "externals/freetype/src/base/ftbbox.c", "externals/freetype/src/base/ftbitmap.c", "externals/freetype/src/base/ftdebug.c", "externals/freetype/src/base/ftfstype.c", "externals/freetype/src/base/ftgasp.c", "externals/freetype/src/base/ftglyph.c", "externals/freetype/src/base/ftinit.c", "externals/freetype/src/base/ftmm.c", "externals/freetype/src/base/ftpatent.c", "externals/freetype/src/base/ftstroke.c", "externals/freetype/src/base/ftsynth.c", "externals/freetype/src/base/ftsystem.c", "externals/freetype/src/base/fttype1.c", "externals/freetype/src/base/ftwinfnt.c", "externals/freetype/src/base/md5.h", "externals/freetype/src/cff/cff.c", "externals/freetype/src/cff/cffcmap.h", "externals/freetype/src/cff/cffdrivr.h", "externals/freetype/src/cff/cfferrs.h", "externals/freetype/src/cff/cffgload.h", "externals/freetype/src/cff/cffload.h", "externals/freetype/src/cff/cffobjs.h", "externals/freetype/src/cff/cffparse.h", "externals/freetype/src/cff/cfftoken.h", "externals/freetype/src/cid/ciderrs.h", "externals/freetype/src/cid/cidgload.h", "externals/freetype/src/cid/cidload.h", "externals/freetype/src/cid/cidobjs.h", "externals/freetype/src/cid/cidparse.h", "externals/freetype/src/cid/cidriver.h", "externals/freetype/src/cid/cidtoken.h", "externals/freetype/src/cid/type1cid.c", "externals/freetype/src/gzip/crc32.h", "externals/freetype/src/gzip/ftgzip.c", "externals/freetype/src/gzip/ftzconf.h", "externals/freetype/src/gzip/inffast.h", "externals/freetype/src/gzip/inffixed.h", "externals/freetype/src/gzip/inflate.h", "externals/freetype/src/gzip/inftrees.h", "externals/freetype/src/gzip/zlib.h", "externals/freetype/src/gzip/zutil.h", "externals/freetype/src/psaux/afmparse.h", "externals/freetype/src/psaux/cffdecode.h", "externals/freetype/src/psaux/psarrst.h", "externals/freetype/src/psaux/psaux.c", "externals/freetype/src/psaux/psauxerr.h", "externals/freetype/src/psaux/psauxmod.h", "externals/freetype/src/psaux/psblues.h", "externals/freetype/src/psaux/psconv.h", "externals/freetype/src/psaux/pserror.h", "externals/freetype/src/psaux/psfixed.h", "externals/freetype/src/psaux/psfont.h", "externals/freetype/src/psaux/psft.h", "externals/freetype/src/psaux/psglue.h", "externals/freetype/src/psaux/pshints.h", "externals/freetype/src/psaux/psintrp.h", "externals/freetype/src/psaux/psobjs.h", "externals/freetype/src/psaux/psread.h", "externals/freetype/src/psaux/psstack.h", "externals/freetype/src/psaux/pstypes.h", "externals/freetype/src/psaux/t1cmap.h", "externals/freetype/src/psaux/t1decode.h", "externals/freetype/src/pshinter/pshalgo.h", "externals/freetype/src/pshinter/pshglob.h", "externals/freetype/src/pshinter/pshinter.c", "externals/freetype/src/pshinter/pshmod.h", "externals/freetype/src/pshinter/pshnterr.h", "externals/freetype/src/pshinter/pshrec.h", "externals/freetype/src/psnames/psmodule.h", "externals/freetype/src/psnames/psnamerr.h", "externals/freetype/src/psnames/psnames.c", "externals/freetype/src/psnames/pstables.h", "externals/freetype/src/raster/ftmisc.h", "externals/freetype/src/raster/ftraster.h", "externals/freetype/src/raster/ftrend1.h", "externals/freetype/src/raster/raster.c", "externals/freetype/src/raster/rasterrs.h", "externals/freetype/src/sfnt/pngshim.h", "externals/freetype/src/sfnt/sfdriver.h", "externals/freetype/src/sfnt/sferrors.h", "externals/freetype/src/sfnt/sfnt.c", "externals/freetype/src/sfnt/sfobjs.h", "externals/freetype/src/sfnt/sfwoff.h", "externals/freetype/src/sfnt/sfwoff2.h", "externals/freetype/src/sfnt/ttbdf.h", "externals/freetype/src/sfnt/ttcmap.h", "externals/freetype/src/sfnt/ttcmapc.h", "externals/freetype/src/sfnt/ttcolr.h", "externals/freetype/src/sfnt/ttcpal.h", "externals/freetype/src/sfnt/ttkern.h", "externals/freetype/src/sfnt/ttload.h", "externals/freetype/src/sfnt/ttmtx.h", "externals/freetype/src/sfnt/ttpost.h", "externals/freetype/src/sfnt/ttsbit.h", "externals/freetype/src/sfnt/woff2tags.h", "externals/freetype/src/smooth/ftgrays.h", "externals/freetype/src/smooth/ftsmerrs.h", "externals/freetype/src/smooth/ftsmooth.h", "externals/freetype/src/smooth/smooth.c", "externals/freetype/src/truetype/truetype.c", "externals/freetype/src/truetype/ttdriver.h", "externals/freetype/src/truetype/tterrors.h", "externals/freetype/src/truetype/ttgload.h", "externals/freetype/src/truetype/ttgxvar.h", "externals/freetype/src/truetype/ttinterp.h", "externals/freetype/src/truetype/ttobjs.h", "externals/freetype/src/truetype/ttpload.h", "externals/freetype/src/truetype/ttsubpix.h", "externals/freetype/src/type1/t1afm.h", "externals/freetype/src/type1/t1driver.h", "externals/freetype/src/type1/t1errors.h", "externals/freetype/src/type1/t1gload.h", "externals/freetype/src/type1/t1load.h", "externals/freetype/src/type1/t1objs.h", "externals/freetype/src/type1/t1parse.h", "externals/freetype/src/type1/t1tokens.h", "externals/freetype/src/type1/type1.c", "freetype2/include/freetype-android/ftmodule.h", "freetype2/include/freetype-android/ftoption.h", "freetype2/include/freetype-no-type1/ftmodule.h", "freetype2/include/freetype-no-type1/ftoption.h", ], hdrs = [ "externals/freetype/include/freetype/config/ftconfig.h", "externals/freetype/include/freetype/config/ftheader.h", "externals/freetype/include/freetype/config/ftmodule.h", "externals/freetype/include/freetype/config/ftoption.h", "externals/freetype/include/freetype/config/ftstdlib.h", "externals/freetype/include/freetype/config/integer-types.h", "externals/freetype/include/freetype/config/mac-support.h", "externals/freetype/include/freetype/config/public-macros.h", "externals/freetype/include/freetype/freetype.h", "externals/freetype/include/freetype/ftadvanc.h", "externals/freetype/include/freetype/ftbbox.h", "externals/freetype/include/freetype/ftbdf.h", "externals/freetype/include/freetype/ftbitmap.h", "externals/freetype/include/freetype/ftbzip2.h", "externals/freetype/include/freetype/ftcache.h", "externals/freetype/include/freetype/ftchapters.h", "externals/freetype/include/freetype/ftcid.h", "externals/freetype/include/freetype/ftcolor.h", "externals/freetype/include/freetype/ftdriver.h", "externals/freetype/include/freetype/fterrdef.h", "externals/freetype/include/freetype/fterrors.h", "externals/freetype/include/freetype/ftfntfmt.h", "externals/freetype/include/freetype/ftgasp.h", "externals/freetype/include/freetype/ftglyph.h", "externals/freetype/include/freetype/ftgxval.h", "externals/freetype/include/freetype/ftgzip.h", "externals/freetype/include/freetype/ftimage.h", "externals/freetype/include/freetype/ftincrem.h", "externals/freetype/include/freetype/ftlcdfil.h", "externals/freetype/include/freetype/ftlist.h", "externals/freetype/include/freetype/ftlogging.h", "externals/freetype/include/freetype/ftlzw.h", "externals/freetype/include/freetype/ftmac.h", "externals/freetype/include/freetype/ftmm.h", "externals/freetype/include/freetype/ftmodapi.h", "externals/freetype/include/freetype/ftmoderr.h", "externals/freetype/include/freetype/ftotval.h", "externals/freetype/include/freetype/ftoutln.h", "externals/freetype/include/freetype/ftparams.h", "externals/freetype/include/freetype/ftpfr.h", "externals/freetype/include/freetype/ftrender.h", "externals/freetype/include/freetype/ftsizes.h", "externals/freetype/include/freetype/ftsnames.h", "externals/freetype/include/freetype/ftstroke.h", "externals/freetype/include/freetype/ftsynth.h", "externals/freetype/include/freetype/ftsystem.h", "externals/freetype/include/freetype/fttrigon.h", "externals/freetype/include/freetype/fttypes.h", "externals/freetype/include/freetype/ftwinfnt.h", "externals/freetype/include/freetype/t1tables.h", "externals/freetype/include/freetype/ttnameid.h", "externals/freetype/include/freetype/tttables.h", "externals/freetype/include/freetype/tttags.h", "externals/freetype/include/ft2build.h", ], copts = [ "-isystem third_party/externals/freetype/include", "-isystem third_party/freetype2", ], defines = [ # Make this define available to any client that has freetype2 as a dep. "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR)<<24)|((FREETYPE_MINOR)<<16)|((FREETYPE_PATCH)<<8))", ], local_defines = FREETYPE_DEFINES, strip_include_prefix = "externals/freetype/include/", # Freetype includes a lot of .c files. We need to make those available for inclusion explicitly. textual_hdrs = [ "externals/freetype/src/autofit/afblue.c", "externals/freetype/src/autofit/afcjk.c", "externals/freetype/src/autofit/afdummy.c", "externals/freetype/src/autofit/afglobal.c", "externals/freetype/src/autofit/afhints.c", "externals/freetype/src/autofit/afindic.c", "externals/freetype/src/autofit/aflatin.c", "externals/freetype/src/autofit/afloader.c", "externals/freetype/src/autofit/afmodule.c", "externals/freetype/src/autofit/afranges.c", "externals/freetype/src/autofit/afshaper.c", "externals/freetype/src/base/ftadvanc.c", "externals/freetype/src/base/ftbase.c", "externals/freetype/src/base/ftcalc.c", "externals/freetype/src/base/ftcolor.c", "externals/freetype/src/base/ftdbgmem.c", "externals/freetype/src/base/fterrors.c", "externals/freetype/src/base/ftfntfmt.c", "externals/freetype/src/base/ftgloadr.c", "externals/freetype/src/base/fthash.c", "externals/freetype/src/base/ftlcdfil.c", "externals/freetype/src/base/ftmac.c", "externals/freetype/src/base/ftobjs.c", "externals/freetype/src/base/ftoutln.c", "externals/freetype/src/base/ftpsprop.c", "externals/freetype/src/base/ftrfork.c", "externals/freetype/src/base/ftsnames.c", "externals/freetype/src/base/ftstream.c", "externals/freetype/src/base/fttrigon.c", "externals/freetype/src/base/ftutil.c", "externals/freetype/src/cff/cffcmap.c", "externals/freetype/src/cff/cffdrivr.c", "externals/freetype/src/cff/cffgload.c", "externals/freetype/src/cff/cffload.c", "externals/freetype/src/cff/cffobjs.c", "externals/freetype/src/cff/cffparse.c", "externals/freetype/src/cid/cidgload.c", "externals/freetype/src/cid/cidload.c", "externals/freetype/src/cid/cidobjs.c", "externals/freetype/src/cid/cidparse.c", "externals/freetype/src/cid/cidriver.c", "externals/freetype/src/gzip/adler32.c", "externals/freetype/src/gzip/crc32.c", "externals/freetype/src/gzip/inffast.c", "externals/freetype/src/gzip/inflate.c", "externals/freetype/src/gzip/inftrees.c", "externals/freetype/src/gzip/zutil.c", "externals/freetype/src/psaux/afmparse.c", "externals/freetype/src/psaux/cffdecode.c", "externals/freetype/src/psaux/psarrst.c", "externals/freetype/src/psaux/psauxmod.c", "externals/freetype/src/psaux/psblues.c", "externals/freetype/src/psaux/psconv.c", "externals/freetype/src/psaux/pserror.c", "externals/freetype/src/psaux/psfont.c", "externals/freetype/src/psaux/psft.c", "externals/freetype/src/psaux/pshints.c", "externals/freetype/src/psaux/psintrp.c", "externals/freetype/src/psaux/psobjs.c", "externals/freetype/src/psaux/psread.c", "externals/freetype/src/psaux/psstack.c", "externals/freetype/src/psaux/t1cmap.c", "externals/freetype/src/psaux/t1decode.c", "externals/freetype/src/pshinter/pshalgo.c", "externals/freetype/src/pshinter/pshglob.c", "externals/freetype/src/pshinter/pshmod.c", "externals/freetype/src/pshinter/pshrec.c", "externals/freetype/src/psnames/psmodule.c", "externals/freetype/src/raster/ftraster.c", "externals/freetype/src/raster/ftrend1.c", "externals/freetype/src/sfnt/pngshim.c", "externals/freetype/src/sfnt/sfdriver.c", "externals/freetype/src/sfnt/sfobjs.c", "externals/freetype/src/sfnt/sfwoff.c", "externals/freetype/src/sfnt/sfwoff2.c", "externals/freetype/src/sfnt/ttbdf.c", "externals/freetype/src/sfnt/ttcmap.c", "externals/freetype/src/sfnt/ttcolr.c", "externals/freetype/src/sfnt/ttcpal.c", "externals/freetype/src/sfnt/ttkern.c", "externals/freetype/src/sfnt/ttload.c", "externals/freetype/src/sfnt/ttmtx.c", "externals/freetype/src/sfnt/ttpost.c", "externals/freetype/src/sfnt/ttsbit.c", "externals/freetype/src/sfnt/ttsvg.c", "externals/freetype/src/sfnt/woff2tags.c", "externals/freetype/src/smooth/ftgrays.c", "externals/freetype/src/smooth/ftsmooth.c", "externals/freetype/src/truetype/ttdriver.c", "externals/freetype/src/truetype/ttgload.c", "externals/freetype/src/truetype/ttgxvar.c", "externals/freetype/src/truetype/ttinterp.c", "externals/freetype/src/truetype/ttobjs.c", "externals/freetype/src/truetype/ttpload.c", "externals/freetype/src/truetype/ttsubpix.c", "externals/freetype/src/type1/t1afm.c", "externals/freetype/src/type1/t1driver.c", "externals/freetype/src/type1/t1gload.c", "externals/freetype/src/type1/t1load.c", "externals/freetype/src/type1/t1objs.c", "externals/freetype/src/type1/t1parse.c", ], deps = [ ":libpng", # TODO(kjlubick) add brotli option ], ) ICU_HDRS = [ "externals/icu/source/common/bmpset.h", "externals/icu/source/common/brkeng.h", "externals/icu/source/common/bytesinkutil.h", "externals/icu/source/common/capi_helper.h", "externals/icu/source/common/charstr.h", "externals/icu/source/common/charstrmap.h", "externals/icu/source/common/cmemory.h", "externals/icu/source/common/cpputils.h", "externals/icu/source/common/cstr.h", "externals/icu/source/common/cstring.h", "externals/icu/source/common/cwchar.h", "externals/icu/source/common/dictbe.h", "externals/icu/source/common/dictionarydata.h", "externals/icu/source/common/hash.h", "externals/icu/source/common/icuplugimp.h", "externals/icu/source/common/localeprioritylist.h", "externals/icu/source/common/localsvc.h", "externals/icu/source/common/locbased.h", "externals/icu/source/common/locdistance.h", "externals/icu/source/common/loclikelysubtags.h", "externals/icu/source/common/locmap.h", "externals/icu/source/common/locutil.h", "externals/icu/source/common/lsr.h", "externals/icu/source/common/messageimpl.h", "externals/icu/source/common/msvcres.h", "externals/icu/source/common/mutex.h", "externals/icu/source/common/norm2_nfc_data.h", "externals/icu/source/common/norm2allmodes.h", "externals/icu/source/common/normalizer2impl.h", "externals/icu/source/common/patternprops.h", "externals/icu/source/common/pluralmap.h", "externals/icu/source/common/propname.h", "externals/icu/source/common/propname_data.h", "externals/icu/source/common/propsvec.h", "externals/icu/source/common/punycode.h", "externals/icu/source/common/putilimp.h", "externals/icu/source/common/rbbi_cache.h", "externals/icu/source/common/rbbidata.h", "externals/icu/source/common/rbbinode.h", "externals/icu/source/common/rbbirb.h", "externals/icu/source/common/rbbirpt.h", "externals/icu/source/common/rbbiscan.h", "externals/icu/source/common/rbbisetb.h", "externals/icu/source/common/rbbitblb.h", "externals/icu/source/common/resource.h", "externals/icu/source/common/restrace.h", "externals/icu/source/common/ruleiter.h", "externals/icu/source/common/serv.h", "externals/icu/source/common/servloc.h", "externals/icu/source/common/servnotf.h", "externals/icu/source/common/sharedobject.h", "externals/icu/source/common/sprpimpl.h", "externals/icu/source/common/static_unicode_sets.h", "externals/icu/source/common/uarrsort.h", "externals/icu/source/common/uassert.h", "externals/icu/source/common/ubidi_props.h", "externals/icu/source/common/ubidi_props_data.h", "externals/icu/source/common/ubidiimp.h", "externals/icu/source/common/ubrkimpl.h", "externals/icu/source/common/ucase.h", "externals/icu/source/common/ucase_props_data.h", "externals/icu/source/common/ucasemap_imp.h", "externals/icu/source/common/uchar_props_data.h", "externals/icu/source/common/ucln.h", "externals/icu/source/common/ucln_cmn.h", "externals/icu/source/common/ucln_imp.h", "externals/icu/source/common/ucmndata.h", "externals/icu/source/common/ucnv_bld.h", "externals/icu/source/common/ucnv_cnv.h", "externals/icu/source/common/ucnv_ext.h", "externals/icu/source/common/ucnv_imp.h", "externals/icu/source/common/ucnv_io.h", "externals/icu/source/common/ucnvmbcs.h", "externals/icu/source/common/ucol_data.h", "externals/icu/source/common/ucol_swp.h", "externals/icu/source/common/ucptrie_impl.h", "externals/icu/source/common/ucurrimp.h", "externals/icu/source/common/udatamem.h", "externals/icu/source/common/udataswp.h", "externals/icu/source/common/uelement.h", "externals/icu/source/common/uenumimp.h", "externals/icu/source/common/uhash.h", "externals/icu/source/common/uinvchar.h", "externals/icu/source/common/ulayout_props.h", "externals/icu/source/common/ulist.h", "externals/icu/source/common/ulocimp.h", "externals/icu/source/common/umapfile.h", "externals/icu/source/common/umutex.h", "externals/icu/source/common/unicode/appendable.h", "externals/icu/source/common/unicode/brkiter.h", "externals/icu/source/common/unicode/bytestream.h", "externals/icu/source/common/unicode/bytestrie.h", "externals/icu/source/common/unicode/bytestriebuilder.h", "externals/icu/source/common/unicode/caniter.h", "externals/icu/source/common/unicode/casemap.h", "externals/icu/source/common/unicode/char16ptr.h", "externals/icu/source/common/unicode/chariter.h", "externals/icu/source/common/unicode/dbbi.h", "externals/icu/source/common/unicode/docmain.h", "externals/icu/source/common/unicode/dtintrv.h", "externals/icu/source/common/unicode/edits.h", "externals/icu/source/common/unicode/enumset.h", "externals/icu/source/common/unicode/errorcode.h", "externals/icu/source/common/unicode/filteredbrk.h", "externals/icu/source/common/unicode/icudataver.h", "externals/icu/source/common/unicode/icuplug.h", "externals/icu/source/common/unicode/idna.h", "externals/icu/source/common/unicode/localebuilder.h", "externals/icu/source/common/unicode/localematcher.h", "externals/icu/source/common/unicode/localpointer.h", "externals/icu/source/common/unicode/locdspnm.h", "externals/icu/source/common/unicode/locid.h", "externals/icu/source/common/unicode/messagepattern.h", "externals/icu/source/common/unicode/normalizer2.h", "externals/icu/source/common/unicode/normlzr.h", "externals/icu/source/common/unicode/parseerr.h", "externals/icu/source/common/unicode/parsepos.h", "externals/icu/source/common/unicode/platform.h", "externals/icu/source/common/unicode/ptypes.h", "externals/icu/source/common/unicode/putil.h", "externals/icu/source/common/unicode/rbbi.h", "externals/icu/source/common/unicode/rep.h", "externals/icu/source/common/unicode/resbund.h", "externals/icu/source/common/unicode/schriter.h", "externals/icu/source/common/unicode/simpleformatter.h", "externals/icu/source/common/unicode/std_string.h", "externals/icu/source/common/unicode/strenum.h", "externals/icu/source/common/unicode/stringoptions.h", "externals/icu/source/common/unicode/stringpiece.h", "externals/icu/source/common/unicode/stringtriebuilder.h", "externals/icu/source/common/unicode/symtable.h", "externals/icu/source/common/unicode/ubidi.h", "externals/icu/source/common/unicode/ubiditransform.h", "externals/icu/source/common/unicode/ubrk.h", "externals/icu/source/common/unicode/ucasemap.h", "externals/icu/source/common/unicode/ucat.h", "externals/icu/source/common/unicode/uchar.h", "externals/icu/source/common/unicode/ucharstrie.h", "externals/icu/source/common/unicode/ucharstriebuilder.h", "externals/icu/source/common/unicode/uchriter.h", "externals/icu/source/common/unicode/uclean.h", "externals/icu/source/common/unicode/ucnv.h", "externals/icu/source/common/unicode/ucnv_cb.h", "externals/icu/source/common/unicode/ucnv_err.h", "externals/icu/source/common/unicode/ucnvsel.h", "externals/icu/source/common/unicode/uconfig.h", "externals/icu/source/common/unicode/ucpmap.h", "externals/icu/source/common/unicode/ucptrie.h", "externals/icu/source/common/unicode/ucurr.h", "externals/icu/source/common/unicode/udata.h", "externals/icu/source/common/unicode/udisplaycontext.h", "externals/icu/source/common/unicode/uenum.h", "externals/icu/source/common/unicode/uidna.h", "externals/icu/source/common/unicode/uiter.h", "externals/icu/source/common/unicode/uldnames.h", "externals/icu/source/common/unicode/uloc.h", "externals/icu/source/common/unicode/umachine.h", "externals/icu/source/common/unicode/umisc.h", "externals/icu/source/common/unicode/umutablecptrie.h", "externals/icu/source/common/unicode/unifilt.h", "externals/icu/source/common/unicode/unifunct.h", "externals/icu/source/common/unicode/unimatch.h", "externals/icu/source/common/unicode/uniset.h", "externals/icu/source/common/unicode/unistr.h", "externals/icu/source/common/unicode/unorm.h", "externals/icu/source/common/unicode/unorm2.h", "externals/icu/source/common/unicode/uobject.h", "externals/icu/source/common/unicode/urename.h", "externals/icu/source/common/unicode/urep.h", "externals/icu/source/common/unicode/ures.h", "externals/icu/source/common/unicode/uscript.h", "externals/icu/source/common/unicode/uset.h", "externals/icu/source/common/unicode/usetiter.h", "externals/icu/source/common/unicode/ushape.h", "externals/icu/source/common/unicode/usprep.h", "externals/icu/source/common/unicode/ustring.h", "externals/icu/source/common/unicode/ustringtrie.h", "externals/icu/source/common/unicode/utext.h", "externals/icu/source/common/unicode/utf.h", "externals/icu/source/common/unicode/utf16.h", "externals/icu/source/common/unicode/utf32.h", "externals/icu/source/common/unicode/utf8.h", "externals/icu/source/common/unicode/utf_old.h", "externals/icu/source/common/unicode/utrace.h", "externals/icu/source/common/unicode/utypes.h", "externals/icu/source/common/unicode/uvernum.h", "externals/icu/source/common/unicode/uversion.h", "externals/icu/source/common/unifiedcache.h", "externals/icu/source/common/uniquecharstr.h", "externals/icu/source/common/unisetspan.h", "externals/icu/source/common/unistrappender.h", "externals/icu/source/common/unormimp.h", "externals/icu/source/common/uposixdefs.h", "externals/icu/source/common/uprops.h", "externals/icu/source/common/uresdata.h", "externals/icu/source/common/uresimp.h", "externals/icu/source/common/ureslocs.h", "externals/icu/source/common/usc_impl.h", "externals/icu/source/common/uset_imp.h", "externals/icu/source/common/ustr_cnv.h", "externals/icu/source/common/ustr_imp.h", "externals/icu/source/common/ustrenum.h", "externals/icu/source/common/ustrfmt.h", "externals/icu/source/common/util.h", "externals/icu/source/common/utracimp.h", "externals/icu/source/common/utrie.h", "externals/icu/source/common/utrie2.h", "externals/icu/source/common/utrie2_impl.h", "externals/icu/source/common/utypeinfo.h", "externals/icu/source/common/uvector.h", "externals/icu/source/common/uvectr32.h", "externals/icu/source/common/uvectr64.h", "externals/icu/source/common/wintz.h", "externals/icu/source/i18n/anytrans.h", "externals/icu/source/i18n/astro.h", "externals/icu/source/i18n/bocsu.h", "externals/icu/source/i18n/brktrans.h", "externals/icu/source/i18n/buddhcal.h", "externals/icu/source/i18n/casetrn.h", "externals/icu/source/i18n/cecal.h", "externals/icu/source/i18n/chnsecal.h", "externals/icu/source/i18n/collation.h", "externals/icu/source/i18n/collationbuilder.h", "externals/icu/source/i18n/collationcompare.h", "externals/icu/source/i18n/collationdata.h", "externals/icu/source/i18n/collationdatabuilder.h", "externals/icu/source/i18n/collationdatareader.h", "externals/icu/source/i18n/collationdatawriter.h", "externals/icu/source/i18n/collationfastlatin.h", "externals/icu/source/i18n/collationfastlatinbuilder.h", "externals/icu/source/i18n/collationfcd.h", "externals/icu/source/i18n/collationiterator.h", "externals/icu/source/i18n/collationkeys.h", "externals/icu/source/i18n/collationroot.h", "externals/icu/source/i18n/collationrootelements.h", "externals/icu/source/i18n/collationruleparser.h", "externals/icu/source/i18n/collationsets.h", "externals/icu/source/i18n/collationsettings.h", "externals/icu/source/i18n/collationtailoring.h", "externals/icu/source/i18n/collationweights.h", "externals/icu/source/i18n/collunsafe.h", "externals/icu/source/i18n/coptccal.h", "externals/icu/source/i18n/cpdtrans.h", "externals/icu/source/i18n/csdetect.h", "externals/icu/source/i18n/csmatch.h", "externals/icu/source/i18n/csr2022.h", "externals/icu/source/i18n/csrecog.h", "externals/icu/source/i18n/csrmbcs.h", "externals/icu/source/i18n/csrsbcs.h", "externals/icu/source/i18n/csrucode.h", "externals/icu/source/i18n/csrutf8.h", "externals/icu/source/i18n/currfmt.h", "externals/icu/source/i18n/dangical.h", "externals/icu/source/i18n/dayperiodrules.h", "externals/icu/source/i18n/decContext.h", "externals/icu/source/i18n/decNumber.h", "externals/icu/source/i18n/decNumberLocal.h", "externals/icu/source/i18n/double-conversion-bignum-dtoa.h", "externals/icu/source/i18n/double-conversion-bignum.h", "externals/icu/source/i18n/double-conversion-cached-powers.h", "externals/icu/source/i18n/double-conversion-diy-fp.h", "externals/icu/source/i18n/double-conversion-double-to-string.h", "externals/icu/source/i18n/double-conversion-fast-dtoa.h", "externals/icu/source/i18n/double-conversion-ieee.h", "externals/icu/source/i18n/double-conversion-string-to-double.h", "externals/icu/source/i18n/double-conversion-strtod.h", "externals/icu/source/i18n/double-conversion-utils.h", "externals/icu/source/i18n/double-conversion.h", "externals/icu/source/i18n/dt_impl.h", "externals/icu/source/i18n/dtitv_impl.h", "externals/icu/source/i18n/dtptngen_impl.h", "externals/icu/source/i18n/erarules.h", "externals/icu/source/i18n/esctrn.h", "externals/icu/source/i18n/ethpccal.h", "externals/icu/source/i18n/fmtableimp.h", "externals/icu/source/i18n/formatted_string_builder.h", "externals/icu/source/i18n/formattedval_impl.h", "externals/icu/source/i18n/fphdlimp.h", "externals/icu/source/i18n/funcrepl.h", "externals/icu/source/i18n/gregoimp.h", "externals/icu/source/i18n/hebrwcal.h", "externals/icu/source/i18n/indiancal.h", "externals/icu/source/i18n/inputext.h", "externals/icu/source/i18n/islamcal.h", "externals/icu/source/i18n/japancal.h", "externals/icu/source/i18n/measunit_impl.h", "externals/icu/source/i18n/msgfmt_impl.h", "externals/icu/source/i18n/name2uni.h", "externals/icu/source/i18n/nfrlist.h", "externals/icu/source/i18n/nfrs.h", "externals/icu/source/i18n/nfrule.h", "externals/icu/source/i18n/nfsubs.h", "externals/icu/source/i18n/nortrans.h", "externals/icu/source/i18n/nultrans.h", "externals/icu/source/i18n/number_affixutils.h", "externals/icu/source/i18n/number_asformat.h", "externals/icu/source/i18n/number_compact.h", "externals/icu/source/i18n/number_currencysymbols.h", "externals/icu/source/i18n/number_decimalquantity.h", "externals/icu/source/i18n/number_decimfmtprops.h", "externals/icu/source/i18n/number_decnum.h", "externals/icu/source/i18n/number_formatimpl.h", "externals/icu/source/i18n/number_longnames.h", "externals/icu/source/i18n/number_mapper.h", "externals/icu/source/i18n/number_microprops.h", "externals/icu/source/i18n/number_modifiers.h", "externals/icu/source/i18n/number_multiplier.h", "externals/icu/source/i18n/number_patternmodifier.h", "externals/icu/source/i18n/number_patternstring.h", "externals/icu/source/i18n/number_roundingutils.h", "externals/icu/source/i18n/number_scientific.h", "externals/icu/source/i18n/number_skeletons.h", "externals/icu/source/i18n/number_types.h", "externals/icu/source/i18n/number_usageprefs.h", "externals/icu/source/i18n/number_utils.h", "externals/icu/source/i18n/number_utypes.h", "externals/icu/source/i18n/numparse_affixes.h", "externals/icu/source/i18n/numparse_compositions.h", "externals/icu/source/i18n/numparse_currency.h", "externals/icu/source/i18n/numparse_decimal.h", "externals/icu/source/i18n/numparse_impl.h", "externals/icu/source/i18n/numparse_scientific.h", "externals/icu/source/i18n/numparse_symbols.h", "externals/icu/source/i18n/numparse_types.h", "externals/icu/source/i18n/numparse_utils.h", "externals/icu/source/i18n/numparse_validators.h", "externals/icu/source/i18n/numrange_impl.h", "externals/icu/source/i18n/numsys_impl.h", "externals/icu/source/i18n/olsontz.h", "externals/icu/source/i18n/persncal.h", "externals/icu/source/i18n/pluralranges.h", "externals/icu/source/i18n/plurrule_impl.h", "externals/icu/source/i18n/quant.h", "externals/icu/source/i18n/quantityformatter.h", "externals/icu/source/i18n/rbt.h", "externals/icu/source/i18n/rbt_data.h", "externals/icu/source/i18n/rbt_pars.h", "externals/icu/source/i18n/rbt_rule.h", "externals/icu/source/i18n/rbt_set.h", "externals/icu/source/i18n/regexcmp.h", "externals/icu/source/i18n/regexcst.h", "externals/icu/source/i18n/regeximp.h", "externals/icu/source/i18n/regexst.h", "externals/icu/source/i18n/regextxt.h", "externals/icu/source/i18n/region_impl.h", "externals/icu/source/i18n/reldtfmt.h", "externals/icu/source/i18n/remtrans.h", "externals/icu/source/i18n/scriptset.h", "externals/icu/source/i18n/selfmtimpl.h", "externals/icu/source/i18n/sharedbreakiterator.h", "externals/icu/source/i18n/sharedcalendar.h", "externals/icu/source/i18n/shareddateformatsymbols.h", "externals/icu/source/i18n/sharednumberformat.h", "externals/icu/source/i18n/sharedpluralrules.h", "externals/icu/source/i18n/smpdtfst.h", "externals/icu/source/i18n/standardplural.h", "externals/icu/source/i18n/string_segment.h", "externals/icu/source/i18n/strmatch.h", "externals/icu/source/i18n/strrepl.h", "externals/icu/source/i18n/taiwncal.h", "externals/icu/source/i18n/titletrn.h", "externals/icu/source/i18n/tolowtrn.h", "externals/icu/source/i18n/toupptrn.h", "externals/icu/source/i18n/transreg.h", "externals/icu/source/i18n/tridpars.h", "externals/icu/source/i18n/tzgnames.h", "externals/icu/source/i18n/tznames_impl.h", "externals/icu/source/i18n/ucln_in.h", "externals/icu/source/i18n/ucol_imp.h", "externals/icu/source/i18n/uitercollationiterator.h", "externals/icu/source/i18n/umsg_imp.h", "externals/icu/source/i18n/unesctrn.h", "externals/icu/source/i18n/uni2name.h", "externals/icu/source/i18n/unicode/alphaindex.h", "externals/icu/source/i18n/unicode/basictz.h", "externals/icu/source/i18n/unicode/calendar.h", "externals/icu/source/i18n/unicode/choicfmt.h", "externals/icu/source/i18n/unicode/coleitr.h", "externals/icu/source/i18n/unicode/coll.h", "externals/icu/source/i18n/unicode/compactdecimalformat.h", "externals/icu/source/i18n/unicode/curramt.h", "externals/icu/source/i18n/unicode/currpinf.h", "externals/icu/source/i18n/unicode/currunit.h", "externals/icu/source/i18n/unicode/datefmt.h", "externals/icu/source/i18n/unicode/dcfmtsym.h", "externals/icu/source/i18n/unicode/decimfmt.h", "externals/icu/source/i18n/unicode/dtfmtsym.h", "externals/icu/source/i18n/unicode/dtitvfmt.h", "externals/icu/source/i18n/unicode/dtitvinf.h", "externals/icu/source/i18n/unicode/dtptngen.h", "externals/icu/source/i18n/unicode/dtrule.h", "externals/icu/source/i18n/unicode/fieldpos.h", "externals/icu/source/i18n/unicode/fmtable.h", "externals/icu/source/i18n/unicode/format.h", "externals/icu/source/i18n/unicode/formattedvalue.h", "externals/icu/source/i18n/unicode/fpositer.h", "externals/icu/source/i18n/unicode/gender.h", "externals/icu/source/i18n/unicode/gregocal.h", "externals/icu/source/i18n/unicode/listformatter.h", "externals/icu/source/i18n/unicode/measfmt.h", "externals/icu/source/i18n/unicode/measunit.h", "externals/icu/source/i18n/unicode/measure.h", "externals/icu/source/i18n/unicode/msgfmt.h", "externals/icu/source/i18n/unicode/nounit.h", "externals/icu/source/i18n/unicode/numberformatter.h", "externals/icu/source/i18n/unicode/numberrangeformatter.h", "externals/icu/source/i18n/unicode/numfmt.h", "externals/icu/source/i18n/unicode/numsys.h", "externals/icu/source/i18n/unicode/plurfmt.h", "externals/icu/source/i18n/unicode/plurrule.h", "externals/icu/source/i18n/unicode/rbnf.h", "externals/icu/source/i18n/unicode/rbtz.h", "externals/icu/source/i18n/unicode/regex.h", "externals/icu/source/i18n/unicode/region.h", "externals/icu/source/i18n/unicode/reldatefmt.h", "externals/icu/source/i18n/unicode/scientificnumberformatter.h", "externals/icu/source/i18n/unicode/search.h", "externals/icu/source/i18n/unicode/selfmt.h", "externals/icu/source/i18n/unicode/simpletz.h", "externals/icu/source/i18n/unicode/smpdtfmt.h", "externals/icu/source/i18n/unicode/sortkey.h", "externals/icu/source/i18n/unicode/stsearch.h", "externals/icu/source/i18n/unicode/tblcoll.h", "externals/icu/source/i18n/unicode/timezone.h", "externals/icu/source/i18n/unicode/tmunit.h", "externals/icu/source/i18n/unicode/tmutamt.h", "externals/icu/source/i18n/unicode/tmutfmt.h", "externals/icu/source/i18n/unicode/translit.h", "externals/icu/source/i18n/unicode/tzfmt.h", "externals/icu/source/i18n/unicode/tznames.h", "externals/icu/source/i18n/unicode/tzrule.h", "externals/icu/source/i18n/unicode/tztrans.h", "externals/icu/source/i18n/unicode/ucal.h", "externals/icu/source/i18n/unicode/ucol.h", "externals/icu/source/i18n/unicode/ucoleitr.h", "externals/icu/source/i18n/unicode/ucsdet.h", "externals/icu/source/i18n/unicode/udat.h", "externals/icu/source/i18n/unicode/udateintervalformat.h", "externals/icu/source/i18n/unicode/udatpg.h", "externals/icu/source/i18n/unicode/ufieldpositer.h", "externals/icu/source/i18n/unicode/uformattable.h", "externals/icu/source/i18n/unicode/uformattedvalue.h", "externals/icu/source/i18n/unicode/ugender.h", "externals/icu/source/i18n/unicode/ulistformatter.h", "externals/icu/source/i18n/unicode/ulocdata.h", "externals/icu/source/i18n/unicode/umsg.h", "externals/icu/source/i18n/unicode/unirepl.h", "externals/icu/source/i18n/unicode/unum.h", "externals/icu/source/i18n/unicode/unumberformatter.h", "externals/icu/source/i18n/unicode/unumberrangeformatter.h", "externals/icu/source/i18n/unicode/unumsys.h", "externals/icu/source/i18n/unicode/upluralrules.h", "externals/icu/source/i18n/unicode/uregex.h", "externals/icu/source/i18n/unicode/uregion.h", "externals/icu/source/i18n/unicode/ureldatefmt.h", "externals/icu/source/i18n/unicode/usearch.h", "externals/icu/source/i18n/unicode/uspoof.h", "externals/icu/source/i18n/unicode/utmscale.h", "externals/icu/source/i18n/unicode/utrans.h", "externals/icu/source/i18n/unicode/vtzone.h", "externals/icu/source/i18n/units_complexconverter.h", "externals/icu/source/i18n/units_converter.h", "externals/icu/source/i18n/units_data.h", "externals/icu/source/i18n/units_router.h", "externals/icu/source/i18n/uspoof_conf.h", "externals/icu/source/i18n/uspoof_impl.h", "externals/icu/source/i18n/usrchimp.h", "externals/icu/source/i18n/utf16collationiterator.h", "externals/icu/source/i18n/utf8collationiterator.h", "externals/icu/source/i18n/vzone.h", "externals/icu/source/i18n/windtfmt.h", "externals/icu/source/i18n/winnmfmt.h", "externals/icu/source/i18n/wintzimpl.h", "externals/icu/source/i18n/zonemeta.h", "externals/icu/source/i18n/zrule.h", "externals/icu/source/i18n/ztrans.h", "icu/SkLoadICU.h", ] ICU_SRCS = [ "externals/icu/source/common/bmpset.cpp", "externals/icu/source/common/brkeng.cpp", "externals/icu/source/common/brkiter.cpp", "externals/icu/source/common/bytesinkutil.cpp", "externals/icu/source/common/bytestream.cpp", "externals/icu/source/common/bytestrie.cpp", "externals/icu/source/common/bytestriebuilder.cpp", "externals/icu/source/common/bytestrieiterator.cpp", "externals/icu/source/common/caniter.cpp", "externals/icu/source/common/characterproperties.cpp", "externals/icu/source/common/chariter.cpp", "externals/icu/source/common/charstr.cpp", "externals/icu/source/common/cmemory.cpp", "externals/icu/source/common/cstr.cpp", "externals/icu/source/common/cstring.cpp", "externals/icu/source/common/cwchar.cpp", "externals/icu/source/common/dictbe.cpp", "externals/icu/source/common/dictionarydata.cpp", "externals/icu/source/common/dtintrv.cpp", "externals/icu/source/common/edits.cpp", "externals/icu/source/common/errorcode.cpp", "externals/icu/source/common/filteredbrk.cpp", "externals/icu/source/common/filterednormalizer2.cpp", "externals/icu/source/common/icudataver.cpp", "externals/icu/source/common/icuplug.cpp", "externals/icu/source/common/loadednormalizer2impl.cpp", "externals/icu/source/common/localebuilder.cpp", "externals/icu/source/common/locavailable.cpp", "externals/icu/source/common/locbased.cpp", "externals/icu/source/common/locdispnames.cpp", "externals/icu/source/common/locdspnm.cpp", "externals/icu/source/common/locid.cpp", "externals/icu/source/common/loclikely.cpp", "externals/icu/source/common/locmap.cpp", "externals/icu/source/common/locresdata.cpp", "externals/icu/source/common/locutil.cpp", "externals/icu/source/common/messagepattern.cpp", "externals/icu/source/common/normalizer2.cpp", "externals/icu/source/common/normalizer2impl.cpp", "externals/icu/source/common/normlzr.cpp", "externals/icu/source/common/parsepos.cpp", "externals/icu/source/common/patternprops.cpp", "externals/icu/source/common/pluralmap.cpp", "externals/icu/source/common/propname.cpp", "externals/icu/source/common/propsvec.cpp", "externals/icu/source/common/punycode.cpp", "externals/icu/source/common/putil.cpp", "externals/icu/source/common/rbbi.cpp", "externals/icu/source/common/rbbi_cache.cpp", "externals/icu/source/common/rbbidata.cpp", "externals/icu/source/common/rbbinode.cpp", "externals/icu/source/common/rbbirb.cpp", "externals/icu/source/common/rbbiscan.cpp", "externals/icu/source/common/rbbisetb.cpp", "externals/icu/source/common/rbbistbl.cpp", "externals/icu/source/common/rbbitblb.cpp", "externals/icu/source/common/resbund.cpp", "externals/icu/source/common/resbund_cnv.cpp", "externals/icu/source/common/resource.cpp", "externals/icu/source/common/ruleiter.cpp", "externals/icu/source/common/schriter.cpp", "externals/icu/source/common/serv.cpp", "externals/icu/source/common/servlk.cpp", "externals/icu/source/common/servlkf.cpp", "externals/icu/source/common/servls.cpp", "externals/icu/source/common/servnotf.cpp", "externals/icu/source/common/servrbf.cpp", "externals/icu/source/common/servslkf.cpp", "externals/icu/source/common/sharedobject.cpp", "externals/icu/source/common/simpleformatter.cpp", "externals/icu/source/common/static_unicode_sets.cpp", "externals/icu/source/common/stringpiece.cpp", "externals/icu/source/common/stringtriebuilder.cpp", "externals/icu/source/common/uarrsort.cpp", "externals/icu/source/common/ubidi.cpp", "externals/icu/source/common/ubidi_props.cpp", "externals/icu/source/common/ubidiln.cpp", "externals/icu/source/common/ubiditransform.cpp", "externals/icu/source/common/ubidiwrt.cpp", "externals/icu/source/common/ubrk.cpp", "externals/icu/source/common/ucase.cpp", "externals/icu/source/common/ucasemap.cpp", "externals/icu/source/common/ucasemap_titlecase_brkiter.cpp", "externals/icu/source/common/ucat.cpp", "externals/icu/source/common/uchar.cpp", "externals/icu/source/common/ucharstrie.cpp", "externals/icu/source/common/ucharstriebuilder.cpp", "externals/icu/source/common/ucharstrieiterator.cpp", "externals/icu/source/common/uchriter.cpp", "externals/icu/source/common/ucln_cmn.cpp", "externals/icu/source/common/ucmndata.cpp", "externals/icu/source/common/ucnv.cpp", "externals/icu/source/common/ucnv2022.cpp", "externals/icu/source/common/ucnv_bld.cpp", "externals/icu/source/common/ucnv_cb.cpp", "externals/icu/source/common/ucnv_cnv.cpp", "externals/icu/source/common/ucnv_ct.cpp", "externals/icu/source/common/ucnv_err.cpp", "externals/icu/source/common/ucnv_ext.cpp", "externals/icu/source/common/ucnv_io.cpp", "externals/icu/source/common/ucnv_lmb.cpp", "externals/icu/source/common/ucnv_set.cpp", "externals/icu/source/common/ucnv_u16.cpp", "externals/icu/source/common/ucnv_u32.cpp", "externals/icu/source/common/ucnv_u7.cpp", "externals/icu/source/common/ucnv_u8.cpp", "externals/icu/source/common/ucnvbocu.cpp", "externals/icu/source/common/ucnvdisp.cpp", "externals/icu/source/common/ucnvhz.cpp", "externals/icu/source/common/ucnvisci.cpp", "externals/icu/source/common/ucnvlat1.cpp", "externals/icu/source/common/ucnvmbcs.cpp", "externals/icu/source/common/ucnvscsu.cpp", "externals/icu/source/common/ucnvsel.cpp", "externals/icu/source/common/ucol_swp.cpp", "externals/icu/source/common/ucptrie.cpp", "externals/icu/source/common/ucurr.cpp", "externals/icu/source/common/udata.cpp", "externals/icu/source/common/udatamem.cpp", "externals/icu/source/common/udataswp.cpp", "externals/icu/source/common/uenum.cpp", "externals/icu/source/common/uhash.cpp", "externals/icu/source/common/uhash_us.cpp", "externals/icu/source/common/uidna.cpp", "externals/icu/source/common/uinit.cpp", "externals/icu/source/common/uinvchar.cpp", "externals/icu/source/common/uiter.cpp", "externals/icu/source/common/ulist.cpp", "externals/icu/source/common/uloc.cpp", "externals/icu/source/common/uloc_keytype.cpp", "externals/icu/source/common/uloc_tag.cpp", "externals/icu/source/common/umapfile.cpp", "externals/icu/source/common/umath.cpp", "externals/icu/source/common/umutablecptrie.cpp", "externals/icu/source/common/umutex.cpp", "externals/icu/source/common/unames.cpp", "externals/icu/source/common/unifiedcache.cpp", "externals/icu/source/common/unifilt.cpp", "externals/icu/source/common/unifunct.cpp", "externals/icu/source/common/uniset.cpp", "externals/icu/source/common/uniset_closure.cpp", "externals/icu/source/common/uniset_props.cpp", "externals/icu/source/common/unisetspan.cpp", "externals/icu/source/common/unistr.cpp", "externals/icu/source/common/unistr_case.cpp", "externals/icu/source/common/unistr_case_locale.cpp", "externals/icu/source/common/unistr_cnv.cpp", "externals/icu/source/common/unistr_props.cpp", "externals/icu/source/common/unistr_titlecase_brkiter.cpp", "externals/icu/source/common/unorm.cpp", "externals/icu/source/common/unormcmp.cpp", "externals/icu/source/common/uobject.cpp", "externals/icu/source/common/uprops.cpp", "externals/icu/source/common/ures_cnv.cpp", "externals/icu/source/common/uresbund.cpp", "externals/icu/source/common/uresdata.cpp", "externals/icu/source/common/usc_impl.cpp", "externals/icu/source/common/uscript.cpp", "externals/icu/source/common/uscript_props.cpp", "externals/icu/source/common/uset.cpp", "externals/icu/source/common/uset_props.cpp", "externals/icu/source/common/usetiter.cpp", "externals/icu/source/common/ushape.cpp", "externals/icu/source/common/usprep.cpp", "externals/icu/source/common/ustack.cpp", "externals/icu/source/common/ustr_cnv.cpp", "externals/icu/source/common/ustr_titlecase_brkiter.cpp", "externals/icu/source/common/ustr_wcs.cpp", "externals/icu/source/common/ustrcase.cpp", "externals/icu/source/common/ustrcase_locale.cpp", "externals/icu/source/common/ustrenum.cpp", "externals/icu/source/common/ustrfmt.cpp", "externals/icu/source/common/ustring.cpp", "externals/icu/source/common/ustrtrns.cpp", "externals/icu/source/common/utext.cpp", "externals/icu/source/common/utf_impl.cpp", "externals/icu/source/common/util.cpp", "externals/icu/source/common/util_props.cpp", "externals/icu/source/common/utrace.cpp", "externals/icu/source/common/utrie.cpp", "externals/icu/source/common/utrie2.cpp", "externals/icu/source/common/utrie2_builder.cpp", "externals/icu/source/common/utrie_swap.cpp", "externals/icu/source/common/uts46.cpp", "externals/icu/source/common/utypes.cpp", "externals/icu/source/common/uvector.cpp", "externals/icu/source/common/uvectr32.cpp", "externals/icu/source/common/uvectr64.cpp", "externals/icu/source/common/wintz.cpp", "externals/icu/source/i18n/alphaindex.cpp", "externals/icu/source/i18n/anytrans.cpp", "externals/icu/source/i18n/astro.cpp", "externals/icu/source/i18n/basictz.cpp", "externals/icu/source/i18n/bocsu.cpp", "externals/icu/source/i18n/brktrans.cpp", "externals/icu/source/i18n/buddhcal.cpp", "externals/icu/source/i18n/calendar.cpp", "externals/icu/source/i18n/casetrn.cpp", "externals/icu/source/i18n/cecal.cpp", "externals/icu/source/i18n/chnsecal.cpp", "externals/icu/source/i18n/choicfmt.cpp", "externals/icu/source/i18n/coleitr.cpp", "externals/icu/source/i18n/coll.cpp", "externals/icu/source/i18n/collation.cpp", "externals/icu/source/i18n/collationbuilder.cpp", "externals/icu/source/i18n/collationcompare.cpp", "externals/icu/source/i18n/collationdata.cpp", "externals/icu/source/i18n/collationdatabuilder.cpp", "externals/icu/source/i18n/collationdatareader.cpp", "externals/icu/source/i18n/collationdatawriter.cpp", "externals/icu/source/i18n/collationfastlatin.cpp", "externals/icu/source/i18n/collationfastlatinbuilder.cpp", "externals/icu/source/i18n/collationfcd.cpp", "externals/icu/source/i18n/collationiterator.cpp", "externals/icu/source/i18n/collationkeys.cpp", "externals/icu/source/i18n/collationroot.cpp", "externals/icu/source/i18n/collationrootelements.cpp", "externals/icu/source/i18n/collationruleparser.cpp", "externals/icu/source/i18n/collationsets.cpp", "externals/icu/source/i18n/collationsettings.cpp", "externals/icu/source/i18n/collationtailoring.cpp", "externals/icu/source/i18n/collationweights.cpp", "externals/icu/source/i18n/compactdecimalformat.cpp", "externals/icu/source/i18n/coptccal.cpp", "externals/icu/source/i18n/cpdtrans.cpp", "externals/icu/source/i18n/csdetect.cpp", "externals/icu/source/i18n/csmatch.cpp", "externals/icu/source/i18n/csr2022.cpp", "externals/icu/source/i18n/csrecog.cpp", "externals/icu/source/i18n/csrmbcs.cpp", "externals/icu/source/i18n/csrsbcs.cpp", "externals/icu/source/i18n/csrucode.cpp", "externals/icu/source/i18n/csrutf8.cpp", "externals/icu/source/i18n/curramt.cpp", "externals/icu/source/i18n/currfmt.cpp", "externals/icu/source/i18n/currpinf.cpp", "externals/icu/source/i18n/currunit.cpp", "externals/icu/source/i18n/dangical.cpp", "externals/icu/source/i18n/datefmt.cpp", "externals/icu/source/i18n/dayperiodrules.cpp", "externals/icu/source/i18n/dcfmtsym.cpp", "externals/icu/source/i18n/decContext.cpp", "externals/icu/source/i18n/decimfmt.cpp", "externals/icu/source/i18n/decNumber.cpp", "externals/icu/source/i18n/double-conversion-bignum-dtoa.cpp", "externals/icu/source/i18n/double-conversion-bignum.cpp", "externals/icu/source/i18n/double-conversion-cached-powers.cpp", "externals/icu/source/i18n/double-conversion-fast-dtoa.cpp", "externals/icu/source/i18n/double-conversion-strtod.cpp", "externals/icu/source/i18n/dtfmtsym.cpp", "externals/icu/source/i18n/dtitvfmt.cpp", "externals/icu/source/i18n/dtitvinf.cpp", "externals/icu/source/i18n/dtptngen.cpp", "externals/icu/source/i18n/dtrule.cpp", "externals/icu/source/i18n/erarules.cpp", "externals/icu/source/i18n/esctrn.cpp", "externals/icu/source/i18n/ethpccal.cpp", "externals/icu/source/i18n/fmtable.cpp", "externals/icu/source/i18n/fmtable_cnv.cpp", "externals/icu/source/i18n/format.cpp", "externals/icu/source/i18n/fphdlimp.cpp", "externals/icu/source/i18n/fpositer.cpp", "externals/icu/source/i18n/funcrepl.cpp", "externals/icu/source/i18n/gender.cpp", "externals/icu/source/i18n/gregocal.cpp", "externals/icu/source/i18n/gregoimp.cpp", "externals/icu/source/i18n/hebrwcal.cpp", "externals/icu/source/i18n/indiancal.cpp", "externals/icu/source/i18n/inputext.cpp", "externals/icu/source/i18n/islamcal.cpp", "externals/icu/source/i18n/japancal.cpp", "externals/icu/source/i18n/listformatter.cpp", "externals/icu/source/i18n/measfmt.cpp", "externals/icu/source/i18n/measunit.cpp", "externals/icu/source/i18n/measure.cpp", "externals/icu/source/i18n/msgfmt.cpp", "externals/icu/source/i18n/name2uni.cpp", "externals/icu/source/i18n/nfrs.cpp", "externals/icu/source/i18n/nfrule.cpp", "externals/icu/source/i18n/nfsubs.cpp", "externals/icu/source/i18n/nortrans.cpp", "externals/icu/source/i18n/nultrans.cpp", "externals/icu/source/i18n/number_affixutils.cpp", "externals/icu/source/i18n/number_asformat.cpp", "externals/icu/source/i18n/number_capi.cpp", "externals/icu/source/i18n/number_compact.cpp", "externals/icu/source/i18n/number_currencysymbols.cpp", "externals/icu/source/i18n/number_decimalquantity.cpp", "externals/icu/source/i18n/number_decimfmtprops.cpp", "externals/icu/source/i18n/number_fluent.cpp", "externals/icu/source/i18n/number_formatimpl.cpp", "externals/icu/source/i18n/number_grouping.cpp", "externals/icu/source/i18n/number_integerwidth.cpp", "externals/icu/source/i18n/number_longnames.cpp", "externals/icu/source/i18n/number_mapper.cpp", "externals/icu/source/i18n/number_modifiers.cpp", "externals/icu/source/i18n/number_multiplier.cpp", "externals/icu/source/i18n/number_notation.cpp", "externals/icu/source/i18n/number_padding.cpp", "externals/icu/source/i18n/number_patternmodifier.cpp", "externals/icu/source/i18n/number_patternstring.cpp", "externals/icu/source/i18n/number_rounding.cpp", "externals/icu/source/i18n/number_scientific.cpp", "externals/icu/source/i18n/number_skeletons.cpp", "externals/icu/source/i18n/number_utils.cpp", "externals/icu/source/i18n/numfmt.cpp", "externals/icu/source/i18n/numparse_affixes.cpp", "externals/icu/source/i18n/numparse_compositions.cpp", "externals/icu/source/i18n/numparse_currency.cpp", "externals/icu/source/i18n/numparse_decimal.cpp", "externals/icu/source/i18n/numparse_impl.cpp", "externals/icu/source/i18n/numparse_parsednumber.cpp", "externals/icu/source/i18n/numparse_scientific.cpp", "externals/icu/source/i18n/numparse_symbols.cpp", "externals/icu/source/i18n/numparse_validators.cpp", "externals/icu/source/i18n/numrange_fluent.cpp", "externals/icu/source/i18n/numrange_impl.cpp", "externals/icu/source/i18n/numsys.cpp", "externals/icu/source/i18n/olsontz.cpp", "externals/icu/source/i18n/persncal.cpp", "externals/icu/source/i18n/plurfmt.cpp", "externals/icu/source/i18n/plurrule.cpp", "externals/icu/source/i18n/quant.cpp", "externals/icu/source/i18n/quantityformatter.cpp", "externals/icu/source/i18n/rbnf.cpp", "externals/icu/source/i18n/rbt.cpp", "externals/icu/source/i18n/rbt_data.cpp", "externals/icu/source/i18n/rbt_pars.cpp", "externals/icu/source/i18n/rbt_rule.cpp", "externals/icu/source/i18n/rbt_set.cpp", "externals/icu/source/i18n/rbtz.cpp", "externals/icu/source/i18n/regexcmp.cpp", "externals/icu/source/i18n/regeximp.cpp", "externals/icu/source/i18n/regexst.cpp", "externals/icu/source/i18n/regextxt.cpp", "externals/icu/source/i18n/region.cpp", "externals/icu/source/i18n/reldatefmt.cpp", "externals/icu/source/i18n/reldtfmt.cpp", "externals/icu/source/i18n/rematch.cpp", "externals/icu/source/i18n/remtrans.cpp", "externals/icu/source/i18n/repattrn.cpp", "externals/icu/source/i18n/rulebasedcollator.cpp", "externals/icu/source/i18n/scientificnumberformatter.cpp", "externals/icu/source/i18n/scriptset.cpp", "externals/icu/source/i18n/search.cpp", "externals/icu/source/i18n/selfmt.cpp", "externals/icu/source/i18n/sharedbreakiterator.cpp", "externals/icu/source/i18n/simpletz.cpp", "externals/icu/source/i18n/smpdtfmt.cpp", "externals/icu/source/i18n/smpdtfst.cpp", "externals/icu/source/i18n/sortkey.cpp", "externals/icu/source/i18n/standardplural.cpp", "externals/icu/source/i18n/strmatch.cpp", "externals/icu/source/i18n/strrepl.cpp", "externals/icu/source/i18n/stsearch.cpp", "externals/icu/source/i18n/taiwncal.cpp", "externals/icu/source/i18n/timezone.cpp", "externals/icu/source/i18n/titletrn.cpp", "externals/icu/source/i18n/tmunit.cpp", "externals/icu/source/i18n/tmutamt.cpp", "externals/icu/source/i18n/tmutfmt.cpp", "externals/icu/source/i18n/tolowtrn.cpp", "externals/icu/source/i18n/toupptrn.cpp", "externals/icu/source/i18n/translit.cpp", "externals/icu/source/i18n/transreg.cpp", "externals/icu/source/i18n/tridpars.cpp", "externals/icu/source/i18n/tzfmt.cpp", "externals/icu/source/i18n/tzgnames.cpp", "externals/icu/source/i18n/tznames.cpp", "externals/icu/source/i18n/tznames_impl.cpp", "externals/icu/source/i18n/tzrule.cpp", "externals/icu/source/i18n/tztrans.cpp", "externals/icu/source/i18n/ucal.cpp", "externals/icu/source/i18n/ucln_in.cpp", "externals/icu/source/i18n/ucol.cpp", "externals/icu/source/i18n/ucol_res.cpp", "externals/icu/source/i18n/ucol_sit.cpp", "externals/icu/source/i18n/ucoleitr.cpp", "externals/icu/source/i18n/ucsdet.cpp", "externals/icu/source/i18n/udat.cpp", "externals/icu/source/i18n/udateintervalformat.cpp", "externals/icu/source/i18n/udatpg.cpp", "externals/icu/source/i18n/ufieldpositer.cpp", "externals/icu/source/i18n/uitercollationiterator.cpp", "externals/icu/source/i18n/ulistformatter.cpp", "externals/icu/source/i18n/ulocdata.cpp", "externals/icu/source/i18n/umsg.cpp", "externals/icu/source/i18n/unesctrn.cpp", "externals/icu/source/i18n/uni2name.cpp", "externals/icu/source/i18n/unum.cpp", "externals/icu/source/i18n/unumsys.cpp", "externals/icu/source/i18n/upluralrules.cpp", "externals/icu/source/i18n/uregex.cpp", "externals/icu/source/i18n/uregexc.cpp", "externals/icu/source/i18n/uregion.cpp", "externals/icu/source/i18n/usearch.cpp", "externals/icu/source/i18n/uspoof.cpp", "externals/icu/source/i18n/uspoof_build.cpp", "externals/icu/source/i18n/uspoof_conf.cpp", "externals/icu/source/i18n/uspoof_impl.cpp", "externals/icu/source/i18n/utf16collationiterator.cpp", "externals/icu/source/i18n/utf8collationiterator.cpp", "externals/icu/source/i18n/utmscale.cpp", "externals/icu/source/i18n/utrans.cpp", "externals/icu/source/i18n/vtzone.cpp", "externals/icu/source/i18n/vzone.cpp", "externals/icu/source/i18n/windtfmt.cpp", "externals/icu/source/i18n/winnmfmt.cpp", "externals/icu/source/i18n/wintzimpl.cpp", "externals/icu/source/i18n/zonemeta.cpp", "externals/icu/source/i18n/zrule.cpp", "externals/icu/source/i18n/ztrans.cpp", "externals/icu/source/common/appendable.cpp", ] + select({ "@platforms//os:windows": [ "externals/icu/source/stubdata/stubdata.cpp", "icu/SkLoadICU.cpp", ], "//bazel/common_config_settings:cpu_wasm": ["generated_icu_wasm_dat.cpp"], "@platforms//os:android": ["generated_icu_android_dat.S"], "@platforms//os:ios": ["generated_icu_ios_dat.S"], "//conditions:default": ["generated_icu_common_dat.S"], }) cc_library( name = "icu", srcs = ICU_SRCS, hdrs = ICU_HDRS, copts = [ "-Wno-deprecated-declarations", "-Wno-unused-but-set-variable", "-Wno-unused-function", ], defines = [ "U_USING_ICU_NAMESPACE=0", "U_DISABLE_RENAMING", "SK_USING_THIRD_PARTY_ICU", ], includes = [ "externals/icu/source/common", "externals/icu/source/i18n", "icu", ], local_defines = [ # http://userguide.icu-project.org/howtouseicu "U_COMMON_IMPLEMENTATION", "U_STATIC_IMPLEMENTATION", "U_ENABLE_DYLOAD=0", "U_I18N_IMPLEMENTATION", # If we don't set this to zero, ICU will set it to 600, # which makes Macs set _POSIX_C_SOURCE=200112L, # which makes Macs set __DARWIN_C_LEVEL=_POSIX_C_SOURCE instead of =__DARWIN_C_FULL, # which makes not expose timespec_get, # which makes recent libc++ not #include-able with -std=c++17. "_XOPEN_SOURCE=0", ] + select({ # Tell ICU that we are a 32 bit platform, otherwise, # double-conversion-utils.h doesn't know how to operate. "//bazel/common_config_settings:cpu_wasm": ["__i386__"], "//conditions:default": [], }), ) _icu_version_major_num = "69" # defined in source/common/unicode/uvernum.h genrule( name = "create_icu_wasm_data_cpp", # For WASM, we use a super stripped down version, the same as what flutter uses. srcs = ["externals/icu/flutter/icudtl.dat"], outs = ["generated_icu_wasm_dat.cpp"], cmd = "$(location :make_data_cpp) " + "icudt" + _icu_version_major_num + "_dat " + # We need to specify the absolute path from the root "third_party/externals/icu/flutter/icudtl.dat " + # The $@ means substitute in the one and only output location, which will be located # in //bazel-out. "$@", tools = [":make_data_cpp"], ) # We need to make a separate genrule per input because cmd cannot be based on a select() genrule( name = "create_icu_common_data_asm", srcs = ["externals/icu/common/icudtl.dat"], outs = ["generated_icu_common_dat.S"], cmd = "$(location :make_data_assembly) " + # We need to specify the absolute path from the root "third_party/externals/icu/common/icudtl.dat " + # The $@ means substitute in the one and only output location, which will be located # in //bazel-out. "$@", tools = [":make_data_assembly"], ) genrule( name = "create_icu_android_data_asm", srcs = ["externals/icu/android/icudtl.dat"], outs = ["generated_icu_android_dat.S"], cmd = "$(location :make_data_assembly) " + # We need to specify the absolute path from the root "third_party/externals/icu/common/icudtl.dat " + # The $@ means substitute in the one and only output location, which will be located # in //bazel-out. "$@", tools = [":make_data_assembly"], ) genrule( name = "create_icu_ios_data_asm", srcs = ["externals/icu/ios/icudtl.dat"], outs = ["generated_icu_ios_dat.S"], cmd = "$(location :make_data_assembly) " + # We need to specify the absolute path from the root "third_party/externals/icu/common/icudtl.dat " + # The $@ means substitute in the one and only output location, which will be located # in //bazel-out. "$@", tools = [":make_data_assembly"], ) py_binary( name = "make_data_assembly", srcs = ["externals/icu/scripts/make_data_assembly.py"], ) py_binary( name = "make_data_cpp", srcs = ["icu/make_data_cpp.py"], ) HARFBUZZ_HDRS = [ "externals/harfbuzz/src/hb-aat-layout.h", "externals/harfbuzz/src/hb-blob.h", "externals/harfbuzz/src/hb-buffer.h", "externals/harfbuzz/src/hb-common.h", "externals/harfbuzz/src/hb-deprecated.h", "externals/harfbuzz/src/hb-face.h", "externals/harfbuzz/src/hb-font.h", "externals/harfbuzz/src/hb-map.h", "externals/harfbuzz/src/hb-ot-font.h", "externals/harfbuzz/src/hb-ot-layout.h", "externals/harfbuzz/src/hb-ot-math.h", "externals/harfbuzz/src/hb-ot-metrics.h", "externals/harfbuzz/src/hb-ot-shape.h", "externals/harfbuzz/src/hb-ot-var.h", "externals/harfbuzz/src/hb-ot.h", "externals/harfbuzz/src/hb-set.h", "externals/harfbuzz/src/hb-shape-plan.h", "externals/harfbuzz/src/hb-shape.h", "externals/harfbuzz/src/hb-style.h", "externals/harfbuzz/src/hb-subset.h", "externals/harfbuzz/src/hb-unicode.h", "externals/harfbuzz/src/hb-version.h", "externals/harfbuzz/src/hb.h", ] HARFBUZZ_SRCS = [ "externals/harfbuzz/src/hb-aat-layout-ankr-table.hh", "externals/harfbuzz/src/hb-aat-layout-bsln-table.hh", "externals/harfbuzz/src/hb-aat-layout-common.hh", "externals/harfbuzz/src/hb-aat-layout-feat-table.hh", "externals/harfbuzz/src/hb-aat-layout-just-table.hh", "externals/harfbuzz/src/hb-aat-layout-kerx-table.hh", "externals/harfbuzz/src/hb-aat-layout-morx-table.hh", "externals/harfbuzz/src/hb-aat-layout-opbd-table.hh", "externals/harfbuzz/src/hb-aat-layout-trak-table.hh", "externals/harfbuzz/src/hb-aat-layout.cc", "externals/harfbuzz/src/hb-aat-layout.hh", "externals/harfbuzz/src/hb-aat-ltag-table.hh", "externals/harfbuzz/src/hb-aat-map.cc", "externals/harfbuzz/src/hb-aat-map.hh", "externals/harfbuzz/src/hb-aat.h", "externals/harfbuzz/src/hb-algs.hh", "externals/harfbuzz/src/hb-array.hh", "externals/harfbuzz/src/hb-atomic.hh", "externals/harfbuzz/src/hb-bimap.hh", "externals/harfbuzz/src/hb-bit-page.hh", "externals/harfbuzz/src/hb-bit-set-invertible.hh", "externals/harfbuzz/src/hb-bit-set.hh", "externals/harfbuzz/src/hb-blob.cc", "externals/harfbuzz/src/hb-blob.hh", "externals/harfbuzz/src/hb-buffer-deserialize-json.hh", "externals/harfbuzz/src/hb-buffer-deserialize-text.hh", "externals/harfbuzz/src/hb-buffer-serialize.cc", "externals/harfbuzz/src/hb-buffer.cc", "externals/harfbuzz/src/hb-buffer.hh", "externals/harfbuzz/src/hb-cache.hh", "externals/harfbuzz/src/hb-cff-interp-common.hh", "externals/harfbuzz/src/hb-cff-interp-cs-common.hh", "externals/harfbuzz/src/hb-cff-interp-dict-common.hh", "externals/harfbuzz/src/hb-cff1-interp-cs.hh", "externals/harfbuzz/src/hb-cff2-interp-cs.hh", "externals/harfbuzz/src/hb-common.cc", "externals/harfbuzz/src/hb-config.hh", "externals/harfbuzz/src/hb-debug.hh", "externals/harfbuzz/src/hb-dispatch.hh", "externals/harfbuzz/src/hb-draw.cc", "externals/harfbuzz/src/hb-draw.h", "externals/harfbuzz/src/hb-draw.hh", "externals/harfbuzz/src/hb-face.cc", "externals/harfbuzz/src/hb-face.hh", "externals/harfbuzz/src/hb-font.cc", "externals/harfbuzz/src/hb-font.hh", "externals/harfbuzz/src/hb-iter.hh", "externals/harfbuzz/src/hb-kern.hh", "externals/harfbuzz/src/hb-machinery.hh", "externals/harfbuzz/src/hb-map.cc", "externals/harfbuzz/src/hb-map.hh", "externals/harfbuzz/src/hb-meta.hh", "externals/harfbuzz/src/hb-ms-feature-ranges.hh", "externals/harfbuzz/src/hb-mutex.hh", "externals/harfbuzz/src/hb-null.hh", "externals/harfbuzz/src/hb-number-parser.hh", "externals/harfbuzz/src/hb-number.cc", "externals/harfbuzz/src/hb-number.hh", "externals/harfbuzz/src/hb-object.hh", "externals/harfbuzz/src/hb-open-file.hh", "externals/harfbuzz/src/hb-open-type.hh", "externals/harfbuzz/src/hb-ot-cff-common.hh", "externals/harfbuzz/src/hb-ot-cff1-std-str.hh", "externals/harfbuzz/src/hb-ot-cff1-table.cc", "externals/harfbuzz/src/hb-ot-cff1-table.hh", "externals/harfbuzz/src/hb-ot-cff2-table.cc", "externals/harfbuzz/src/hb-ot-cff2-table.hh", "externals/harfbuzz/src/hb-ot-cmap-table.hh", "externals/harfbuzz/src/hb-ot-color-cbdt-table.hh", "externals/harfbuzz/src/hb-ot-color-colr-table.hh", "externals/harfbuzz/src/hb-ot-color-colrv1-closure.hh", "externals/harfbuzz/src/hb-ot-color-cpal-table.hh", "externals/harfbuzz/src/hb-ot-color-sbix-table.hh", "externals/harfbuzz/src/hb-ot-color-svg-table.hh", "externals/harfbuzz/src/hb-ot-color.cc", "externals/harfbuzz/src/hb-ot-color.h", "externals/harfbuzz/src/hb-ot-deprecated.h", "externals/harfbuzz/src/hb-ot-face-table-list.hh", "externals/harfbuzz/src/hb-ot-face.cc", "externals/harfbuzz/src/hb-ot-face.hh", "externals/harfbuzz/src/hb-ot-font.cc", "externals/harfbuzz/src/hb-ot-gasp-table.hh", "externals/harfbuzz/src/hb-ot-glyf-table.hh", "externals/harfbuzz/src/hb-ot-hdmx-table.hh", "externals/harfbuzz/src/hb-ot-head-table.hh", "externals/harfbuzz/src/hb-ot-hhea-table.hh", "externals/harfbuzz/src/hb-ot-hmtx-table.hh", "externals/harfbuzz/src/hb-ot-kern-table.hh", "externals/harfbuzz/src/hb-ot-layout-base-table.hh", "externals/harfbuzz/src/hb-ot-layout-common.hh", "externals/harfbuzz/src/hb-ot-layout-gdef-table.hh", "externals/harfbuzz/src/hb-ot-layout-gpos-table.hh", "externals/harfbuzz/src/hb-ot-layout-gsub-table.hh", "externals/harfbuzz/src/hb-ot-layout-gsubgpos.hh", "externals/harfbuzz/src/hb-ot-layout-jstf-table.hh", "externals/harfbuzz/src/hb-ot-layout.cc", "externals/harfbuzz/src/hb-ot-layout.hh", "externals/harfbuzz/src/hb-ot-map.cc", "externals/harfbuzz/src/hb-ot-map.hh", "externals/harfbuzz/src/hb-ot-math-table.hh", "externals/harfbuzz/src/hb-ot-math.cc", "externals/harfbuzz/src/hb-ot-maxp-table.hh", "externals/harfbuzz/src/hb-ot-meta-table.hh", "externals/harfbuzz/src/hb-ot-meta.cc", "externals/harfbuzz/src/hb-ot-meta.h", "externals/harfbuzz/src/hb-ot-metrics.cc", "externals/harfbuzz/src/hb-ot-metrics.hh", "externals/harfbuzz/src/hb-ot-name-language-static.hh", "externals/harfbuzz/src/hb-ot-name-language.hh", "externals/harfbuzz/src/hb-ot-name-table.hh", "externals/harfbuzz/src/hb-ot-name.cc", "externals/harfbuzz/src/hb-ot-name.h", "externals/harfbuzz/src/hb-ot-os2-table.hh", "externals/harfbuzz/src/hb-ot-os2-unicode-ranges.hh", "externals/harfbuzz/src/hb-ot-post-macroman.hh", "externals/harfbuzz/src/hb-ot-post-table-v2subset.hh", "externals/harfbuzz/src/hb-ot-post-table.hh", "externals/harfbuzz/src/hb-ot-shape-complex-arabic-fallback.hh", "externals/harfbuzz/src/hb-ot-shape-complex-arabic-joining-list.hh", "externals/harfbuzz/src/hb-ot-shape-complex-arabic-table.hh", "externals/harfbuzz/src/hb-ot-shape-complex-arabic.cc", "externals/harfbuzz/src/hb-ot-shape-complex-arabic.hh", "externals/harfbuzz/src/hb-ot-shape-complex-default.cc", "externals/harfbuzz/src/hb-ot-shape-complex-hangul.cc", "externals/harfbuzz/src/hb-ot-shape-complex-hebrew.cc", "externals/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh", "externals/harfbuzz/src/hb-ot-shape-complex-indic-table.cc", "externals/harfbuzz/src/hb-ot-shape-complex-indic.cc", "externals/harfbuzz/src/hb-ot-shape-complex-indic.hh", "externals/harfbuzz/src/hb-ot-shape-complex-khmer-machine.hh", "externals/harfbuzz/src/hb-ot-shape-complex-khmer.cc", "externals/harfbuzz/src/hb-ot-shape-complex-khmer.hh", "externals/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.hh", "externals/harfbuzz/src/hb-ot-shape-complex-myanmar.cc", "externals/harfbuzz/src/hb-ot-shape-complex-myanmar.hh", "externals/harfbuzz/src/hb-ot-shape-complex-syllabic.cc", "externals/harfbuzz/src/hb-ot-shape-complex-syllabic.hh", "externals/harfbuzz/src/hb-ot-shape-complex-thai.cc", "externals/harfbuzz/src/hb-ot-shape-complex-use-machine.hh", "externals/harfbuzz/src/hb-ot-shape-complex-use-table.hh", "externals/harfbuzz/src/hb-ot-shape-complex-use.cc", "externals/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.cc", "externals/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.hh", "externals/harfbuzz/src/hb-ot-shape-complex.hh", "externals/harfbuzz/src/hb-ot-shape-fallback.cc", "externals/harfbuzz/src/hb-ot-shape-fallback.hh", "externals/harfbuzz/src/hb-ot-shape-normalize.cc", "externals/harfbuzz/src/hb-ot-shape-normalize.hh", "externals/harfbuzz/src/hb-ot-shape.cc", "externals/harfbuzz/src/hb-ot-shape.hh", "externals/harfbuzz/src/hb-ot-stat-table.hh", "externals/harfbuzz/src/hb-ot-tag-table.hh", "externals/harfbuzz/src/hb-ot-tag.cc", "externals/harfbuzz/src/hb-ot-var-avar-table.hh", "externals/harfbuzz/src/hb-ot-var-common.hh", "externals/harfbuzz/src/hb-ot-var-fvar-table.hh", "externals/harfbuzz/src/hb-ot-var-gvar-table.hh", "externals/harfbuzz/src/hb-ot-var-hvar-table.hh", "externals/harfbuzz/src/hb-ot-var-mvar-table.hh", "externals/harfbuzz/src/hb-ot-var.cc", "externals/harfbuzz/src/hb-ot-vorg-table.hh", "externals/harfbuzz/src/hb-pool.hh", "externals/harfbuzz/src/hb-priority-queue.hh", "externals/harfbuzz/src/hb-repacker.hh", "externals/harfbuzz/src/hb-sanitize.hh", "externals/harfbuzz/src/hb-serialize.hh", "externals/harfbuzz/src/hb-set-digest.hh", "externals/harfbuzz/src/hb-set.cc", "externals/harfbuzz/src/hb-set.hh", "externals/harfbuzz/src/hb-shape-plan.cc", "externals/harfbuzz/src/hb-shape-plan.hh", "externals/harfbuzz/src/hb-shape.cc", "externals/harfbuzz/src/hb-shaper-impl.hh", "externals/harfbuzz/src/hb-shaper-list.hh", "externals/harfbuzz/src/hb-shaper.cc", "externals/harfbuzz/src/hb-shaper.hh", "externals/harfbuzz/src/hb-static.cc", "externals/harfbuzz/src/hb-string-array.hh", "externals/harfbuzz/src/hb-subset-cff-common.cc", "externals/harfbuzz/src/hb-subset-cff-common.hh", "externals/harfbuzz/src/hb-subset-cff1.cc", "externals/harfbuzz/src/hb-subset-cff1.hh", "externals/harfbuzz/src/hb-subset-cff2.cc", "externals/harfbuzz/src/hb-subset-cff2.hh", "externals/harfbuzz/src/hb-subset-input.cc", "externals/harfbuzz/src/hb-subset-input.hh", "externals/harfbuzz/src/hb-subset-plan.cc", "externals/harfbuzz/src/hb-subset-plan.hh", "externals/harfbuzz/src/hb-subset.cc", "externals/harfbuzz/src/hb-subset.hh", "externals/harfbuzz/src/hb-ucd-table.hh", "externals/harfbuzz/src/hb-ucd.cc", "externals/harfbuzz/src/hb-unicode-emoji-table.hh", "externals/harfbuzz/src/hb-unicode.cc", "externals/harfbuzz/src/hb-unicode.hh", "externals/harfbuzz/src/hb-utf.hh", "externals/harfbuzz/src/hb-vector.hh", "externals/harfbuzz/src/hb.hh", "harfbuzz/config-override.h", ] cc_library( name = "harfbuzz", srcs = HARFBUZZ_SRCS, hdrs = HARFBUZZ_HDRS, includes = [ "externals/harfbuzz/src", "harfbuzz", ], local_defines = [ "HAVE_OT", "HAVE_CONFIG_OVERRIDE_H", "HB_NO_FALLBACK_SHAPE", "HB_NO_WIN1256", ], )