From 241e69eed88c9a66ca98b983bca634666c022dd7 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 27 Nov 2020 13:03:46 +0100 Subject: [PATCH] guard '-L./target/debug' lib path by debug_assertions A release build shouldn't add the local search path for libraries to the perl modules. Signed-off-by: Wolfgang Bumiller --- perlmod-macro/src/package.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/perlmod-macro/src/package.rs b/perlmod-macro/src/package.rs index 9f4afe0..10c1d3d 100644 --- a/perlmod-macro/src/package.rs +++ b/perlmod-macro/src/package.rs @@ -39,7 +39,15 @@ BEGIN { my ($mod_name) = {{LIB_NAME}}; my @dirs = (map "-L$_/auto/$auto_path", @INC); - my (@mod_files) = DynaLoader::dl_findfile(@dirs, '-L./target/debug', $mod_name); + my (@mod_files) = DynaLoader::dl_findfile(@dirs"#; + +#[cfg(debug_assertions)] +const MODULE_HEAD_DEBUG: &str = r#", '-L./target/debug'"#; + +#[cfg(not(debug_assertions))] +const MODULE_HEAD_DEBUG: &str = ""; + +const MODULE_HEAD_2: &str = r#", $mod_name); die "failed to locate shared library for '$pkg' (lib${mod_name}.so)\n" if !@mod_files; $LIB = DynaLoader::dl_load_file($mod_files[0]) @@ -87,7 +95,10 @@ impl Package { } pub fn write(&self) -> Result<(), Error> { - let mut source = format!("package {};\n{}", self.attrs.package_name, MODULE_HEAD); + let mut source = format!( + "package {};\n{}{}{}", + self.attrs.package_name, MODULE_HEAD, MODULE_HEAD_DEBUG, MODULE_HEAD_2 + ); for export in &self.exported { source = format!(