68 lines
2.1 KiB
Rust
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(),
|
|
),
|
|
]
|
|
}
|