1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
From: Michael R. Crusoe <crusoe@debian.org>
subject: Use pkg-config to find the prebuild rocksdb library
Forwarded: not-needed
--- a/build.rs
+++ b/build.rs
@@ -377,3 +377,25 @@
+macro_rules! pc {
+ ($name:expr) => { pc!($name => $name) };
+ ($name:expr => $probename:expr) => {
+ #[cfg(feature = $name)]
+ match pkg_config::Config::new().probe($probename) {
+ Ok(lib) => env::set_var(format!("{}_LIB_DIR", $name.to_ascii_uppercase()), &lib.link_paths[0]),
+ Err(e) => panic!("Debian: {} library not found: {e:?}", $name),
+ }
+ };
+}
fn main() {
+ let Ok(rocksdb_lib) = pkg_config::Config::new().atleast_version("8.1.1").probe("rocksdb") else {
+ panic!("Debian: rocksdb library not found");
+ };
+ env::set_var("ROCKSDB_INCLUDE_DIR", &rocksdb_lib.include_paths[0]);
+ env::set_var("ROCKSDB_LIB_DIR", &rocksdb_lib.link_paths[0]);
+ pc!("snappy");
+ pc!("lz4" => "liblz4");
+ pc!("zstd" => "libzstd");
+ pc!("zlib");
+ pc!("bzip2");
+ #[cfg(feature = "bzip2")]
+ env::set_var("BZ2_LIB_DIR", env::var("BZIP2_LIB_DIR").unwrap());
println!("dh-cargo:deb-built-using=rocksdb=1={}", env::var("CARGO_MANIFEST_DIR").unwrap());
@@ -381,3 +403,3 @@
if !Path::new("rocksdb/AUTHORS").exists() {
- update_submodules();
+ //update_submodules();
}
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -77,3 +77,3 @@
version = "0.3"
-optional = true
+#optional = true
@@ -87,3 +87,3 @@
]
-io-uring = ["pkg-config"]
+io-uring = [] #["pkg-config"]
jemalloc = ["tikv-jemalloc-sys"]
|