--- ParMGridGen-1.0-src/mgridgen.h	2001-11-09 00:41:22.000000000 +0100
+++ ParMGridGen-1.0/mgridgen.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-typedef int idxtype;
-typedef double realtype;
-
-
-void MGridGen(int, idxtype *, realtype *, realtype *, idxtype *, realtype *,
-              int, int, int *, int *, int *, idxtype *);
-
--- ParMGridGen-1.0-src/parmgridgen.h	2001-12-06 00:05:37.000000000 +0100
+++ ParMGridGen-1.0/parmgridgen.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-typedef int idxtype;
-typedef double realtype;
-
-void ParMGridGen(idxtype *, idxtype *, realtype *, realtype *, idxtype *,
-                 realtype *, int *, int, int, int *, idxtype *, MPI_Comm *);
--- ParMGridGen-1.0-src/acx_mpi.m4	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/acx_mpi.m4	2008-07-19 22:10:53.000000000 +0200
@@ -0,0 +1,181 @@
+# ===========================================================================
+#                http://autoconf-archive.cryp.to/acx_mpi.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   ACX_MPI([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+#   This macro tries to find out how to compile programs that use MPI
+#   (Message Passing Interface), a standard API for parallel process
+#   communication (see http://www-unix.mcs.anl.gov/mpi/)
+#
+#   On success, it sets the MPICC, MPICXX, MPIF77, or MPIFC output variable
+#   to the name of the MPI compiler, depending upon the current language.
+#   (This may just be $CC/$CXX/$F77/$FC, but is more often something like
+#   mpicc/mpiCC/mpif77/mpif90.) It also sets MPILIBS to any libraries that
+#   are needed for linking MPI (e.g. -lmpi or -lfmpi, if a special
+#   MPICC/MPICXX/MPIF77/MPIFC was not found).
+#
+#   If you want to compile everything with MPI, you should set:
+#
+#       CC="MPICC" #OR# CXX="MPICXX" #OR# F77="MPIF77" #OR# FC="MPIFC"
+#       LIBS="$MPILIBS $LIBS"
+#
+#   NOTE: The above assumes that you will use $CC (or whatever) for linking
+#   as well as for compiling. (This is the default for automake and most
+#   Makefiles.)
+#
+#   The user can force a particular library/compiler by setting the
+#   MPICC/MPICXX/MPIF77/MPIFC and/or MPILIBS environment variables.
+#
+#   ACTION-IF-FOUND is a list of shell commands to run if an MPI library is
+#   found, and ACTION-IF-NOT-FOUND is a list of commands to run if it is not
+#   found. If ACTION-IF-FOUND is not specified, the default action will
+#   define HAVE_MPI.
+#
+# LAST MODIFICATION
+#
+#   2008-04-12
+#
+# COPYLEFT
+#
+#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
+#   Copyright (c) 2008 Julian C. Cummings <cummings@cacr.caltech.edu>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Macro Archive. When you make and
+#   distribute a modified version of the Autoconf Macro, you may extend this
+#   special exception to the GPL to apply to your modified version as well.
+
+AC_DEFUN([ACX_MPI], [
+AC_PREREQ(2.50) dnl for AC_LANG_CASE
+
+AC_LANG_CASE([C], [
+	AC_REQUIRE([AC_PROG_CC])
+	AC_ARG_VAR(MPICC,[MPI C compiler command])
+	AC_CHECK_PROGS(MPICC, mpicc hcc mpxlc_r mpxlc mpcc cmpicc, $CC)
+	acx_mpi_save_CC="$CC"
+	CC="$MPICC"
+	AC_SUBST(MPICC)
+],
+[C++], [
+	AC_REQUIRE([AC_PROG_CXX])
+	AC_ARG_VAR(MPICXX,[MPI C++ compiler command])
+	AC_CHECK_PROGS(MPICXX, mpic++ mpicxx mpiCC hcp mpxlC_r mpxlC mpCC cmpic++, $CXX)
+	acx_mpi_save_CXX="$CXX"
+	CXX="$MPICXX"
+	AC_SUBST(MPICXX)
+],
+[Fortran 77], [
+	AC_REQUIRE([AC_PROG_F77])
+	AC_ARG_VAR(MPIF77,[MPI Fortran 77 compiler command])
+	AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc, $F77)
+	acx_mpi_save_F77="$F77"
+	F77="$MPIF77"
+	AC_SUBST(MPIF77)
+],
+[Fortran], [
+	AC_REQUIRE([AC_PROG_FC])
+	AC_ARG_VAR(MPIFC,[MPI Fortran compiler command])
+	AC_CHECK_PROGS(MPIFC, mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c, $FC)
+	acx_mpi_save_FC="$FC"
+	FC="$MPIFC"
+	AC_SUBST(MPIFC)
+])
+
+if test x = x"$MPILIBS"; then
+	AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
+		[C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
+		[Fortran 77], [AC_MSG_CHECKING([for MPI_Init])
+			AC_LINK_IFELSE([AC_LANG_PROGRAM([],[      call MPI_Init])],[MPILIBS=" "
+				AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])],
+		[Fortran], [AC_MSG_CHECKING([for MPI_Init])
+			AC_LINK_IFELSE([AC_LANG_PROGRAM([],[      call MPI_Init])],[MPILIBS=" "
+				AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])])
+fi
+AC_LANG_CASE([Fortran 77], [
+	if test x = x"$MPILIBS"; then
+		AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
+	fi
+	if test x = x"$MPILIBS"; then
+		AC_CHECK_LIB(fmpich, MPI_Init, [MPILIBS="-lfmpich"])
+	fi
+],
+[Fortran], [
+	if test x = x"$MPILIBS"; then
+		AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
+	fi
+	if test x = x"$MPILIBS"; then
+		AC_CHECK_LIB(mpichf90, MPI_Init, [MPILIBS="-lmpichf90"])
+	fi
+])
+if test x = x"$MPILIBS"; then
+	AC_CHECK_LIB(mpi, MPI_Init, [MPILIBS="-lmpi"])
+fi
+if test x = x"$MPILIBS"; then
+	AC_CHECK_LIB(mpich, MPI_Init, [MPILIBS="-lmpich"])
+fi
+
+dnl We have to use AC_TRY_COMPILE and not AC_CHECK_HEADER because the
+dnl latter uses $CPP, not $CC (which may be mpicc).
+AC_LANG_CASE([C], [if test x != x"$MPILIBS"; then
+	AC_MSG_CHECKING([for mpi.h])
+	AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
+		AC_MSG_RESULT(no)])
+fi],
+[C++], [if test x != x"$MPILIBS"; then
+	AC_MSG_CHECKING([for mpi.h])
+	AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
+		AC_MSG_RESULT(no)])
+fi],
+[Fortran 77], [if test x != x"$MPILIBS"; then
+	AC_MSG_CHECKING([for mpif.h])
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[      include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
+		AC_MSG_RESULT(no)])
+fi],
+[Fortran], [if test x != x"$MPILIBS"; then
+	AC_MSG_CHECKING([for mpif.h])
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[      include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
+		AC_MSG_RESULT(no)])
+fi])
+
+AC_LANG_CASE([C], [CC="$acx_mpi_save_CC"],
+	[C++], [CXX="$acx_mpi_save_CXX"],
+	[Fortran 77], [F77="$acx_mpi_save_F77"],
+	[Fortran], [FC="$acx_mpi_save_FC"])
+
+AC_SUBST(MPILIBS)
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x = x"$MPILIBS"; then
+        $2
+        :
+else
+        ifelse([$1],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$1])
+        :
+fi
+])dnl ACX_MPI
--- ParMGridGen-1.0-src/mgridgen.pc.in	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/mgridgen.pc.in	2008-07-20 15:34:06.000000000 +0200
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: MGridGen
+Description: Software for generating coarse grids
+Version: @VERSION@
+Libs: -L${libdir} -lIMlib -lMGridGen
+Cflags: -I${includedir}/mgridgen
--- ParMGridGen-1.0-src/parmgridgen.pc.in	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/parmgridgen.pc.in	2008-07-20 15:49:53.000000000 +0200
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: ParMGridGen
+Description: Software for parallel (mpi) generating coarse grids
+Version: @VERSION@
+Libs: -L${libdir} -lIMparmetis -lParMGridGen
+Cflags: -I${includedir}/imparmetis -I${includedir}/parmgridgen
--- ParMGridGen-1.0-src/configure.ac	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/configure.ac	2008-07-20 16:05:45.000000000 +0200
@@ -0,0 +1,24 @@
+# -*- Autoconf -*-
+AC_PREREQ(2.61)
+AC_INIT(parmgridgen, 1.0, moulitsa@cs.umn.edu)
+AM_INIT_AUTOMAKE([foreign])
+AC_CONFIG_HEADER([config.h])
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+AC_CHECK_LIB(m, sqrt)
+sinclude(acx_mpi.m4)
+AC_LANG_PUSH([C])
+ACX_MPI([], AC_MSG_ERROR([could not compile an mpi test program]))
+AC_CONFIG_FILES([Makefile 
+		 mgridgen.pc
+		 parmgridgen.pc
+		 MGridGen/Makefile
+		 MGridGen/IMlib/Makefile
+		 MGridGen/Lib/Makefile
+		 MGridGen/Programs/Makefile
+		 ParMGridGen/Makefile
+		 ParMGridGen/IMParMetis-2.0/Makefile
+		 ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile
+		 ParMGridGen/ParLib/Makefile
+		 ParMGridGen/Programs/Makefile])
+AC_OUTPUT
--- ParMGridGen-1.0-src/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/Makefile.am	2008-07-20 15:55:52.000000000 +0200
@@ -0,0 +1,7 @@
+## top directory
+
+SUBDIRS = MGridGen ParMGridGen
+EXTRA_DIST = VERSION mgridgen.pc.in parmgridgen.pc.in
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = mgridgen.pc parmgridgen.pc
--- ParMGridGen-1.0-src/MGridGen/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/MGridGen/Makefile.am	2008-07-19 22:53:47.000000000 +0200
@@ -0,0 +1,4 @@
+## middle directory
+
+#Build in these directories:
+SUBDIRS= IMlib Lib Programs
--- ParMGridGen-1.0-src/MGridGen/IMlib/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/MGridGen/IMlib/Makefile.am	2008-07-19 22:48:10.000000000 +0200
@@ -0,0 +1,8 @@
+## Source directory
+
+pkginclude_HEADERS = IMlib.h
+pkgincludedir = $(includedir)/mgridgen
+
+lib_LTLIBRARIES = libIMlib.la
+libIMlib_la_SOURCES = blas.c  dfkeysort.c  dkeysort.c  file.c  ifkeysort.c  ifloatsort.c  iintsort.c  ikeysort.c  memory.c  sort.c  util.c
+libIMlib_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
--- ParMGridGen-1.0-src/MGridGen/Lib/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/MGridGen/Lib/Makefile.am	2008-07-19 22:43:36.000000000 +0200
@@ -0,0 +1,10 @@
+## Source directory
+
+INCLUDES = -I../IMlib
+
+pkginclude_HEADERS = defs.h  macros.h  mgridgen.h  proto.h  struct.h
+pkgincludedir = $(includedir)/mgridgen
+
+lib_LTLIBRARIES = libMGridGen.la
+libMGridGen_la_SOURCES = aratio.c  coarsen.c  kwayfm.c  match.c  merge.c  mgridgen.c  refine.c  setup.c
+libMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
--- ParMGridGen-1.0-src/MGridGen/Programs/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/MGridGen/Programs/Makefile.am	2008-07-19 23:38:41.000000000 +0200
@@ -0,0 +1,7 @@
+## Source directory
+
+INCLUDES = -I../IMlib -I../Lib
+
+bin_PROGRAMS = mgridgen
+mgridgen_SOURCES = io.c mgridgen.c
+mgridgen_LDADD = ../IMlib/libIMlib.la ../Lib/libMGridGen.la -lm
--- ParMGridGen-1.0-src/ParMGridGen/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/ParMGridGen/Makefile.am	2008-07-20 16:04:31.000000000 +0200
@@ -0,0 +1,4 @@
+## middle directory
+
+#Build in these directories:
+SUBDIRS= IMParMetis-2.0 ParLib Programs
--- ParMGridGen-1.0-src/ParMGridGen/IMParMetis-2.0/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/Makefile.am	2008-07-20 15:24:55.000000000 +0200
@@ -0,0 +1,4 @@
+## middle directory
+
+#Build in these directories:
+SUBDIRS= ParMETISLib
--- ParMGridGen-1.0-src/ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile.am	2008-07-20 16:18:31.000000000 +0200
@@ -0,0 +1,8 @@
+## Source directory
+
+pkginclude_HEADERS = defs.h  macros.h  parmetis.h  proto.h  rename.h  struct.h
+pkgincludedir = $(includedir)/imparmetis
+
+lib_LTLIBRARIES = libIMparmetis.la
+libIMparmetis_la_SOURCES = coarsen.c  comm.c  debug.c  diffuse.c  drivers.c  edge_refine.c  fused.c  grsetup.c  iidxsort.c  ikeysort.c  memory.c  remap.c  setup.c  timer.c  util.c  var.c
+libIMparmetis_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
--- ParMGridGen-1.0-src/ParMGridGen/ParLib/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/ParMGridGen/ParLib/Makefile.am	2008-07-20 15:53:06.000000000 +0200
@@ -0,0 +1,10 @@
+## Source directory
+
+INCLUDES = -I$(top_builddir)/MGridGen/IMlib
+
+pkginclude_HEADERS = defs.h  macros.h  parmgridgen.h  proto.h  rename.h  struct.h
+pkgincludedir = $(includedir)/parmgridgen
+
+lib_LTLIBRARIES = libParMGridGen.la
+libParMGridGen_la_SOURCES = comm.c  debug.c  grsetup.c  ikeysort.c  memory.c  move.c  parmgridgen.c  setup.c  util.c
+libParMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
--- ParMGridGen-1.0-src/ParMGridGen/Programs/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ ParMGridGen-1.0/ParMGridGen/Programs/Makefile.am	2008-07-20 16:24:19.000000000 +0200
@@ -0,0 +1,21 @@
+## Source directory
+
+INCLUDES = -I../ParLib -I$(top_builddir)/MGridGen/IMlib
+
+bin_PROGRAMS = parmgridgen
+parmgridgen_SOURCES = io.c  main.c  parmgridgen.c
+parmgridgen_LDADD = ../IMParMetis-2.0/ParMETISLib/libIMparmetis.la ../ParLib/libParMGridGen.la \
+	$(top_builddir)/MGridGen/IMlib/libIMlib.la $(top_builddir)/MGridGen/Lib/libMGridGen.la @MPILIBS@
+
+# AM_CPPFLAGS = -I$(top_srcdir)/ParMETISLib
+# LDADD = $(top_builddir)/METISLib/libmetis.la \
+# 	$(top_builddir)/ParMETISLib/libparmetis.la
+
+# check_PROGRAMS = parmgridgen
+# parmgridgen_SOURCES = io.c  main.c  parmgridgen.c
+
+MPIRUN = mpirun -np 4
+
+check-local: $(check_PROGRAMS)
+	$(MPIRUN) parmgridgen $(top_builddir)/Graphs/M6.metis 3 4 6 1 4 128
+
