[mpich] MPICH primary repository branch, master, updated. v3.1rc1-12-gee5e30e
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/ee5e30e4ed3cddd10e2ebf72087174284d... commit ee5e30e4ed3cddd10e2ebf72087174284d8d590b Author: Antonio J. Pena <[email protected]> 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 <[email protected]> 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
participants (1)
-
noreply@mpich.org