summaryrefslogtreecommitdiff
path: root/win32/FindExt.pm
diff options
context:
space:
mode:
Diffstat (limited to 'win32/FindExt.pm')
-rw-r--r--win32/FindExt.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/win32/FindExt.pm b/win32/FindExt.pm
index fe1febd839..25fa8ce844 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;