Thank you for your reply!
Indeed, I was never going to look at OMPI's use of AC/AM...no doubt that
would be far too complex for me. :-)
The AC/AM documents I have found so far are quite difficult for me -- I
really am starting from zero. Prior to using MPI, I have been writing
my own Makefiles and for the projects I work on [usually alone], that
was sufficient. However, your tip did help me; I dropped "MPI" from my
search and added "tutorial" instead and the hits are better.
As a starting point, I probably will only support open source MPIs. One
thing I was wondering about was whether it is possible, though the use
of #define's, to create code that is both multi-processor (MPI/mpic++)
and single-processor (normal g++). That is, if users do not have any
MPI installed, it compiles it with g++.
With #define's and compiler flags, I think that can be easily done --
was wondering if this is something that developers using MPI do and
whether AC/AM supports it.
But thanks and I'll try more phrase combinations in google...
Jeff Squyres wrote:
> OMPI itself uses AC/AM to build itself, but our configure.ac and some
> of our Makefile.am's are fairly complex -- I wouldn't use these as
> starting points.
> You probably want to start with some general AC/AM tutorials (the AM
> documentation reads somewhat like a tutorial -- you might want to look
> there?). Just google around for AC/AM tutorials; leave "MPI" out of
> your searching. Indeed, all you really want to do is build your
> software -- the only real difference between your app and other apps
> is that you want to use mpicc and friends to build it (vs. gcc and
> friends). Most other aspects should be the same.
> Hence, the big difference for building an MPI application with AC/AM
> is that you want to set the C, C++, and Fortran compilers to the
> various "wrapper" MPI compilers (e.g., CC=mpicc, CXX=mpic++,
> FC=mpif90, F77=mpif77). Then AC_PROG_CC (etc.) will find the wrapper
> compiler instead of gcc (for example).
> It gets tricky, though, because not all MPI implementations have
> wrapper compilers -- so it's up to you to decide how portable you want
> to be. The open source MPI's both have wrapper compilers by the same
> names (mpicc et al.), but some of the vendor/MPP platform-specific
> MPI's may not.
> Good luck.
> On Nov 6, 2008, at 6:35 AM, Raymond Wan wrote:
>> Hi all,
>> I'm not sure if this is relevant to this mailing list, but I'm trying
>> to get autoconf/automake working with an Open MPI program I am
>> writing (in C++) but unfortunately, I don't know where to begin. I'm
>> new to both tools but have it working well enough for a non-MPI
>> program. When I google for these terms, I end up with results of
>> people who have problems with autoconf/automake and *installing* Open
>> MPI -- which isn't what I am looking for. Or, I get results that are
>> well beyond what I need...I just need something to start with and
>> won't be combining programming languages, etc.
>> Does anyone have a brief example of configure.ac and/or Makefile.am
>> to start me off or know of a tutorial that describes how they can be
>> adapted for Open MPI from a non-MPI program?
>> Thank you -- any help appreciated!
>> users mailing list