Files
core/test/dever-cli-tests/support/llvm_inputs.rs
T

68 lines
2.1 KiB
Rust

//! Explicit Linux author inputs shared by opt-in native fixtures.
use std::path::{Path, PathBuf};
pub const LLVM_LIBRARY: &str = "/usr/lib/llvm-18/lib/libLLVM.so.1";
pub fn core_libraries() -> Vec<(&'static str, PathBuf)> {
let mut inputs = vec![("libLLVM.so.18.1", PathBuf::from(LLVM_LIBRARY))];
for name in [
"libstdc++.so.6",
"libgcc_s.so.1",
"libz.so.1",
"libffi.so.8",
"libedit.so.2",
"libzstd.so.1",
"libtinfo.so.6",
"libxml2.so.2",
"libbsd.so.0",
"libmd.so.0",
"libicuuc.so.74",
"libicudata.so.74",
"liblzma.so.5",
] {
inputs.push((name, Path::new("/usr/lib/x86_64-linux-gnu").join(name)));
}
inputs
.into_iter()
.map(|(name, path)| {
(
name,
path.canonicalize()
.expect("prepare the explicit GNU compiler-library inputs"),
)
})
.collect()
}
pub fn native_inputs() -> Vec<(&'static str, PathBuf)> {
let workspace = Path::new(env!("CARGO_MANIFEST_DIR")).join("../..");
vec![
(
"runtime.a",
workspace.join("target/native-runtime-abi/debug/libdever_backend_bridge.a"),
),
("crt1.o", "/usr/lib/x86_64-linux-gnu/crt1.o".into()),
("crti.o", "/usr/lib/x86_64-linux-gnu/crti.o".into()),
(
"crtbeginT.o",
"/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginT.o".into(),
),
(
"crtend.o",
"/usr/lib/gcc/x86_64-linux-gnu/13/crtend.o".into(),
),
("crtn.o", "/usr/lib/x86_64-linux-gnu/crtn.o".into()),
("libc.a", "/usr/lib/x86_64-linux-gnu/libc.a".into()),
("libm.a", "/usr/lib/x86_64-linux-gnu/libm-2.39.a".into()),
("libmvec.a", "/usr/lib/x86_64-linux-gnu/libmvec.a".into()),
(
"libgcc.a",
"/usr/lib/gcc/x86_64-linux-gnu/13/libgcc.a".into(),
),
(
"libgcc_eh.a",
"/usr/lib/gcc/x86_64-linux-gnu/13/libgcc_eh.a".into(),
),
]
}