]> git.proxmox.com Git - perlmod.git/commitdiff
perlmod: search LD_LIBRARY_PATH before @INC/auto dirs
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 19 Dec 2023 07:38:40 +0000 (08:38 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 19 Dec 2023 07:38:41 +0000 (08:38 +0100)
This is for the code generated for `#[package(write = true)]`.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
perlmod-macro/src/package.rs

index 517dc43ef97ee0901ddafb675b3300e078c300f9..c442920fe9d474ed25adc9949fde10952d71400d 100644 (file)
@@ -11,12 +11,15 @@ use crate::attribs::ModuleAttrs;
 const MODULE_HEAD: &str = r#"
 require DynaLoader;
 
+sub autodirs { map { "$_/auto" } @INC; }
+sub envdirs { grep { length($_) } split(/:+/, $ENV{LD_LIBRARY_PATH} // '') }
+
 sub bootstrap {
     my ($pkg) = @_;
     my ($mod_name) = {{LIB_NAME}};
     my $bootstrap_name = 'boot_' . ($pkg =~ s/::/__/gr);
 
-    my @dirs = (map "-L$_/auto", @INC);
+    my @dirs = map { "-L$_" } (envdirs(), autodirs());
     my $mod_file = DynaLoader::dl_findfile("#;
 
 #[cfg(debug_assertions)]