summaryrefslogtreecommitdiff
path: root/win32/FindExt.pm
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2005-01-13 10:24:13 +0000
committerSteve Hay <SteveHay@planit.com>2005-01-13 10:24:13 +0000
commit679f4c1f843301b32867fd4e42cf54109af3830f (patch)
treed3cf4d8457c9a2c0fc9f404a8e35f730fe4b57d7 /win32/FindExt.pm
parent487bb90902471d35a702751539fe1f3f260752dc (diff)
downloadperl-679f4c1f843301b32867fd4e42cf54109af3830f.tar.gz
Fix Win32 build problem caused by change 23757
Change 23757 added a glob() call to win32/FindExt.pm. That code is run by miniperl.exe when making the ..\config.sh target, but miniperl.exe is built with -D PERL_EXTERNAL_GLOB so it requires perlglob.exe to do the glob(). perlglob.exe has been built, but is in the top-level of the source tree so is not found when miniperl.exe is executed from within the win32/ sub-directory. This was causing smokes to fail on t/lib/commonsense.t because the "extensions" field in lib/Config_heavy.pl only contained "threads/shared" as a result of the glob() not finding anything. Manual builds had been working fine for me because I had an installed perl in my PATH so perlglob.exe was being found there instead! p4raw-id: //depot/perl@23785
Diffstat (limited to 'win32/FindExt.pm')
-rw-r--r--win32/FindExt.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/win32/FindExt.pm b/win32/FindExt.pm
index 62429a57a3..b42b68a9e9 100644
--- a/win32/FindExt.pm
+++ b/win32/FindExt.pm
@@ -76,7 +76,10 @@ sub is_static
# NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
sub find_ext
{
- for my $xxx (glob "*") {
+ opendir my $dh, '.';
+ my @items = grep { !/^\.\.?$/ } readdir $dh;
+ closedir $dh;
+ for my $xxx (@items) {
if ($xxx ne "DynaLoader") {
if (-f "$xxx/$xxx.xs") {
$ext{"$_[0]$xxx"} = $static{"$_[0]$xxx"} ? 'static' : 'dynamic';