use ExtUtils::MakeMaker;
$MPIDIR = "/usr/local/mpich/include";
foreach (qw(/usr/mpich/include /usr/local/mpich/include
/usr/include/mpi /usr/local/include/mpi
/usr/lib/mpich/include /usr/local/lib/mpich/include))
{
if(-e "$_/mpi.h") { $MPIDIR = $_; last }
}
WriteMakefile(
'NAME' => 'Parallel::MPI',
'VERSION_FROM' => 'MPI.pm',
'LD' => 'mpicc',
'CC' => 'mpicc',
'LIBS' => [''],
'DEFINE' => '-DFLOAT_HACK',
'INC' => "-I$MPIDIR",
PL_FILES => { 't/01_mpi_init.PL' => 't/01_mpi_init.pl',
't/02_mpi_finalize.PL' => 't/02_mpi_finalize.pl',
't/03_mpi_comm_rank.PL' => 't/03_mpi_comm_rank.pl',
't/04_mpi_comm_size.PL' => 't/04_mpi_comm_size.pl',
't/05_mpi_initialized.PL' => 't/05_mpi_initialized.pl',
't/06_mpi_sendrecv.PL' => 't/06_mpi_sendrecv.pl',
't/06_sendrecv_int.PL' => 't/06_sendrecv_int.pl',
't/06_sendrecv_intarray.PL' => 't/06_sendrecv_intarray.pl',
't/06_sendrecv_dbl.PL' => 't/06_sendrecv_dbl.pl',
't/06_sendrecv_dblarray.PL' => 't/06_sendrecv_dblarray.pl',
't/06_sendrecv_flt.PL' => 't/06_sendrecv_flt.pl',
't/06_sendrecv_fltarray.PL' => 't/06_sendrecv_fltarray.pl',
't/07_mpi_bcast.PL' => 't/07_mpi_bcast.pl',
't/07_mpi_bcastarray.PL' => 't/07_mpi_bcastarray.pl',
't/08_mpi_reduce.PL' => 't/08_mpi_reduce.pl',
't/09_mpi_barrier.PL' => 't/09_mpi_barrier.pl',
't/10_mpi_wtime.PL' => 't/10_mpi_wtime.pl',
't/11_mpi_scattergather.PL' => 't/11_mpi_scattergather.pl',
't/11_mpi_scattergatherarray.PL' => 't/11_mpi_scattergatherarray.pl',
't/12_mpi_allreduce.PL' => 't/12_mpi_allreduce.pl',
't/13_mpi_sendrecv.PL' => 't/13_mpi_sendrecv.pl',
},
dist => { COMPRESS => 'gzip -9 -f', SUFFIX => 'gz' },
clean => { FILES => 't/*.pl PI[0-9][0-9][0-9]*'}
);