diff options
Diffstat (limited to 'win32/FindExt.pm')
-rw-r--r-- | win32/FindExt.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/win32/FindExt.pm b/win32/FindExt.pm index 298b44f9f1..b2386b1501 100644 --- a/win32/FindExt.pm +++ b/win32/FindExt.pm @@ -1,6 +1,6 @@ package FindExt; -our $VERSION = '1.01'; +our $VERSION = '1.02'; use strict; use warnings; @@ -20,12 +20,18 @@ sub getcwd { return $ENV{'PWD'} = $_; } -sub set_static_extensions -{ +sub set_static_extensions { # adjust results of scan_ext, and also save # statics in case scan_ext hasn't been called yet. + # if '*' is passed then all XS extensions are static + # (with possible exclusions) %static = (); - for (@_) { + my @list = @_; + if ($_[0] eq '*') { + my %excl = map {$_=>1} map {m/^!(.*)$/} @_[1 .. $#_]; + @list = grep {!exists $excl{$_}} keys %ext; + } + for (@list) { $static{$_} = 1; $ext{$_} = 'static' if $ext{$_} && $ext{$_} eq 'dynamic'; } |