#!/usr/bin/perl
use strict;
use FileHandle;
$/ = undef;
my $fd = new FileHandle;
open($fd,"mpicc -compile_info|");
my $info = <$fd>;
close($fd);
if($info eq "") {
  open($fd,"mpicc --showme|");
  $info = <$fd>;
  close($fd);
}
if($info eq "") {
  open($fd,"sh -x mpicc /dev/null 2>&1|");
  my $contents = <$fd>;
  if($contents =~ /\w+cc.*-I\/.*-lmpi.*/) {
    $info = $&;
  }
}
print "# MPI info: $info";
my @libdirs = ();
while($info =~ /-L\s*(\S+)/g) {
  push @libdirs, $1;
}
my @incdirs = ();
while($info =~ /-I\s*(\S+)/g) {
  push @incdirs, $1;
}
my @libs = ();
while($info =~ /-l(\w+)/g) {
  push @libs, $1;
}
print "MPI_INC_DIRS = ",join(" ",@incdirs),"\n";
print "MPI_LIB_DIRS = ",join(" ",@libdirs),"\n";
print "MPI_LIBS = ",join(" ",@libs),"\n";
