# 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 two C ABIs, 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. 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"], ) configured_alias( name = "jolt-moq-android", actual = "//crates/jolt-moq:jolt-moq", platform = "//platforms:android-arm64", visibility = ["PUBLIC"], ) genrule( name = "libjoltmoq-android", out = "libjoltmoq.so", cmd = "cp $(location :jolt-moq-android[shared]) $OUT", visibility = ["PUBLIC"], ) # Both device objects, for a build that wants them in one go. filegroup( name = "libs-android", srcs = [":libjoltmoq-android", ":libvidya-android"], visibility = ["PUBLIC"], )