1*c8dee2aaSAndroid Build Coastguard Workerload("@rules_rust//rust:defs.bzl", "rust_static_library") 2*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge") 3*c8dee2aaSAndroid Build Coastguard Workerload( 4*c8dee2aaSAndroid Build Coastguard Worker "//bazel:skia_rules.bzl", 5*c8dee2aaSAndroid Build Coastguard Worker "select_multi", 6*c8dee2aaSAndroid Build Coastguard Worker "skia_cc_library", 7*c8dee2aaSAndroid Build Coastguard Worker) 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker# C++ sources 10*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library( 11*c8dee2aaSAndroid Build Coastguard Worker name = "cpp", 12*c8dee2aaSAndroid Build Coastguard Worker hdrs = [ 13*c8dee2aaSAndroid Build Coastguard Worker "cpp/path_iterator.h", 14*c8dee2aaSAndroid Build Coastguard Worker ], 15*c8dee2aaSAndroid Build Coastguard Worker) 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker# Generated C++ cxxbridge output 18*c8dee2aaSAndroid Build Coastguard Workerrust_cxx_bridge( 19*c8dee2aaSAndroid Build Coastguard Worker name = "ffi_gen", 20*c8dee2aaSAndroid Build Coastguard Worker src = "src/lib.rs", 21*c8dee2aaSAndroid Build Coastguard Worker crate_features = select_multi( 22*c8dee2aaSAndroid Build Coastguard Worker { 23*c8dee2aaSAndroid Build Coastguard Worker "@vello//:msl_shaders": ["msl"], 24*c8dee2aaSAndroid Build Coastguard Worker "@vello//:wgsl_shaders": ["wgsl"], 25*c8dee2aaSAndroid Build Coastguard Worker }, 26*c8dee2aaSAndroid Build Coastguard Worker ), 27*c8dee2aaSAndroid Build Coastguard Worker deps = [":cpp"], 28*c8dee2aaSAndroid Build Coastguard Worker) 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Worker# Linked rust code 31*c8dee2aaSAndroid Build Coastguard Workerrust_static_library( 32*c8dee2aaSAndroid Build Coastguard Worker name = "vello_rust", 33*c8dee2aaSAndroid Build Coastguard Worker srcs = [ 34*c8dee2aaSAndroid Build Coastguard Worker "src/encoding.rs", 35*c8dee2aaSAndroid Build Coastguard Worker "src/lib.rs", 36*c8dee2aaSAndroid Build Coastguard Worker "src/shaders.rs", 37*c8dee2aaSAndroid Build Coastguard Worker ], 38*c8dee2aaSAndroid Build Coastguard Worker crate_features = select_multi( 39*c8dee2aaSAndroid Build Coastguard Worker { 40*c8dee2aaSAndroid Build Coastguard Worker "@vello//:msl_shaders": ["msl"], 41*c8dee2aaSAndroid Build Coastguard Worker "@vello//:wgsl_shaders": ["wgsl"], 42*c8dee2aaSAndroid Build Coastguard Worker }, 43*c8dee2aaSAndroid Build Coastguard Worker ), 44*c8dee2aaSAndroid Build Coastguard Worker deps = [ 45*c8dee2aaSAndroid Build Coastguard Worker "@cxx", 46*c8dee2aaSAndroid Build Coastguard Worker "@vello//:vello_encoding", 47*c8dee2aaSAndroid Build Coastguard Worker "@vello//:vello_shaders", 48*c8dee2aaSAndroid Build Coastguard Worker "@vello_deps//:bytemuck", 49*c8dee2aaSAndroid Build Coastguard Worker "@vello_deps//:peniko", 50*c8dee2aaSAndroid Build Coastguard Worker ], 51*c8dee2aaSAndroid Build Coastguard Worker) 52*c8dee2aaSAndroid Build Coastguard Worker 53*c8dee2aaSAndroid Build Coastguard Worker# Linked C++ bridge code 54*c8dee2aaSAndroid Build Coastguard Workercc_library( 55*c8dee2aaSAndroid Build Coastguard Worker name = "vello_ffi", 56*c8dee2aaSAndroid Build Coastguard Worker srcs = [":ffi_gen/filegroup"], 57*c8dee2aaSAndroid Build Coastguard Worker defines = select_multi( 58*c8dee2aaSAndroid Build Coastguard Worker { 59*c8dee2aaSAndroid Build Coastguard Worker "@vello//:msl_shaders": ["VELLO_MSL_SHADERS=true"], 60*c8dee2aaSAndroid Build Coastguard Worker "@vello//:wgsl_shaders": ["VELLO_WGSL_SHADERS=true"], 61*c8dee2aaSAndroid Build Coastguard Worker }, 62*c8dee2aaSAndroid Build Coastguard Worker ), 63*c8dee2aaSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 64*c8dee2aaSAndroid Build Coastguard Worker deps = [ 65*c8dee2aaSAndroid Build Coastguard Worker ":cpp", 66*c8dee2aaSAndroid Build Coastguard Worker ":ffi_gen/include", 67*c8dee2aaSAndroid Build Coastguard Worker ":vello_rust", 68*c8dee2aaSAndroid Build Coastguard Worker ], 69*c8dee2aaSAndroid Build Coastguard Worker) 70