@@ -214,18 +214,14 @@ fn main() {
214214 handle_ogr_driver ! ( config, "driver_vfk" ) ;
215215
216216 if cfg ! ( feature = "driver_hdf5" ) {
217- let hdf5_dir = std:: env:: var ( "DEP_HDF5SRC_ROOT " ) . expect ( "This is set by hdf5-src " ) ;
218- let hdf5_lib = std:: env:: var ( "DEP_HDF5SRC_LIBRARY " ) . expect ( "This is set by hdf5-src " ) ;
217+ let hdf5_dir = std:: env:: var ( "DEP_HDF5_ROOT " ) . expect ( "This is set by hdf5-sys " ) ;
218+ let hdf5_lib = std:: env:: var ( "DEP_HDF5_LIBRARY " ) . expect ( "This is set by hdf5-sys " ) ;
219219 let hdf5_lib_dir = find_library ( & hdf5_lib, & hdf5_dir) ;
220- let p = PathBuf :: from ( & hdf5_lib_dir) ;
221220 let mut hdf5_cc = PathBuf :: from ( & hdf5_dir) ;
222221 hdf5_cc. push ( "bin" ) ;
223222 hdf5_cc. push ( "h5cc" ) ;
224- let mut hdf5_include = PathBuf :: from ( & hdf5_dir) ;
225- hdf5_include. push ( "include" ) ;
226- let p = p. parent ( ) . unwrap ( ) ;
227- println ! ( "cargo:rustc-link-search=native={}" , p. display( ) ) ;
228- println ! ( "cargo:rustc-link-lib=static={hdf5_lib}" ) ;
223+ let hdf5_include = std:: env:: var ( "DEP_HDF5_INCLUDE" ) . expect ( "This is set by hdf5-sys" ) ;
224+ let hdf5_include = PathBuf :: from ( & hdf5_include) ;
229225 config
230226 . define ( "GDAL_USE_HDF5" , "ON" )
231227 . define ( "HDF5_C_COMPILER_EXECUTABLE" , print_path ( & hdf5_cc) )
@@ -239,28 +235,14 @@ fn main() {
239235 }
240236
241237 if cfg ! ( feature = "driver_netcdf" ) {
242- let netcdf_root_dir =
243- std:: env:: var ( "DEP_NETCDFSRC_ROOT" ) . expect ( "This is set by netcdf-src" ) ;
244- let hdf5_dir = std:: env:: var ( "DEP_HDF5SRC_ROOT" ) . expect ( "This is set by hdf5-src" ) ;
245- let hl_library = std:: env:: var ( "DEP_HDF5SRC_HL_LIBRARY" ) . expect ( "This is set by hdf5-src" ) ;
246- let netcdf_lib = find_library ( "netcdf" , & netcdf_root_dir) ;
247- let hl_library_path = find_library ( & hl_library, hdf5_dir) ;
248- let hl_library_path = hl_library_path. parent ( ) . unwrap ( ) ;
238+ let netcdf_include =
239+ std:: env:: var ( "DEP_NETCDF_INCLUDEDIR" ) . expect ( "This is set by netcdf-sys" ) ;
240+ let netcdf_root = format ! ( "{netcdf_include}/.." ) ;
249241
250- let netcdf_library_path = netcdf_lib. parent ( ) . unwrap ( ) ;
251- println ! (
252- "cargo:rustc-link-search=native={}" ,
253- netcdf_library_path. display( )
254- ) ;
255- println ! ( "cargo:rustc-link-lib=static=netcdf" ) ;
256- println ! (
257- "cargo:rustc-link-search=native={}" ,
258- hl_library_path. display( )
259- ) ;
260- println ! ( "cargo:rustc-link-lib=static={hl_library}" ) ;
242+ let netcdf_include = PathBuf :: from ( netcdf_include) ;
243+ let netcdf_root = PathBuf :: from ( netcdf_root) ;
244+ let netcdf_lib = find_library ( "netcdf" , & netcdf_root) ;
261245
262- let mut netcdf_include = PathBuf :: from ( netcdf_root_dir) ;
263- netcdf_include. push ( "include" ) ;
264246 config
265247 . define ( "GDAL_USE_NETCDF" , "ON" )
266248 . define ( "NETCDF_INCLUDE_DIR" , print_path ( & netcdf_include) )
0 commit comments