# This forces PL files to create target in same directory as PL file.
# This is so that make depend always knows where to find PL derivatives.
-$origdir = cwd;
+my $origdir = cwd;
chdir dirname($0);
-$file = basename($0, '.PL');
+my $file = basename($0, '.PL');
$file .= '.com' if $^O eq 'VMS';
# Create output file.
print OUT <<'!NO!SUBS!';
-# perlivp V 0.01
+# perlivp V 0.02
sub usage {
exit;
}
-use vars (%opt); # allow testing with older versions (do not use our)
+use vars qw(%opt); # allow testing with older versions (do not use our)
@opt{ qw/? H h P p V v/ } = qw(0 0 0 0 0 0 0);
# Unixes it is the basename rather than the full path to the perl binary.
my $perlpath = '';
if (defined($Config{'perlpath'})) { $perlpath = $Config{'perlpath'}; }
-# Of course some platforms are distinct...
-if ($^O eq 'VMS') { $perlpath = $^X; }
+
+# The useithreads Config variable plays a role in whether or not
+# threads and threads/shared work when C<use>d. They apparently always
+# get installed on systems that can run Configure.
+my $useithreads = '';
+if (defined($Config{'useithreads'})) { $useithreads = $Config{'useithreads'}; }
print OUT <<"!GROK!THIS!";
my \$perlpath = '$perlpath';
+my \$useithreads = '$useithreads';
!GROK!THIS!
print OUT <<'!NO!SUBS!';
!GROK!THIS!
print OUT <<'!NO!SUBS!';
-if ($ivp_VERSION == $]) {
+if ($ivp_VERSION eq $]) {
print "## Perl version `$]' appears installed as expected.\n" if $opt{'v'};
print "ok 2\n";
$pass__total++;
my @extensions = split(/\s+/,$Config{'extensions'});
foreach (@extensions) {
next if ($_ eq '');
+ if ( $useithreads !~ /define/i ) {
+ next if ($_ eq 'threads');
+ next if ($_ eq 'threads/shared');
+ }
next if ($_ eq 'Devel/DProf');
# VMS$ perl -e "eval ""require \""Devel/DProf.pm\"";"" print $@"
# \NT> perl -e "eval \"require 'Devel/DProf.pm'\"; print $@"