Commit 6a1cbdcf authored by Pavan Balaji's avatar Pavan Balaji
Browse files

[svn-r100] Added all components in the right places.

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
configure
configure.lineno
config.log
config.status
config.cache
cache.base
*conf.cache
config.system
config.h.in
.mpich2
autom4te.cache
libtool
Makefile.in
Makefile
mpich2-doxygen
lib
*ebug*
*elease*
*.log
mpich2.ncb
mpich2.opt
mpich2.plg
mpich2.suo
coverage*
mpich*pgrs.html
bin
.err
.deps
unusederr.txt
www
cscope.out
cscope.files
*.user
winbuild
man
This diff is collapsed.
COPYRIGHT
The following is a notice of limited availability of the code, and disclaimer
which must be included in the prologue of the code and in all source listings
of the code.
Copyright Notice
+ 2002 University of Chicago
Permission is hereby granted to use, reproduce, prepare derivative works, and
to redistribute to others. This software was authored by:
Argonne National Laboratory Group
W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov
E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov
Mathematics and Computer Science Division
Argonne National Laboratory, Argonne IL 60439
GOVERNMENT LICENSE
Portions of this material resulted from work developed under a U.S.
Government Contract and are subject to the following license: the Government
is granted for itself and others acting on its behalf a paid-up, nonexclusive,
irrevocable worldwide license in this computer software to reproduce, prepare
derivative works, and perform publicly and display publicly.
DISCLAIMER
This computer code material was prepared, in part, as an account of work
sponsored by an agency of the United States Government. Neither the United
States, nor the University of Chicago, nor any of their employees, makes any
warranty express or implied, or assumes any legal liability or responsibility
for the accuracy, completeness, or usefulness of any information, apparatus,
product, or process disclosed, or represents that its use would not infringe
privately owned rights.
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f39\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f56\fmodern\fcharset238\fprq1 Courier New CE;}{\f57\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f59\fmodern\fcharset161\fprq1 Courier New Greek;}
{\f60\fmodern\fcharset162\fprq1 Courier New Tur;}{\f61\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f62\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f63\fmodern\fcharset186\fprq1 Courier New Baltic;}
{\f64\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \styrsid10161903 Plain Text;}{\*\cs16 \additive \ul\cf2 \sbasedon10 \styrsid2708603 Hyperlink;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid748235\rsid1846685
\rsid1861041\rsid1902449\rsid2708603\rsid2974454\rsid2980031\rsid3285676\rsid4213780\rsid5981626\rsid6841942\rsid7408673\rsid8087515\rsid8157125\rsid8341836\rsid8730958\rsid8859827\rsid9716655\rsid10161903\rsid10827371\rsid11693622\rsid12919832
\rsid13004935\rsid13125986\rsid13447879\rsid14161470\rsid14766798\rsid15560263\rsid15802605\rsid15822176\rsid16341196\rsid16413980\rsid16598965}{\*\generator Microsoft Word 11.0.5604;}{\info{\title COPYRIGHT}{\author David Ashton}{\operator David Ashton}
{\creatim\yr2004\mo1\dy31\hr1\min12}{\revtim\yr2004\mo1\dy31\hr1\min12}{\version2}{\edmins1}{\nofpages1}{\nofwords226}{\nofchars1289}{\nofcharsws1512}{\vern24689}}\margl1319\margr1319
\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1319\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale150\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\nojkernpunct\rsidroot15560263
\fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid10161903\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang
{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2708603 COPYRIGHT
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603
\par The following is a notice of limited availability of the code, and disclaimer}{\insrsid2708603 }{\insrsid2708603 which must be included in the prologue of the code and in all source listings}{\insrsid2708603 }{\insrsid2708603 of the code.
\par
\par Copyright Notice
\par + 2002 University of Chicago
\par
\par Permission is hereby granted to use, reproduce, prepare derivative works, and}{\insrsid2708603 }{\insrsid2708603 to redistribute to others. This software was authored by:
\par
\par Argonne National Laboratory Group
\par W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov
\par E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov
\par Mathematics and Computer Science Division
\par Argonne National Laboratory, Argonne IL 60439
\par
\par
\par }\pard \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 GOVERNMENT LICENSE
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603
\par Portions of this material resulted from work developed under a U.S.}{\insrsid2708603 }{\insrsid2708603 Government Contract and are subject to the following license: the Government}{\insrsid2708603 }{\insrsid2708603
is granted for itself and others acting on its behalf a paid-up, nonexclusive,}{\insrsid2708603 }{\insrsid2708603 irrevocable worldwide license in this computer software to reproduce, prepare}{\insrsid2708603 }{\insrsid2708603
derivative works, and perform publicly and display publicly.
\par
\par }\pard \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603 DISCLAIMER
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 {\insrsid2708603
\par This computer code material was prepared, in part, as an account of work}{\insrsid2708603 }{\insrsid2708603 sponsored by an agency of the United States Government. Neither the United}{\insrsid2708603 }{\insrsid2708603
States, nor the University of Chicago, nor any of their employees, makes any}{\insrsid2708603 }{\insrsid2708603 warranty express or implied, or assumes any legal liability or responsibility}{\insrsid2708603 }{\insrsid2708603
for the accuracy, completeness, or usefulness of any information, apparatus,}{\insrsid2708603 }{\insrsid2708603 product, or process disclosed, or represents that its use would not infringe}{\insrsid2708603 }{\insrsid2708603 privately owned rights.
\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2708603 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid2708603\charrsid10161903
\par }}
\ No newline at end of file
# -*- Mode: makefile; -*-
SUBDIRS = . src @EXTERNAL_SRC_DIRS@ examples
# Do not include test in the basic build.
OTHER_DIRS = test
DOC_SUBDIRS = doc
# The all-local target makes sure that when different subsystems are selected
# for the configure step, the libraries are removed and the object files
# cleaned out. Without this step, it is possible to run make and encounter
# errors caused by out-of-date objects in the directories and in the
# library. We do not replace the pkglist file until the make completes,
# using the all-postamble target.
#
# Here is the logic:
# A new configure creates lib/newconfig
# A cleanobjsandlibs step removes that file, as well as removing the
# libraries and object files
# The test for whether the clean step is performed is this:
# Create a file lib/pkglist.new
# Compare lib/pkglist.new to lib/pkglist
# If the same, rm lib/pkglist.new and done.
# If different, then cleanout the libraries and object files,
# then mv lib/pkglist.new lib/pkglist
#
all-local:
@if [ ! -d lib ] ; then mkdir lib ; date > lib/.mpich2created ; \
else \
echo "@subsystems@" > lib/pkglist.new ; \
echo "@CC@ @CFLAGS@" >>lib/pkglist.new ;\
echo "@CXX@ @CXXFLAGS@" >> lib/pkglist.new ;\
echo "@F77@ @FFLAGS@" >> lib/pkglist.new ;\
echo "@F90@ @F90FLAGS@" >> lib/pkglist.new ;\
echo "@CONFIGURE_ARGUMENTS@" >>lib/pkglist.new ; \
echo "@LDFLAGS@" >> lib/pkglist.new ;\
if diff lib/pkglist lib/pkglist.new >/dev/null 2>&1 ; then \
rm -f lib/pkglist.new ; \
else \
${MAKE} cleanobjsandlibs ; \
rm -f lib/pkglist ; \
mv -f lib/pkglist.new lib/pkglist ; \
fi ; \
fi
clean-preamble:
${MAKE} cleanlibs
cleanobjsandlibs:
${MAKE} clean && cd test && ${MAKE} clean
rm -f lib/newconfig
# cleanlibs makes sure that we clean all of the library files
cleanlibs:
rm -f lib/lib${MPILIBNAME}.a lib/lib${PMPILIBNAME}.a
rm -f lib/lib${MPICXXLIBNAME}.a
rm -f lib/libf${MPILIBNAME}.a lib/lib${MPILIBNAME}f90.a
rm -f lib/lib${MPILIBNAME}.@SHLIB_EXT@*
rm -f lib/lib${PMPILIBNAME}.@SHLIB_EXT@*
rm -f lib/lib${MPICXXLIBNAME}.@SHLIB_EXT@*
rm -f lib/libf${MPILIBNAME}.@SHLIB_EXT@*
rm -f lib/lib${MPILIBNAME}.*.@SHLIB_EXT@*
rm -f lib/lib${PMPILIBNAME}.*.@SHLIB_EXT@*
rm -f lib/lib${MPICXXLIBNAME}.*.@SHLIB_EXT@*
rm -f lib/libf${MPILIBNAME}.*.@SHLIB_EXT@*
rm -f lib/lib${MPILIBNAME}.la* lib/lib${PMPILIBNAME}.la*
rm -f lib/lib${MPICXXLIBNAME}.la*
rm -f lib/libf${MPILIBNAME}.la*
all-preamble:
@echo "Beginning make"
# Add any final extras:
# 1) Build the debugger interface if requested
# Move the "pkglist.new" file to "pkglist" on successful completion
all-postamble:
@if [ "@BUILD_TVDLL@" = "yes" ] ; then \
( cd src/mpi/debugger && $(MAKE) ./libtvmpich2.@SHLIB_EXT@ ) ; fi
@if [ -s lib/pkglist.new ] ; then mv -f lib/pkglist.new lib/pkglist ; fi
@echo "Make completed"
# The test on lib/.mpich2created lets us delete the local lib directory
# if we created it, and not otherwise
distclean-local:
-@rm -f lib/lib${MPILIBNAME}.a lib/pkglist lib/pkglist.new
-@rm -f lib/lib${MPILIBNAME}.@SHLIB_EXT@* lib/lib${MPILIBNAME}.la
-@if [ -s lib/.mpich2created ] ; then rm -rf lib ; fi
-@rm -f src/include/${MPILIBNAME}conf.h
-@rm -f src/include/mpio.h
-@rm -f bin/mpicc
-@rm -f bin/mpich2version
-@cd test && $(MAKE) distclean
PACKAGE = mpich2
# Version < 1 is pre MPI-1 release.
# Version >= 2 contains MPI-2
# Version between 1 and 2 contains all of MPI1 and parts of MPI-2
# Version is now set in the Configure file so that we can easily include the
# version on the configure output and to match the common practice of
# current autoconfs
VERSION = @VERSION@
MPICVSHOME = @MPICVSHOME@
#
# Build a distribution tarfile
# Extract into a temporary directory
# cvs update output into cvsexp.log to reduce the volume of noise
# in the output
# Rename the directory
# Run updatefiles with distribution options
# Tar it up
dist: dist-check
@version=${VERSION} ; \
prever=`echo ${VERSION} | sed -e 's/^[^-]*//'` ; \
if [ "$$prever" = "-CVS" ] ; then version=$${version}-`date "+%Y%m%d%H%M"` ; fi ; \
if [ -z "${TAG}" ] ; then tag=HEAD ; else tag=${TAG}; fi ; \
$(MAKE) version=$${version} tag=$${tag} doc=yes dist-with-version
# snap creates a simple snapshot of the currently checked in MPICH2 sources.
# No documentation is included.
snap:
@version=snap-`date "+%Y%m%d%H%M"` ; \
$(MAKE) version=$${version} tag=HEAD doc=no dist-with-version
#
# Note on dist process
# Some directories and files are not included with the distribution.
# These may be old experimental versions or internal projects.
# Some may have other copyrights which we wish to keep out of the "clean"
# code (Zeroconf.py is an example of this).
#
# Note that for the documentation, we need to configure with romio enabled
# to ensure that the documentation pages are built
#
dist-with-version:
@if [ -z "$(version)" ] ; then \
echo "Must invoke with make version=value tag=value dist-with-version" ;\
exit 1 ; fi
@if [ -z "$(tag)" ] ; then \
echo "Must invoke with make version=value tag=value dist-with-version" ;\
exit 1 ; fi
@echo ""; echo "Cutting version ${version} of the MPICH2 distribution from tag ${tag}" ; echo ""
if [ ! -d tmpdir ] ; then mkdir tmpdir ; fi
rm -f cvsexp.log
( cd tmpdir && cvs -d $(MPICVSHOME) export -r "${tag}" mpich2allWithMPE >cvsexp.log 2>&1 ) || (echo "cvs export failed; see tmpdir/cvsexp.log" && exit 1 )
( cd tmpdir/mpich2 && sed -e "s/^VERSION = .*/VERSION = ${version}/" Makefile.sm >.tmp && mv .tmp Makefile.sm )
echo "${version}" >tmpdir/mpich2/maint/Version
mv tmpdir/mpich2 tmpdir/${PACKAGE}-${version}
( cd tmpdir/${PACKAGE}-${version}/src/mpid && rm -rf mm rdma globus)
( cd tmpdir/${PACKAGE}-${version}/doc && rm -rf notes develop )
( cd tmpdir/${PACKAGE}-${version}/src/pm && rm -rf forker rmpd ompd )
( cd tmpdir/$(PACKAGE)-$(version)/src/pm/mpd && rm -f Zeroconf.py)
( cd tmpdir/$(PACKAGE)-$(version)/src/mpid/ch3/channels && rm -rf ib rdma gasnet sshm)
( cd tmpdir/$(PACKAGE)-$(version)/src/pmi && rm -rf simple2)
( cd tmpdir/$(PACKAGE)-$(version)/src/mpid/ch3/channels/nemesis/nemesis/net_mod && rm -rf newtcp_module/* sctp_module/* ib_module/* psm_module/*)
( cd tmpdir/$(PACKAGE)-$(version)/src/mpid/ch3/channels/nemesis/nemesis/net_mod && \
echo "# Stub Makefile" > newtcp_module/Makefile.sm && \
echo "# Stub Makefile" > ib_module/Makefile.sm && \
echo "# Stub Makefile" > psm_module/Makefile.sm && \
echo "# Stub Makefile" > sctp_module/Makefile.sm )
( cd tmpdir/${PACKAGE}-${version} && rm -f ToDo* )
( cd tmpdir/${PACKAGE}-${version} && rm -rf archive )
( cd tmpdir/${PACKAGE}-${version} && maint/updatefiles )
( cd tmpdir/${PACKAGE}-${version}/maint && rm -f config.log config.status )
( cd tmpdir/${PACKAGE}-${version} && rm -f unusederr.txt )
( cd tmpdir/${PACKAGE}-${version} && find . -name 'autom4te.cache' \
-print | xargs @XARGS_NODATA_OPT@ rm -rf)
( cd tmpdir/${PACKAGE}-${version} && find . -name '.state-cache' \
-print | xargs @XARGS_NODATA_OPT@ rm -rf)
( cd tmpdir/${PACKAGE}-${version} && rm -rf src/mpe2/src/slog2sdk/doc/jumpshot-4/tex )
if [ "$(doc)" = "yes" ] ; then \
cp -r tmpdir/${PACKAGE}-${version} tmpdir2 ; \
rm -f manlog.txt ; \
( cd tmpdir2 && ./configure --without-mpe --disable-f90 \
--disable-f77 --disable-cxx && \
${MAKE} mandoc && ${MAKE} htmldoc && \
${MAKE} latexdoc ) >manlog.txt 2>&1 ; \
if [ ! -d tmpdir2/man ] ; then echo "WARNING: unable to build manpages" ; \
(cd tmpdir2 && ls ) ; \
fi ; \
if [ ! -s tmpdir2/man/man3/MPI_Init.3 ] ; then \
echo "Unable to build requested man pages" ; \
echo "Fix the problem (e.g., make sure doctext is available)" ;\
echo "or add doc=no to the make command line if man pages are";\
echo "not required" ;\
exit 1; \
fi ; \
cp -r tmpdir2/man tmpdir/${PACKAGE}-${version}/man ; \
cp -r tmpdir2/www tmpdir/${PACKAGE}-${version}/www ; \
cp tmpdir2/doc/userguide/user.pdf tmpdir/${PACKAGE}-${version}/doc/userguide/user.pdf ; \
cp tmpdir2/doc/installguide/install.pdf tmpdir/${PACKAGE}-${version}/doc/installguide/install.pdf ; \
cp tmpdir2/doc/smpd/smpd_pmi.pdf tmpdir/${PACKAGE}-${version}/doc/smpd/smpd_pmi.pdf ; \
cp tmpdir2/doc/logging/logging.pdf tmpdir/${PACKAGE}-${version}/doc/logging/logging.pdf ; \
cp tmpdir2/doc/windev/windev.pdf tmpdir/${PACKAGE}-${version}/doc/windev/windev.pdf ; \
rm -rf tmpdir2 ; \
( cd tmpdir/${PACKAGE}-${version}/src/mpe2/maint && ${MAKE} -f Makefile4man ) ; \
fi
( cd tmpdir/${PACKAGE}-${version} && maint/updatefiles -distrib )
( cd tmpdir/${PACKAGE}-${version} && find . -name 'CVS' -print | \
xargs @XARGS_NODATA_OPT@ rm -rf )
( cd tmpdir && tar cf ${PACKAGE}-${version}.tar ${PACKAGE}-${version} )
mv -f tmpdir/${PACKAGE}-${version}.tar .
rm -rf tmpdir
# Check that all modules are present in the development version
MODULE_DIRS = confdb src/util/thread src/mpi/romio src/mpe2 src/pm/smpd src/pm/mpd doc/notes
dist-check:
@for dir in $(MODULE_DIRS) ; do \
if [ ! -d $(master_top_srcdir)/$$dir ] ; then \
echo "Missing $$dir in $(master_top_srcdir) !" ; \
exit 1 ; \
fi ; \
done
#
# We skip the mpid/mm directories because mm is no longer active
# mpe2 is an outside project and is tested against the default
# checks
coding-check:
@if [ -z $(CODINGCHECK) ] ;then \
echo "You must define CODINGCHECK for this target" ; \
else \
echo "Checking the MPICH2 sources" ;\
$(CODINGCHECK) -addchecks=mpich2,funcstates,funcnests \
-skipfiles=src/mpe2,src/mpid/mm src examples test ;\
if [ -d src/mpe2 ] ; then \
echo "Checking mpe2 sources" ;\
$(CODINGCHECK) src/mpe2 ; \
fi ; \
fi
# Set the document sources and types (empty lists still cause recursion)
# These should be empty; any source files should be described in the
# directory that contains those source files. The presence of these
# items simply indicates that there are such documents
doc_HTML_SOURCES =
doc_MAN_SOURCES =
doc_LATEX_SOURCES =
# Add the www index pages
htmldoc-local:
doc/mansrc/createhtmlindex
# Testing requires installation first
testing:
(cd test && $(MAKE) testing)
profilelib_${MPILIBNAME} = ${PMPILIBNAME}
MPICXXLIBNAME = @MPICXXLIBNAME@
MPIFLIBNAME = @MPIFLIBNAME@
MPIFWRAPNAME = @FWRAPNAME@
install_LIB = lib/lib${MPILIBNAME}.a
optinstall_LIB = lib/lib${MPIFLIBNAME}.a
optinstall_LIB = lib/lib${MPICXXLIBNAME}.a
optinstall_LIB = lib/lib${MPIFWRAPNAME}.a
#optinstall_SHLIB = lib/lib${MPIFLIBNAME}.@SHLIB_EXT@
#optinstall_SHLIB = lib/lib${MPICXXLIBNAME}.@SHLIB_EXT@
# Extra information on creating shared libraries, needed on some platforms
# On the platforms that require these options, we require that
# PMPILIBNAME and MPILIBNAME be the same.
# UNUSED, example for experimentation only
#lib${MPILIBNAME}_so_EXPORTS = maint/mpi.def
#libf${MPILIBNAME}_so_EXPORTS = maint/fmpi.def
libf${MPILIBNAME}_so_LIBS = -L. -l$(MPILIBNAME)
install_INCLUDE = src/include/mpi.h
optinstall_LIB = lib/lib${PMPILIBNAME}.a
optinstall_SHLIB = lib/lib${MPILIBNAME}.@SHLIB_EXT@
optinstall_SHLIB = lib/lib${PMPILIBNAME}.@SHLIB_EXT@
optinstall_INCLUDE = src/mpi/romio/include/mpiof.h src/mpi/romio/include/mpio.h
optinstall_LIB = lib/libf${MPILIBNAME}.a
optinstall_SHLIB = lib/libf${MPILIBNAME}.@SHLIB_EXT@
optinstall_SHLIB = lib/lib${MPICXXLIBNAME}.@SHLIB_EXT@
# Some of the subsidiary packages may need to be installed. This target will
# invoke their install targets as part of the installation process
INSTALL_SUBDIRS = src/util/thread src/env \
src/pkgconfig @bindings_dirs@ @other_install_dirs@
# Install preamble checks for possible problems
install-preamble:
@if [ "@ENABLE_SHLIB@" = none ] ; then\
found=no ; \
for file in ${libdir}/lib*${MPILIBNAME}.@SHLIB_EXT@ ; do \
if [ -f $$file ] ; then \
echo "Remove $$file and rerun ${MAKE} install" ; \
found=yes ; \
fi ; \
done ; \
if [ $$found != no ] ; then exit 1 ; fi ;\
fi
# Install optional features which require special actions:
# The debugger interface (the "Totalview" DLL)
# The "other" process managers when more that one are built
install_local_DIR = libdir
install-local:
-if [ "@BUILD_TVDLL@" = "yes" ] ; then \
$(INSTALL_DATA) src/mpi/debugger/libtvmpich2.@SHLIB_EXT@ \
${DESTDIR}${libdir}/libtvmpich2.@SHLIB_EXT@ ; fi
-if [ -n "@other_pm_names@" ] ; then \
for pm in @other_pm_names@ /dev/null ; do \
if [ -d src/pm/$$pm ] ; then \
(cd src/pm/$$pm && $(MAKE) install-alt ) ; fi ; \
done ; \
fi
#
# The install-examples target may be used if you want to install the cpi
# program for others to use. This is nto part of the default installation
# because there isn't a good place to put this in the GNU recommended
# installation targets (its a kind of hardware-architecture-specific
# documentation)
install-examples:
if [ ! -d ${DESTDIR}${exec_prefix}/examples ] ; then \
$(MKDIR_P) ${DESTDIR}${exec_prefix}/examples ; \
fi
$(INSTALL_PROGRAM) examples/cpi ${DESTDIR}${exec_prefix}/examples/cpi
install-devdocs:
(cd doc && $(MAKE) install-devdocs)
# installcheck-postable adds checks that may require special
# handling.
# FIXME: Some install checks require that the Process Manager be
# started first. This step does not handle that.
installcheck-postamble:
@if [ -n "@mpe_dir@" -a -d "src/@mpe_dir@" ] ; then \
(cd src/@mpe_dir@ && $(MAKE) installcheck-all ; ) ; fi
#
# The documents are shipped as part of the release, and so should be
# installed from the source directory, not a VPATH build directory
install_DOC =
optinstall_DOC = \
$(srcdir)/doc/userguide/user.pdf \
$(srcdir)/doc/installguide/install.pdf \
$(srcdir)/doc/smpd/smpd_pmi.pdf \
$(srcdir)/doc/logging/logging.pdf
installdir_HTML = $(srcdir)/www
installdir_MAN = $(srcdir)/man
#install_BIN =
#install_SBIN =
# Still to do: figure out the appropriate target for installing the html
# versions of the documents.
This diff is collapsed.
Here are the instructions for setting up the mpich2 development directory.
Within MCS (Unix):
cvs -d /home/MPI/cvsMaster checkout mpich2all
cd mpich2
maint/updatefiles
To update files faster, use:
maint/updatefiles --without-codecheck
Within MCS (Windows), there are two approaches. You can either map
the Unixhome to a Windows drive (such as f:) or use the CVS's
external interface. We recommend using the external interface even
withing MCS because it is much faster than using the Unixhome drive.
Instructions on using the Unixhome are at the end of this note, if you
decide to use it.
Outside of MCS, but with an MCS account (replace "yourname" with your
MCS login name):
setenv CVS_RSH ssh
cvs -d :ext:yourname@shakey.mcs.anl.gov:/home/MPI/cvsMaster checkout mpich2all
cd mpich2
maint/updatefiles
Outside of MCS and no MCS account:
Currently not possible; the anonymous cvs server is considered a security
risk.
To update the code in an existing CVS working directory, do the following from
the top-level mpich2 directory:
make distclean
cvs update -d
maint/updatefiles [--without-codecheck]
./configure [configopts]
make
Appendix
========
Using Unixhome (within MCS) and cygwin, with the cvs available as part of
cygwin, not the cvs for windows) and that drive f: is mapped to
/home:
cvs -d /cygdrive/f/MPI/cvsMaster checkout mpich2all
cd mpich2
maint/updatefiles
Note that the cygwin cvs may not properly handle the defined modules; in that
case, use the directory names for each component:
cvs -d /cygdrive/f/MPI/cvsMaster checkout mpich2-01
...
BUILDING ROMIO INTO MPICH2
By default, ROMIO, an implementation of the I/O portion of MPI-2 will be
built as a part of MPICH2. The file systems to be built can be
speicified by passing them in a '+'-delimited list to the
--with-file-system configure option. for example:
--with-file-system="pvfs+nfs+ufs"
If you have installed version 2 of the PVFS file system, you can use the
'--with-pvfs2=<prefix>' configure option to specify where libraries,
headers, and utilities have been installed. If you have added the pvfs
utilities to your PATH, then ROMIO will detect this and build support
for PVFS automatically.
To test MPICH2, use the following options after installing mpich2. These
will assume that mpich2 is installed into /usr/local/mpich2
1. MPICH2 test suite:
# cd to the top of the mpich2 build tree (may be source tree or a VPATH build
# tree).
cd mpich2
make testing
# Results summary is in test/summary.xml
2a. MPICH test suite:
# cd the mpich test suite directory
cd mpich/examples/test
setenv MPIRUN /usr/local/mpich2/bin/mpiexec
# remove --enable-io if MPICH2 was not built with --enable-romio
./configure -cc=/usr/local/mpich2/bin/mpicc -fc=/usr/local/mpich2/bin/mpif77 \
--enable-io
make testing
2b. MPICH test suite using VPATH
# Assume that the mpich test suite source is in /home/me/mpich/examples/test
# Assume that /sandbox is a local, temporary disk area
mkdir -p /sandbox/$LOGNAME/mpitest
cd /sandbox/$LOGNAME/mpitest
setenv MPIRUN /usr/local/mpich2/bin/mpiexec
# remove --enable-io if MPICH2 was not built with --enable-romio
/home/me/mpich/examples/test/configure -cc=/usr/local/mpich2/bin/mpicc \
-fc=/usr/local/mpich2/bin/mpif77 \
--enable-io
make testing
3. C++ test suite
# (This suite may also be run with VPATH)
cd mpicxxtest
./configure --with-mpich=/usr/local/mpich2 --enable-xml
make testing
# Summary is in summary.xml
4. Intel test suite
# It is recommended that this be run VPATH, within a locally mounted disk.
# Assume that the source for the Intel test is in /home/me/MPITEST
mkdir -p /sandbox/$LOGNAME/MPITEST
cd /sandbox/$LOGNAME/MPITEST
/home/me/MPITEST/configure --with-mpich2=/usr/local/mpich2
make testing
# Summary is in Test/summary.xml
This diff is collapsed.
Here are the instructions for setting up the mpich2 development environment on a Windows machine.
0) Install:
Microsoft Developer Studio 2003 or later
Intel Fortran 8.0 or later
cygwin
choose the dos file format option
install perl and cvs
1) Checkout mpich2:
Bring up a command prompt.
(replace "yourname" with your MCS login name):
set CVS_RSH=ssh
cvs -d :ext:yourname@shakey.mcs.anl.gov:/home/MPI/cvsMaster checkout mpich2all
2) Generate *.h.in
Bring up a cygwin bash shell.
cd mpich2
maint/updatefiles
exit
3) Execute winconfigure.wsf
4) Open Developer Studio
open mpich2\mpich2.sln
build the ch3sockDebug mpich2 solution
build the ch3sockDebug mpich2s project
build the ch3sockRelease mpich2 solution
build the ch3sockRelease mpich2s project