# Both shared objects, in one directory, under the names jolt's `:jolt/native` # looks for. `just build` copies this directory's contents where a consumer # points LD_LIBRARY_PATH. genrule( name = "libvidya", out = "libvidya.so", cmd = "cp $(location //crates/jolt-vidya:vidya-ffi[shared]) $OUT", visibility = ["PUBLIC"], ) genrule( name = "libjoltmoq", out = "libjoltmoq.so", cmd = "cp $(location //crates/jolt-moq:jolt-moq[shared]) $OUT", visibility = ["PUBLIC"], ) filegroup( name = "libs", srcs = [":libjoltmoq", ":libvidya"], visibility = ["PUBLIC"], ) # The same C ABI, cross-compiled for the phone. The sources and the deps are # the ones above; only the target configuration moves, which is what # configured_alias is for — build scripts and proc macros still run on the # host. There is no Android libjoltmoq: the media plane is V4L2 and PipeWire. configured_alias( name = "vidya-ffi-android", actual = "//crates/jolt-vidya:vidya-ffi", platform = "//platforms:android-arm64", visibility = ["PUBLIC"], ) genrule( name = "libvidya-android", out = "libvidya.so", cmd = "cp $(location :vidya-ffi-android[shared]) $OUT", visibility = ["PUBLIC"], )