[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc1-12-gee5e30e
mysql vizuser
noreply at mpich.org
Mon Nov 11 15:02:55 CST 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via ee5e30e4ed3cddd10e2ebf72087174284d8d590b (commit)
from ea66029303a939a907537013b811f7e99bf45ad1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/ee5e30e4ed3cddd10e2ebf72087174284d8d590b
commit ee5e30e4ed3cddd10e2ebf72087174284d8d590b
Author: Antonio J. Pena <apenya at mcs.anl.gov>
Date: Thu Nov 7 18:21:03 2013 -0600
Fix --program-suffix/--program-prefix support
Added support to handle --program-suffix and --program-prefix options.
Fixes #1967.
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/Makefile.am b/Makefile.am
index 779fad4..04773d2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -161,8 +161,8 @@ install-exec-hook:
rm -f $${e}.tmp ; \
fi ; \
done ; \
- if test -e ${DESTDIR}${bindir}/mpicxx ; then \
- cd ${DESTDIR}${bindir} && ln -f -s mpicxx mpic++ ; fi
+ if test -e ${DESTDIR}${bindir}/@MPICXX_NAME@ ; then \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPICXX_NAME@ @MPICPP_NAME@ ; fi
# the configure step checks for the 'lib' dir to decide whether a source
# directory has been previously used for an in-path build before allowing a
@@ -179,7 +179,7 @@ DISTCLEANFILES += config.system
# we can only have one clean-local, so we hook into it via conditionally
# defined variables in the dependencies section
clean-local: $(CLEAN_LOCAL_TARGETS)
- rm -f ${DESTDIR}${bindir}/mpic++
+ rm -f ${DESTDIR}${bindir}/@MPICPP_NAME@
# --------------------------------------------------------------------------
# coverage rules
diff --git a/confdb/aclocal_mpi.m4 b/confdb/aclocal_mpi.m4
index a806062..a1adf4c 100644
--- a/confdb/aclocal_mpi.m4
+++ b/confdb/aclocal_mpi.m4
@@ -165,6 +165,8 @@ dnl MPI_FIND_COMPILER_SCRIPTS
dnl which can fail (i.e., not find a script), and
dnl MPI_FIND_COMPILERS
dnl which runs the various PROC_xx for the compilers.
+dnl WARNING: this function ignores --program-suffix and --program-prefix.
+dnl However, this function is not currently used at all.
AC_DEFUN([PAC_MPI_FIND_COMPILER_SCRIPTS],[
# Set defaults
MPIRUN_NP="-np "
diff --git a/confdb/aclocal_util.m4 b/confdb/aclocal_util.m4
index a0b0e14..7c96378 100644
--- a/confdb/aclocal_util.m4
+++ b/confdb/aclocal_util.m4
@@ -199,3 +199,17 @@ dnl I think that printf like this will be sufficiently portable, but I don't
dnl have any guarantee of it. If not, we can fall back to AS_VAR_ARITH
dnl and/or AC_COMPUTE_INT (the latter will probably be slow)
AC_DEFUN([PAC_CONV_HEX_TO_DEC],[AS_VAR_SET([$2],[`printf "%d" $1`])])
+
+dnl PAC_GET_EXENAME(exe_name, out_exe_name)
+dnl
+dnl Prepends and appends program prefix and suffix as supplied by --program_prefix
+dnl and --program-sufix
+AC_DEFUN([PAC_GET_EXENAME],[
+$2=$1
+if test "$program_prefix" != "NONE" ; then
+ $2="${program_prefix}$$2"
+fi
+if test "$program_suffix" != "NONE" ; then
+ $2="$$2$program_suffix"
+fi
+])
diff --git a/configure.ac b/configure.ac
index 044ce8f..a3971c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5925,6 +5925,12 @@ export MPI_NO_SPAWN
MPI_NO_RMA=$MPID_NO_RMA
export MPI_NO_RMA
+# Attach program prefix and suffix to executable names for Makefile
+AC_SUBST(MPICXX_NAME)
+AC_SUBST(MPICPP_NAME)
+PAC_GET_EXENAME("mpicxx", MPICXX_NAME)
+PAC_GET_EXENAME("mpic++", MPICPP_NAME)
+
AC_CONFIG_SUBDIRS([test/mpi])
dnl
dnl Generate the Makefiles from Makefile.in
diff --git a/src/pm/hydra/Makefile.am b/src/pm/hydra/Makefile.am
index 5f0d04c..450877f 100644
--- a/src/pm/hydra/Makefile.am
+++ b/src/pm/hydra/Makefile.am
@@ -38,9 +38,9 @@ DIST_SUBDIRS = ${external_dist_subdirs}
# Provide an alias for mpirun to support tools that assume that
# mpiexec is called mpirun
install-exec-hook:
- if [ -x ${DESTDIR}${bindir}/mpiexec.hydra ] ; then \
- cd ${DESTDIR}${bindir} && ln -f -s mpiexec.hydra mpiexec ; \
- cd ${DESTDIR}${bindir} && ln -f -s mpiexec.hydra mpirun ; \
+ if [ -x ${DESTDIR}${bindir}/@MPIEXEC_HYDRA_NAME@ ] ; then \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPIEXEC_HYDRA_NAME@ @MPIEXEC_NAME@ ; \
+ cd ${DESTDIR}${bindir} && ln -f -s @MPIEXEC_HYDRA_NAME@ @MPIRUN_NAME@ ; \
fi
# A special alternate installation target when using multiple process
@@ -50,7 +50,7 @@ install-alt: $(bin_PROGRAMS)
@for foo in $? ; do $(MAKE) install $$foo ; done
uninstall-local:
- rm -f ${DESTDIR}${bindir}/mpirun ${DESTDIR}${bindir}/mpiexec
+ rm -f ${DESTDIR}${bindir}/@MPIRUN_NAME@ ${DESTDIR}${bindir}/@MPIEXEC_NAME@
htmldoc:
if test "@DOXYGEN@" != "" ; then @DOXYGEN@ hydra-doxygen.cfg ; fi
diff --git a/src/pm/hydra/configure.ac b/src/pm/hydra/configure.ac
index a9d3776..d6028f8 100644
--- a/src/pm/hydra/configure.ac
+++ b/src/pm/hydra/configure.ac
@@ -82,6 +82,18 @@ AC_SUBST(HYDRA_VERSION)
AC_DEFINE_UNQUOTED(HYDRA_VERSION,"$HYDRA_VERSION",[Hydra version information])
AC_DEFINE_UNQUOTED(HYDRA_RELEASE_DATE,"$HYDRA_RELEASE_DATE",[Hydra release date information])
+AC_SUBST(HYDRA_PMI_PROXY)
+PAC_GET_EXENAME("hydra_pmi_proxy", HYDRA_PMI_PROXY)
+AC_DEFINE_UNQUOTED(HYDRA_PMI_PROXY,"$HYDRA_PMI_PROXY",[Hydra PMI proxy executable])
+
+# These substitutions are needed in the Makefile
+AC_SUBST(MPIEXEC_NAME)
+AC_SUBST(MPIEXEC_HYDRA_NAME)
+AC_SUBST(MPIRUN_NAME)
+PAC_GET_EXENAME("mpiexec", MPIEXEC_NAME)
+PAC_GET_EXENAME("mpiexec.hydra", MPIEXEC_HYDRA_NAME)
+PAC_GET_EXENAME("mpirun", MPIRUN_NAME)
+
PAC_PUSH_ALL_FLAGS
PAC_RESET_ALL_FLAGS
if test "$CC" != "" ; then
diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_utils.c b/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
index bee4a11..954a0fc 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_utils.c
@@ -48,7 +48,7 @@ HYD_status HYD_pmcd_pmi_fill_in_proxy_args(struct HYD_string_stash *proxy_stash,
HYD_STRING_STASH_INIT(stash);
HYD_STRING_STASH(stash, HYDU_strdup(HYD_server_info.base_path), status);
- HYD_STRING_STASH(stash, HYDU_strdup("hydra_pmi_proxy"), status);
+ HYD_STRING_STASH(stash, HYDU_strdup(HYDRA_PMI_PROXY), status);
HYD_STRING_SPIT(stash, str, status);
HYD_STRING_STASH(*proxy_stash, str, status);
diff --git a/test/mpi/configure.ac b/test/mpi/configure.ac
index 036e1bc..5f56462 100644
--- a/test/mpi/configure.ac
+++ b/test/mpi/configure.ac
@@ -448,6 +448,13 @@ AC_ARG_VAR([WRAPPER_FFLAGS],[])
AC_ARG_VAR([WRAPPER_FCFLAGS],[])
AC_ARG_VAR([WRAPPER_CXXFLAGS],[])
+# Attach program prefix and suffix to executable names
+PAC_GET_EXENAME("mpicc", MPICC_NAME)
+PAC_GET_EXENAME("mpif77", MPIF77_NAME)
+PAC_GET_EXENAME("mpif90", MPIF90_NAME)
+PAC_GET_EXENAME("mpicxx", MPICXX_NAME)
+PAC_GET_EXENAME("mpiexec", MPIEXEC_NAME)
+
if test "$FROM_MPICH" = "yes" ; then
# perform configure tests with the normal compilers ($CC/$F77/etc), but use
# the WRAPPER_xFLAGS computed by MPICH as our flags instead. Then at the
@@ -467,44 +474,44 @@ if test "$FROM_MPICH" = "yes" ; then
elif test -n "$with_mpi" ; then
if test -z "$MPICC" ; then
- CC=$with_mpi/bin/mpicc
+ CC=$with_mpi/bin/$MPICC_NAME
else
CC=$MPICC
fi
if test -z "$MPIF77" ; then
- F77=$with_mpi/bin/mpif77
+ F77=$with_mpi/bin/$MPIF77_NAME
else
F77=$MPIF77
fi
if test -z "$MPIFC" ; then
- FC=$with_mpi/bin/mpif90
+ FC=$with_mpi/bin/$MPIF90_NAME
else
FC=$MPIFC
fi
if test -z "$MPICXX" ; then
- CXX=$with_mpi/bin/mpicxx
+ CXX=$with_mpi/bin/$MPICXX_NAME
else
CXX=$MPICXX
fi
if test -z "$MPIEXEC" ; then
- MPIEXEC=$with_mpi/bin/mpiexec
+ MPIEXEC=$with_mpi/bin/$MPIEXEC_NAME
fi
else
# Try to use mpicc etc names
if test -z "$MPICC" ; then
- AC_PATH_PROG(MPICC,mpicc mpcc)
+ AC_PATH_PROG(MPICC,$MPICC_NAME mpcc)
fi
if test "x$MPICC" != "x" ; then
CC=$MPICC
fi
if test -z "$MPIF77" ; then
- AC_PATH_PROG(MPIF77,mpif77 mpf77)
+ AC_PATH_PROG(MPIF77,$MPIF77_NAME mpf77)
fi
if test "x$MPIF77" != "x" ; then
F77=$MPIF77
fi
if test -z "$MPIFC" ; then
- AC_PATH_PROG(MPIFC,mpif90 mpftn)
+ AC_PATH_PROG(MPIFC,$MPIF90_NAME mpftn)
fi
if test "x$MPIFC" != "x" ; then
FC=$MPIFC
@@ -512,13 +519,13 @@ else
if test -z "$MPICXX" ; then
# We left mpiCC off of this list because mpicc and mpiCC are the
# same on Mac OSX systems.
- AC_PATH_PROG(MPICXX,mpicxx mpCC)
+ AC_PATH_PROG(MPICXX,$MPICXX_NAME mpCC)
fi
if test "x$MPICXX" != "x" ; then
CXX=$MPICXX
fi
if test -z "$MPIEXEC" ; then
- AC_PATH_PROG(MPIEXEC,mpiexec)
+ AC_PATH_PROG(MPIEXEC,$MPIEXEC_NAME)
fi
fi
@@ -1396,11 +1403,11 @@ if test "$FROM_MPICH" = yes ; then
# we did our tests with the base compilers, now point the make system at the
# installed compiler wrappers for actually building the tests
- CC=$mpibindir/mpicc
- F77=$mpibindir/mpif77
- FC=$mpibindir/mpif90
- CXX=$mpibindir/mpicxx
- MPIEXEC=$mpibindir/mpiexec
+ CC=$mpibindir/$MPICC_NAME
+ F77=$mpibindir/$MPIF77_NAME
+ FC=$mpibindir/$MPIF90_NAME
+ CXX=$mpibindir/$MPICXX_NAME
+ MPIEXEC=$mpibindir/$MPIEXEC_NAME
# Zero out the flags, since they are already contained in the compiler
# wrapper scripts. Note that this will kill any flags that have been added
@@ -1422,7 +1429,7 @@ if test "$FROM_MPICH" = yes ; then
else
# We need either mpiexec or mpirun. If we don't find them,
# the user will need to determine how to run a program
- AC_PATH_PROG(MPIEXEC,mpiexec)
+ AC_PATH_PROG(MPIEXEC,$MPIEXEC_NAME)
fi
AC_OUTPUT_COMMANDS([chmod a+x maint/testmerge])
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 6 ++--
confdb/aclocal_mpi.m4 | 2 +
confdb/aclocal_util.m4 | 14 +++++++++++
configure.ac | 6 ++++
src/pm/hydra/Makefile.am | 8 +++---
src/pm/hydra/configure.ac | 12 +++++++++
src/pm/hydra/pm/pmiserv/pmiserv_utils.c | 2 +-
test/mpi/configure.ac | 39 ++++++++++++++++++------------
8 files changed, 65 insertions(+), 24 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list