lib/ExtUtils/t/Embed.t: Skip tests is cross-compiling and $Config{cc} is not available
authorBrian Fraser <fraserbn@gmail.com>
Sun, 19 May 2013 07:44:07 +0000 (04:44 -0300)
committerBrian Fraser <fraserbn@gmail.com>
Wed, 22 Jan 2014 19:33:06 +0000 (16:33 -0300)
lib/ExtUtils/Embed.pm
lib/ExtUtils/t/Embed.t

index 05925cf..3f983c1 100644 (file)
@@ -10,7 +10,7 @@ use vars qw(@ISA @EXPORT $VERSION
 use strict;
 
 # This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.31';
+$VERSION = '1.32';
 
 @ISA = qw(Exporter);
 @EXPORT = qw(&xsinit &ldopts 
index 192c738..c02640c 100644 (file)
@@ -11,10 +11,12 @@ chdir 't';
 use Config;
 use ExtUtils::Embed;
 use File::Spec;
+use IPC::Cmd qw(can_run);
 
-if ( $Config{'usecrosscompile'} ) {
-    print "1..0 # SKIP no toolchain installed when cross-compiling\n";
-    exit 0;
+my $cc = $Config{'cc'};
+if ( $Config{usecrosscompile} && !can_run($cc) ) {
+    print "1..0 # SKIP Cross-compiling and the target doesn't have $cc";
+    exit;
 }
 open(my $fh,">embed_test.c") || die "Cannot open embed_test.c:$!";
 print $fh <DATA>;
@@ -22,7 +24,7 @@ close($fh);
 
 $| = 1;
 print "1..10\n";
-my $cc = $Config{'cc'};
+
 my $cl  = ($^O eq 'MSWin32' && $cc eq 'cl');
 my $skip_exe = $^O eq 'os2' && $Config{ldflags} =~ /(?<!\S)-Zexe\b/;
 my $exe = 'embed_test';