From f67cf906dff00bb28454b18f6f7dcfdc30c7227b Mon Sep 17 00:00:00 2001 From: Paul Wagener Date: Fri, 15 Dec 2023 16:50:05 +0100 Subject: [PATCH 1/3] Wait with msvc panic!() until after pkg-config check --- gdal-sys/build.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdal-sys/build.rs b/gdal-sys/build.rs index f65606fc1..0ef715fee 100644 --- a/gdal-sys/build.rs +++ b/gdal-sys/build.rs @@ -140,10 +140,6 @@ fn main() { } } if !found { - if cfg!(target_env = "msvc") { - panic!("windows-msvc requires gdal_i.lib to be present in either $GDAL_LIB_DIR or $GDAL_HOME\\lib."); - } - // otherwise, look for a gdalxxx.dll in $GDAL_HOME/bin // works in windows-gnu if let Some(ref home_dir) = home_dir { @@ -202,6 +198,10 @@ fn main() { .cargo_metadata(need_metadata) .probe("gdal"); + if !found && cfg!(target_env = "msvc") && gdal_pkg_config.is_err() { + panic!("windows-msvc requires gdal_i.lib to be present in either $GDAL_LIB_DIR or $GDAL_HOME\\lib."); + } + if let Ok(gdal) = &gdal_pkg_config { for dir in &gdal.include_paths { include_paths.push(dir.to_str().unwrap().to_string()); From 5acf6cc7eae7819d8d6878ae431d8910d42080ce Mon Sep 17 00:00:00 2001 From: Paul Wagener Date: Fri, 15 Dec 2023 17:30:48 +0100 Subject: [PATCH 2/3] Output metadata for static builds --- gdal-sys/build.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gdal-sys/build.rs b/gdal-sys/build.rs index 0ef715fee..0fccd63bc 100644 --- a/gdal-sys/build.rs +++ b/gdal-sys/build.rs @@ -185,7 +185,9 @@ fn main() { println!("cargo:rustc-link-lib={link_type}={lib_name}"); println!("cargo:rustc-link-search={}", lib_dir.to_str().unwrap()); - need_metadata = false; + if !prefer_static { + need_metadata = false; + } } let mut include_paths = Vec::new(); From 9981d939066b4e27c8e40689748d9991e7a253e8 Mon Sep 17 00:00:00 2001 From: Paul Wagener Date: Fri, 15 Dec 2023 22:18:17 +0100 Subject: [PATCH 3/3] Added entry to CHANGES.md for PR 492 --- CHANGES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index de72f211a..b88b21609 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,10 @@ ## Unreleased +- Defers the gdal_i.lib missing message until after the pkg-config check and outputs pkg-config metadata in case of a static build. + + - + - Added `RasterBand::write_block`. -