-my $has_vg = 0;
-print 'Checking for valgrind >= 3.1.0 in PATH... ';
-for (split /:/, $ENV{PATH}) {
- my $vg = $_ . '/valgrind';
- if (-x $vg) {
- my $ver = qx/$vg --version/;
- if ($ver =~ s/^valgrind-//) {
- $ver = join '', map chr, split /\./, $ver;
- if ($ver ge v3.1.0) {
- print "yes, $vg\n";
- $has_vg = 1;
- last;
- }
- }
+BEGIN {
+ eval { require Config };
+ die 'OS unsupported' if $@;
+ Config->import(qw/%Config/);
+ eval { require File::Spec };
+ die 'OS unsupported' if $@;
+}
+
+# Inspired from Module::Install::Can
+print "Checking for a valid C compiler in the PATH... ";
+my @ccs = ($Config{cc});
+unshift @ccs, $ENV{CC} if $ENV{CC};
+my @path = File::Spec->path;
+@ccs = map {
+ my $cc = $_;
+ File::Spec->file_name_is_absolute($cc)
+ ? $cc
+ : map File::Spec->catfile($_, $cc), @path
+} @ccs;
+my $has_cc;
+CC:
+for my $cc (@ccs) {
+ if (-x $cc or MM->maybe_command($cc)) {
+ $has_cc = $cc;
+ last CC;