From 557ab4cb986767c7868d1b0471b669e794d9b569 Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Thu, 6 Jan 2011 21:52:24 +1100 Subject: [PATCH] ignore extensions based on the configuration --- t/porting/FindExt.t | 1 + win32/FindExt.pm | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/t/porting/FindExt.t b/t/porting/FindExt.t index 95c6cbd..0100cb1 100644 --- a/t/porting/FindExt.t +++ b/t/porting/FindExt.t @@ -28,6 +28,7 @@ unless (defined $Config{usedl}) { plan tests => 10; use FindExt; +FindExt::apply_config(\%Config); FindExt::scan_ext('../cpan'); FindExt::scan_ext('../dist'); FindExt::scan_ext('../ext'); diff --git a/win32/FindExt.pm b/win32/FindExt.pm index fe1febd..25fa8ce 100644 --- a/win32/FindExt.pm +++ b/win32/FindExt.pm @@ -9,6 +9,25 @@ my $no = join('|',qw(GDBM_File ODBM_File NDBM_File DB_File VMS VMS-DCLsym VMS-Stdio Sys-Syslog IPC-SysV I18N-Langinfo)); $no = qr/^(?:$no)$/i; +sub apply_config { + my ($config) = @_; + my @no; + + # duplicates logic from Configure (mostly) + push @no, "DB_File" unless $config->{i_db}; + push @no, "GDBM_File" unless $config->{i_gdbm}; + push @no, "I18N-Langinfo" unless $config->{i_langinfo} && $config->{i_nl_langinfo}; + push @no, "IPC-SysV" unless $config->{d_msg} || $config->{d_sem} || $config->{d_shm}; + push @no, "NDBM_File" unless $config->{d_ndbm}; + push @no, "ODBM_File" + unless ($config->{i_dbm} || $config->{i_rpcsvcdbm}) && !$config->{d_cplusplus}; + push @no, "VMS.*" unless $^O eq "VMS"; + push @no, "Win32.*" unless $^O eq "MSWin32" || $^O eq "cygwin"; + + $no = join('|', @no); + $no = qr/^(?:$no)$/i; +} + my %ext; my %static; -- 2.7.4