File: pkgconf

package info (click to toggle)
rust-librocksdb-sys 0.17.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 256 kB
  • sloc: ansic: 44; sh: 19; makefile: 9
file content (49 lines) | stat: -rw-r--r-- 1,578 bytes parent folder | download
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"]