Alien-SDL2
view release on metacpan or search on metacpan
inc/My/Builder.pm view on Meta::CPAN
warn "###WARN### Patching '$k' failed: $@";
}
}
}
sub run_output_on_error {
my ($self, $limit, $cmd) = @_;
my $output;
my $c = ref($cmd) eq 'ARRAY' ? join(' ',@$cmd) : $cmd;
print STDERR "CMD: $c\n";
print STDERR "- running (stdout+stderr redirected)...\n";
my $rv = run3($cmd, \undef, \$output, \$output, { return_if_system_error => 1 } );
my $success = ($rv == 1 && $? == 0) ? 1 : 0;
if ($success) {
print STDERR "- finished successfully (output suppressed)\n";
}
else {
$output = substr $output, -$limit if defined $limit; # we want just last N chars
if (!defined($limit)) {
print STDERR "OUTPUT:\n", $output, "\n";
}
lib/Alien/SDL2.pm view on Meta::CPAN
/* GL/gl.h on Win32 requires windows.h being included before */
#include <windows.h>
#endif
$inc
int demofunc(void) { return 0; }
MARKER
close($fs);
my $obj;
my $stdout = '';
my $stderr = '';
($stdout, $stderr) = Capture::Tiny::capture {
$obj = eval { $cb->compile( source => $src, extra_compiler_flags => Alien::SDL2->config('cflags')); };
};
if($obj) {
print STDERR "\n";
unlink $obj;
return 1;
}
else {
if( $stderr ) {
$stderr =~ s/[\r\n]$//;
$stderr =~ s/^\Q$src\E[\d\s:]*//;
print STDERR " NOK: ($stderr)\n";
}
# on Windows (MSVC) stdout is set, but not stderr
else {
$stdout =~ s/[\r\n]$//;
$stdout =~ s/.+[\r\n]//;
$stdout =~ s/^\Q$src\E[\(\)\d\s:]*//;
print STDERR " NOK: ($stdout)\n";
}
return 0;
}
}
( run in 0.527 second using v1.01-cache-2.11-cpan-49f99fa48dc )