# The C ABI Jolt loads for a terminal UI: libjolttui.so. # # The same shape as //crates/jolt-vidya, and for the same reason: one glimmer # backend on the jolt side, and a choice of shared object underneath it. rust_library( name = "jolt-tui", srcs = glob(["src/**/*.rs"]), crate = "jolttui", crate_root = "src/lib.rs", edition = "2021", features = ["terminal"], preferred_linkage = "shared", # Without this buck names the library after the target — lib_jolt-tui.so — # and that name, not the filename, is what a dependent's DT_NEEDED gets. soname = "libjolttui.so", # As on the vidya cdylib: cross-crate inlining across the graph, one codegen # unit so the dedup is not fighting parallelism inside the crate. rustc_flags = [ "-Clto=fat", "-Ccodegen-units=1", ], visibility = ["PUBLIC"], deps = [ "//crates/jolt-abi:jolt-abi", "//third-party/rust:crossterm", "//third-party/rust:log", ], )