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 887e0d30f8fe8e939a509aceed02324fef7eca38 (commit) from 72c266f9eca8697e60384897b339f54b334be3f9 (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/887e0d30f8fe8e939a509aceed02324fef... commit 887e0d30f8fe8e939a509aceed02324fef7eca38 Author: Wesley Bland <[email protected]> Date: Thu Aug 4 10:28:04 2016 -0500 CH4/OFI: Enable forced embedding If the user wants to force using an embedded OFI library, we shouldn't check for the default library locations because "embedded/lib" won't be a valid location. This is triggered by using the configure flag --with-libfabric=embedded. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/autogen.sh b/autogen.sh index c5dd677..3215a68 100755 --- a/autogen.sh +++ b/autogen.sh @@ -164,6 +164,10 @@ MAKE=${MAKE-make} # external packages that require autogen.sh to be run for each of them externals="src/pm/hydra src/mpi/romio src/openpa" +if [ -e src/mpid/ch4/netmod/ofi/libfabric ]; then + externals="${externals} src/mpid/ch4/netmod/ofi/libfabric" +fi + # amdirs are the directories that make use of autoreconf amdirs=". src/mpl src/util/logging/rlog" diff --git a/src/mpid/ch4/netmod/ofi/subconfigure.m4 b/src/mpid/ch4/netmod/ofi/subconfigure.m4 index 0c07763..9eb0ed6 100644 --- a/src/mpid/ch4/netmod/ofi/subconfigure.m4 +++ b/src/mpid/ch4/netmod/ofi/subconfigure.m4 @@ -119,23 +119,53 @@ AM_COND_IF([BUILD_CH4_NETMOD_OFI],[ AC_SUBST([ofilib]) PAC_SET_HEADER_LIB_PATH(libfabric) - PAC_PUSH_FLAG(LIBS) - PAC_CHECK_HEADER_LIB([rdma/fabric.h], [fabric], [fi_getinfo], [have_libfabric=yes], [have_libfabric=no]) - PAC_POP_FLAG(LIBS) - if test "${have_libfabric}" = "yes" ; then - AC_MSG_NOTICE([CH4 OFI Netmod: Using an external libfabric]) - PAC_APPEND_FLAG([-lfabric],[WRAPPER_LIBS]) - elif test ! -z "${with_libfabric}" ; then - AC_MSG_ERROR([Provided libfabric installation (--with-libfabric=${with_libfabric}) could not be configured.]) + + ofi_embedded="" + dnl Use embedded libfabric if we specify to do so or we didn't specify and the source is present + if test "${with_libfabric}" = "embedded" ; then + ofi_embedded="yes" + elif test -z ${with_libfabric} ; then + if test -f ${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/configure ; then + ofi_embedded="yes" + else + ofi_embedded="no" + fi else - # fallback to embedded libfabric + ofi_embedded="no" + fi + + if test "${ofi_embedded}" = "yes" ; then AC_MSG_NOTICE([CH4 OFI Netmod: Using an embedded libfabric]) - PAC_CONFIG_SUBDIR_ARGS([src/mpid/ch4/netmod/ofi/libfabric],[],[],[AC_MSG_ERROR(libfabric configure failed)]) + ofi_subdir_args="--enable-embedded" + + dnl Unset all of these env vars so they don't pollute the libfabric configuration + PAC_PUSH_FLAG(CPPFLAGS) + PAC_CONFIG_SUBDIR_ARGS([src/mpid/ch4/netmod/ofi/libfabric],[$ofi_subdir_args],[],[AC_MSG_ERROR(libfabric configure failed)]) + PAC_POP_FLAG(CPPFLAGS) PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric/include], [CPPFLAGS]) PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/include], [CPPFLAGS]) + if test "$do_direct_provider" = "true" ; then + if test "x${enable_direct}" != "x" && test "${enable_direct}" != "no" ; then + PAC_APPEND_FLAG([-I${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric/prov/${enable_direct}/include], [CPPFLAGS]) + PAC_APPEND_FLAG([-I${use_top_srcdir}/src/mpid/ch4/netmod/ofi/libfabric/prov/${enable_direct}/include], [CPPFLAGS]) + else + AC_MSG_ERROR([Enabled direct OFI provider but didn't specify which one]) + fi + fi + ofisrcdir="${master_top_builddir}/src/mpid/ch4/netmod/ofi/libfabric" ofilib="src/mpid/ch4/netmod/ofi/libfabric/src/libfabric.la" + else + PAC_PUSH_FLAG(LIBS) + PAC_CHECK_HEADER_LIB([rdma/fabric.h], [fabric], [fi_getinfo], [have_libfabric=yes], [have_libfabric=no]) + PAC_POP_FLAG(LIBS) + if test "${have_libfabric}" = "yes" ; then + AC_MSG_NOTICE([CH4 OFI Netmod: Using an external libfabric]) + PAC_APPEND_FLAG([-lfabric],[WRAPPER_LIBS]) + else + AC_MSG_ERROR([Provided libfabric installation (--with-libfabric=${with_libfabric}) could not be configured.]) + fi fi ])dnl end AM_COND_IF(BUILD_CH4_NETMOD_OFI,...) ----------------------------------------------------------------------- Summary of changes: autogen.sh | 4 ++ src/mpid/ch4/netmod/ofi/subconfigure.m4 | 50 ++++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 10 deletions(-) hooks/post-receive -- MPICH primary repository