diff --git a/build/find_normal.rs b/build/find_normal.rs index ff8d4a8..cf71691 100644 --- a/build/find_normal.rs +++ b/build/find_normal.rs @@ -44,67 +44,40 @@ pub fn probe_lua() -> PathBuf { // Find using `pkg-config` #[cfg(feature = "lua54")] - { - let mut lua = pkg_config::Config::new() - .range_version((Bound::Included("5.4"), Bound::Excluded("5.5"))) - .cargo_metadata(need_lua_lib) - .probe("lua"); - - if lua.is_err() { - lua = pkg_config::Config::new() - .cargo_metadata(need_lua_lib) - .probe("lua5.4"); - } - - lua.unwrap().include_paths[0].clone() - } - + let (incl_bound, excl_bound, alt_probe, ver) = ("5.4", "5.5", "lua5.4", "5.4"); #[cfg(feature = "lua53")] - { - let mut lua = pkg_config::Config::new() - .range_version((Bound::Included("5.3"), Bound::Excluded("5.4"))) - .cargo_metadata(need_lua_lib) - .probe("lua"); - - if lua.is_err() { - lua = pkg_config::Config::new() - .cargo_metadata(need_lua_lib) - .probe("lua5.3"); - } - - lua.unwrap().include_paths[0].clone() - } - + let (incl_bound, excl_bound, alt_probe, ver) = ("5.3", "5.4", "lua5.3", "5.3"); #[cfg(feature = "lua52")] - { - let mut lua = pkg_config::Config::new() - .range_version((Bound::Included("5.2"), Bound::Excluded("5.3"))) - .cargo_metadata(need_lua_lib) - .probe("lua"); - - if lua.is_err() { - lua = pkg_config::Config::new() - .cargo_metadata(need_lua_lib) - .probe("lua5.2"); - } - - lua.unwrap().include_paths[0].clone() - } - + let (incl_bound, excl_bound, alt_probe, ver) = ("5.2", "5.3", "lua5.2", "5.2"); #[cfg(feature = "lua51")] + let (incl_bound, excl_bound, alt_probe, ver) = ("5.1", "5.2", "lua5.1", "5.1"); + + #[cfg(any( + feature = "lua54", + feature = "lua53", + feature = "lua52", + feature = "lua51" + ))] { let mut lua = pkg_config::Config::new() - .range_version((Bound::Included("5.1"), Bound::Excluded("5.2"))) + .range_version((Bound::Included(incl_bound), Bound::Excluded(excl_bound))) .cargo_metadata(need_lua_lib) .probe("lua"); if lua.is_err() { lua = pkg_config::Config::new() .cargo_metadata(need_lua_lib) - .probe("lua5.1"); + .probe(alt_probe); } - lua.unwrap().include_paths[0].clone() + lua.expect(&format!("cannot find Lua {} using `pkg-config`", ver)) + .include_paths + .get(0) + .expect(&format!( + "cannot find Lua {} include paths using `pkg-config`", + ver + )) + .clone() } #[cfg(feature = "luajit")] @@ -114,6 +87,10 @@ pub fn probe_lua() -> PathBuf { .cargo_metadata(need_lua_lib) .probe("luajit"); - lua.unwrap().include_paths[0].clone() + lua.expect("cannot find LuaJIT using `pkg-config`") + .include_paths + .get(0) + .expect("cannot find LuaJIT include paths using `pkg-config`") + .clone() } }