I found a workaround for my problem. It seems to be a combination of two
issues:
- portable.perl in the Strawberry Perl distribution specified only
"c\lib", missing the 2nd entry
- But Portable::Config cannot deal with multiple entries in libpth.
See the attached patches for both issues. Note that I did not check
whether there are other possible candidates which should be treated like
libpth.
Regards,
Slaven
--- portable.perl.orig 2011-06-19 22:47:22.375000000 +0200
+++ portable.perl 2011-06-19 22:50:17.281250000 +0200
@@ -59,7 +59,7 @@
lddlflags: '-mdll -s -L"$archlib\CORE" -L"$libpth"'
ldflags: '-s -L"$archlib\CORE" -L"$libpth"'
ldflags_nolargefiles: '-s -L"$archlib\CORE" -L"$libpth"'
- libpth: c/lib
+ libpth: 'c/lib c/i686-w64-mingw32/lib'
perlpath: perl/bin/perl.exe
prefix: perl
prefixexp: perl
--- Portable/Config.pm.orig 2011-06-19 22:55:45.625000000 +0200
+++ Portable/Config.pm 2011-06-19 22:58:40.421875000 +0200
@@ -37,6 +37,16 @@
$self->{$key} = $conf->{$key};
next;
}
+ if ($key eq 'libpth') {
+ my @paths = split / /, $conf->{$key};
+ for my $path (@paths) {
+ $path = File::Spec->catdir(
+ $root, split /\//, $path,
+ );
+ }
+ $self->{$key} = join ' ', @paths;
+ next;
+ }
my $method = ($key eq 'perlpath') ? 'catfile' : 'catdir';
$self->{$key} = File::Spec->$method(
$root, split /\//, $conf->{$key},