diff --git a/Cargo.lock b/Cargo.lock index 66308b6..24c16f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -530,7 +530,7 @@ dependencies = [ [[package]] name = "lbug" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "arrow", diff --git a/Cargo.toml b/Cargo.toml index 11037ea..7b0ec24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lbug" -version = "0.17.0" +version = "0.18.0" description = "An in-process property graph database management system built for query speed and scalability" keywords = ["database", "graph", "ffi"] readme = "lbug-src/README.md" diff --git a/build.rs b/build.rs index 3e092f1..ca24202 100644 --- a/build.rs +++ b/build.rs @@ -40,6 +40,21 @@ fn link_libraries(link_bundled_deps: bool) { println!("cargo:rustc-link-lib=dylib=stdc++"); } + // liblbug.a requires OpenSSL — try pkg-config for the lib path, then emit link directives + if let Ok(output) = std::process::Command::new("pkg-config") + .args(["--variable=libdir", "openssl"]) + .output() + { + if output.status.success() { + let lib_dir = String::from_utf8_lossy(&output.stdout).trim().to_string(); + if !lib_dir.is_empty() { + println!("cargo:rustc-link-search=native={lib_dir}"); + } + } + } + println!("cargo:rustc-link-lib=dylib=ssl"); + println!("cargo:rustc-link-lib=dylib=crypto"); + if !link_bundled_deps { return; }