From: Tony Cook Date: Thu, 6 Jan 2011 10:52:24 +0000 (+1100) Subject: ignore extensions based on the configuration X-Git-Tag: accepted/trunk/20130322.191538~5668 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=557ab4cb986767c7868d1b0471b669e794d9b569;p=platform%2Fupstream%2Fperl.git ignore extensions based on the configuration --- 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;