| MPICH2 Home Page News Download MPICH2 FAQ Documentation License Information for Developers Student Projects Bug Reports ANL's MPI Page MPI Forum MPICH1 Home Page |
Information for Developers
Checking out the MPICH2 sourceTo checkout a new copy of the MPICH2 source on systems with access to the MCS filesystems, use
cvs -d /home/MPI/cvsMaster co mpich2all
(If you have trouble with the confdb module within MPICH2,
checkout mpich2allnoconfdb instead of mpich2all).
From external sites (including machines within MCS that do not mount the
division file systems), use
setenv CVS_RSH ssh
cvs -d :ext:shakey:/home/MPI/cvsMaster co mpich2all
To checkout a particular release, specify the release name on the checkout:
cvs -d /home/MPI/cvsMaster co -r MPICH2_1_0 mpich2all
Note that checking out a particular release name creates a branch (see
Managing and Using Branches).
Setting up the build environmentThe CVS repository does not contain any of the "derived" files, including theconfigure scripts and the C++ and Fortran 77 language bindings.
To build these, run
maint/updatefiles
Occasionally changes are made to the autoconf macros that are not detected by
the dependency tests for the configure scripts. It is always
correct to delete all of the configure scripts before running
maint/updatefiles:
find . -name configure -print | xargs rm
maint/updatefiles
The autoconf macros and the configure.in scripts now require
autoconf version 2.59. This was done because there are incompatible
differences between each minor release of autoconf (even the allowed
command line arguments has changed between 2.50 and 2.58).
You can select a particular version of Enabling automatic handling of file dependenciesUnder certain circumstances, the build system will automatically maintain dependency information, ensuring that changes to a header file, for example, forces the recompilation of all files that include that header file. The requirements are
make dependencies
after the configure step. This will enable dependency
handling for the parts of MPICH2 that use simplemake
(e.g., src/mpi, src/mpid, and some parts of
src/util). Other parts of MPICH2, such as ROMIO,
do not currently support automatic dependency handling.
Updated derived files such as configureIf you change one of the files that is the source for a derived file, such as aconfigure.in file, you will need to rebuild the
derived file (e.g., the corresponding configure file).
The safest way to do this is to rerun updatefiles:
maint/updatefiles
(from the top-level MPICH2 directory). However, this can take a fair
amount of time. You can direct updatefiles to only
update certain classes of files. For example, to update all
configure files, use
maint/updatefiles -do=build_configure
You can use multiple -do arguments. For example, to
rebuild the Makefile.in files and the
configure files, use
maint/updatefiles -do=build_configure -do=makefiles
Check the source of maint/updatefiles to see what other
options are available for -do.
Updating the MPICH2 Web PagesThe MPICH2 web site is managed under CVS. To update the web site, first checkout thempich2-web module:
cvs -d /home/MPI/cvsMaster co mpich2-webTo maintain a uniform look to the web pages, including the menu sidebars, each web page is created from a text file. For example, the main page is created from m.txt. This page created from developer.txt.
To make the web pages, simply execute make. To test the pages,
use
make test-pages
which will install the pages into the directory testhome. To
install the pages into the MCS web site, use
make install
To add a new page, look at the Makefile and add the necessary
commands. Make sure that the DIRS and MAINPAGES
variables list the source directory and files.
Updating the MPICH2 FAQ PagesThe MPICH2 FAQ is maintained from a single file,faq.txt, in the
directory mpich2/docs/faq. This source file uses a simplified
form of LaTeX for formatting; the script faqbuild, which is run
by using make in the docs/faq directory, will build
three forms of the FAQ:
|
| MCS Division | Argonne National Laboratory | University of Chicago |
Last modified Tue Sep 4 15:24:11 2007