From 4f2e947bea73afffd753f267a38e224b0eb81171 Mon Sep 17 00:00:00 2001 From: usamoi Date: Mon, 28 Oct 2024 19:25:24 +0800 Subject: [PATCH] add `pg_config --libdir` to linker search path --- pgrx-bindgen/src/build.rs | 6 ++++++ pgrx-pg-config/src/lib.rs | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/pgrx-bindgen/src/build.rs b/pgrx-bindgen/src/build.rs index 7ff530949..9af0b9cbe 100644 --- a/pgrx-bindgen/src/build.rs +++ b/pgrx-bindgen/src/build.rs @@ -343,6 +343,12 @@ fn generate_bindings( ) })?; } + + let lib_dir = pg_config.lib_dir()?; + println!( + "cargo:rustc-link-search={}", + lib_dir.to_str().ok_or(eyre!("{lib_dir:?} is not valid UTF-8 string"))? + ); Ok(()) } diff --git a/pgrx-pg-config/src/lib.rs b/pgrx-pg-config/src/lib.rs index 2a23c91a8..8c1c01246 100644 --- a/pgrx-pg-config/src/lib.rs +++ b/pgrx-pg-config/src/lib.rs @@ -323,6 +323,10 @@ impl PgConfig { Ok(self.run("--bindir")?.into()) } + pub fn lib_dir(&self) -> eyre::Result { + Ok(self.run("--libdir")?.into()) + } + pub fn postmaster_path(&self) -> eyre::Result { let mut path = self.bin_dir()?; path.push("postgres");