
Complete church management system with bulletin management, media processing, live streaming integration, and web interface. Includes authentication, email notifications, database migrations, and comprehensive test suite.
46 lines
1.9 KiB
Rust
46 lines
1.9 KiB
Rust
fn main() {
|
|
// Use pkg-config to find VPL libraries
|
|
if let Ok(lib) = pkg_config::Config::new().probe("vpl") {
|
|
for path in lib.link_paths {
|
|
println!("cargo:rustc-link-search=native={}", path.display());
|
|
}
|
|
for lib_name in lib.libs {
|
|
println!("cargo:rustc-link-lib={}", lib_name);
|
|
}
|
|
println!("cargo:rustc-link-lib=stdc++"); // VPL requires C++ stdlib
|
|
println!("cargo:rustc-link-lib=dl"); // VPL requires libdl
|
|
} else {
|
|
// Fallback: manual linking
|
|
println!("cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu");
|
|
println!("cargo:rustc-link-lib=vpl");
|
|
println!("cargo:rustc-link-lib=mfx");
|
|
println!("cargo:rustc-link-lib=stdc++");
|
|
println!("cargo:rustc-link-lib=dl");
|
|
}
|
|
|
|
// Direct VA-API linking for hardware acceleration
|
|
if let Ok(lib) = pkg_config::Config::new().probe("libva-drm") {
|
|
for path in lib.link_paths {
|
|
println!("cargo:rustc-link-search=native={}", path.display());
|
|
}
|
|
for lib_name in lib.libs {
|
|
println!("cargo:rustc-link-lib={}", lib_name);
|
|
}
|
|
} else {
|
|
// Fallback: manual VA-API linking with Intel Media SDK path
|
|
println!("cargo:rustc-link-search=native=/opt/intel/media/lib64");
|
|
println!("cargo:rustc-link-search=native=/lib/x86_64-linux-gnu");
|
|
println!("cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu");
|
|
println!("cargo:rustc-link-lib=va");
|
|
println!("cargo:rustc-link-lib=va-drm");
|
|
}
|
|
|
|
// Always add Intel Media SDK paths for hardware acceleration
|
|
println!("cargo:rustc-link-search=native=/opt/intel/media/lib64");
|
|
println!("cargo:rustc-link-lib=va");
|
|
println!("cargo:rustc-link-lib=va-drm");
|
|
|
|
// Ensure we rebuild when headers change
|
|
println!("cargo:rerun-if-changed=/usr/include/vpl/");
|
|
println!("cargo:rerun-if-changed=/usr/include/va/");
|
|
} |