diff --git a/config/opal_check_ugni.m4 b/config/opal_check_ugni.m4 new file mode 100644 index 0000000000..4b2513099f --- /dev/null +++ b/config/opal_check_ugni.m4 @@ -0,0 +1,100 @@ +# -*- Mode: Shell ; indent-tabs-mode:nil -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2006 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006 QLogic Corp. All rights reserved. +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011-2014 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# OPAL_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) +# -------------------------------------------------------- +# check if GNI support can be found. sets prefix_{CPPFLAGS, +# LDFLAGS, LIBS} as needed and runs action-if-found if there is +# support, otherwise executes action-if-not-found +# +# NOTES +# on Cray XE6 systems, the GNI development header (gni_pub.h) is in a +# completely different place than the ugni library (libugni). +# +# EXAMPLE CONFIGURE USAGE: +# --with-ugni=/base/path/to/libugni --with-ugni-includedir=/path/to/gni_pub.h +# +# --with-ugni=/opt/cray/ugni/default --with-ugni-includedir=/opt/cray/gni-headers/default/include + +AC_DEFUN([OPAL_CHECK_UGNI], [ + AC_ARG_WITH([ugni], [AC_HELP_STRING([--with-ugni(=DIR)], + [Build GNI (Cray Gemini) support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])]) + + dnl does the path exist? + OPAL_CHECK_WITHDIR([ugni], [$with_ugni], [.]) + + AC_ARG_WITH([ugni-libdir], [AC_HELP_STRING([--with-ugni-libdir=DIR], + [Search for GNI (Cray Gemini) libraries in DIR])]) + OPAL_CHECK_WITHDIR([ugni-libdir], [$with_ugni_libdir], [libugni.*]) + + AC_ARG_WITH([ugni-includedir], + [AC_HELP_STRING([--with-ugni-includedir=DIR], + [Search for GNI (Cray Gemini) headers in DIR])]) + OPAL_CHECK_WITHDIR([ugni-includedir], [$with_ugni_includedir], [gni_pub.h]) + + AS_IF([test "$with_ugni_includedir" != "" -a "$with_ugni_includedir" != "yes" -a "$with_ugni_includedir" != "no"], + [$1_CPPFLAGS="$$1_CPPFLAGS -I$with_ugni_includedir"]) + + opal_check_ugni_$1_save_CPPFLAGS="$CPPFLAGS" + opal_check_ugni_$1_save_LDFLAGS="$LDFLAGS" + opal_check_ugni_$1_save_LIBS="$LIBS" + + AS_IF([test "$with_ugni" != "no"], [ + AS_IF([test ! -z "$with_ugni" -a "$with_ugni" != "yes"], [ + opal_check_ugni_dir="$with_ugni"]) + AS_IF([test ! -z "$with_ugni_libdir" -a "$with_ugni_libdir" != "yes"], [ + opal_check_ugni_libdir="$with_ugni_libdir"]) + + OPAL_CHECK_PACKAGE([$1], + [ugni.h], + [ugni], + [GNI_CdmCreate], + [], + [$opal_check_ugni_dir], + [$opal_check_ugni_libdir], + [opal_check_ugni_happy="yes"], + [opal_check_ugni_happy="no"])], + [opal_check_ugni_happy="no"]) + + LIBS="$LIBS $$1_LIBS" + LDFLAGS="$LDFLAGS $$1_LDFLAGS" + + AS_IF([test "$opal_check_ugni_happy" = "yes"], + [AC_CHECK_FUNCS([GNI_GetJobResInfo])]) + + CPPFLAGS="$opal_check_ugni_$1_save_CPPFLAGS" + LDFLAGS="$opal_check_ugni_$1_save_LDFLAGS" + LIBS="$opal_check_ugni_$1_save_LIBS" + + dnl XXX not sure if this is true, but will assume so... + AS_IF([test "$opal_check_ugni_happy" = "yes" -a "$enable_progress_threads" = "yes"], + [AC_MSG_WARN([GNI driver does not currently support progress threads. Disabling.]) + opal_check_ugni_happy="no"]) + + AS_IF([test "$opal_check_ugni_happy" = "yes"], + [$2], + [AS_IF([test ! -z "$with_ugni" -a "$with_ugni" != "no"], + [AC_MSG_ERROR([GNI support requested but not found. Cannot continue.])]) + $3]) +]) diff --git a/config/orte_check_alps.m4 b/config/orte_check_alps.m4 index 88f4479a70..a93417f62c 100644 --- a/config/orte_check_alps.m4 +++ b/config/orte_check_alps.m4 @@ -55,7 +55,7 @@ AC_DEFUN([ORTE_CHECK_ALPS],[ fi # libpmi requires libugni for static linking on CLE 5. WTH! - OMPI_CHECK_UGNI($1,[orte_check_alps_happy=yes],[orte_check_alps_happy=no]) + OPAL_CHECK_UGNI($1,[orte_check_alps_happy=yes],[orte_check_alps_happy=no]) fi if test "$with_alps" = "no" -o -z "$with_alps" ; then diff --git a/config/orte_check_ugni.m4 b/config/orte_check_ugni.m4 deleted file mode 100644 index 505158e6b5..0000000000 --- a/config/orte_check_ugni.m4 +++ /dev/null @@ -1,97 +0,0 @@ -# -*- Mode: shell-script ; indent-tabs-mode:nil -*- -# -# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2006 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2006 QLogic Corp. All rights reserved. -# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. -# Copyright (c) 2011-2014 Los Alamos National Security, LLC. -# All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -# OMPI_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) -# -------------------------------------------------------- -# check if GNI support can be found. sets prefix_{CPPFLAGS, -# LDFLAGS, LIBS} as needed and runs action-if-found if there is -# support, otherwise executes action-if-not-found -# -# NOTES -# on Cray XE6 systems, the GNI development header (gni_pub.h) is in a -# completely different place than the ugni library (libugni). -# -# EXAMPLE CONFIGURE USAGE: -# --with-ugni=/base/path/to/libugni --with-ugni-includedir=/path/to/gni_pub.h -# -# --with-ugni=/opt/cray/ugni/default --with-ugni-includedir=/opt/cray/gni-headers/default/include - -AC_DEFUN([OMPI_CHECK_UGNI], [ - if test -z "$ompi_check_ugni_happy" ; then - OPAL_VAR_SCOPE_PUSH([ompi_check_ugni_dir ompi_check_ugni_libdir]) - ompi_check_ugni_happy="no" - - AC_ARG_WITH([ugni], [AC_HELP_STRING([--with-ugni(=DIR)], - [Build uGNI support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])]) - - dnl does the path exist? - OPAL_CHECK_WITHDIR([ugni], [$with_ugni], [.]) - - AC_ARG_WITH([ugni-libdir], [AC_HELP_STRING([--with-ugni-libdir=DIR], - [Search for uGNI libraries in DIR])]) - OPAL_CHECK_WITHDIR([ugni-libdir], [$with_ugni_libdir], [libugni.*]) - - AC_ARG_WITH([ugni-includedir], - [AC_HELP_STRING([--with-ugni-includedir=DIR], [Search for uGNI headers in DIR])]) - OPAL_CHECK_WITHDIR([ugni-includedir], [$with_ugni_includedir], [gni_pub.h]) - - AS_IF([test "$with_ugni_includedir" != "" -a "$with_ugni_includedir" != "yes" -a "$with_ugni_includedir" != "no"], - [ompi_check_ugni_CPPFLAGS="-I$with_ugni_includedir"]) - - if test "$with_ugni" != "no" ; then - if test -n "$with_ugni" -a "$with_ugni" != "yes" ; then - ompi_check_ugni_dir="$with_ugni" - fi - if test -n "$with_ugni_libdir" -a "$with_ugni_libdir" != "yes" ; then - ompi_check_ugni_libdir="$with_ugni_libdir" - fi - - ompi_check_ugni_$1_save_CPPFLAGS="$CPPFLAGS" - ompi_check_ugni_$1_save_LDFLAGS="$LDFLAGS" - ompi_check_ugni_$1_save_LIBS="$LIBS" - - CPPFLAGS="$CPPFLAGS $ompi_check_ugni_CPPFLAGS" - - OPAL_CHECK_PACKAGE([ompi_check_ugni], [ugni.h], [ugni], [GNI_CdmCreate], - [], [$ompi_check_ugni_dir], [$ompi_check_ugni_libdir], [ompi_check_ugni_happy="yes"], []) - - CPPFLAGS="$ompi_check_ugni_$1_save_CPPFLAGS" - LDFLAGS="$ompi_check_ugni_$1_save_LDFLAGS" - LIBS="$ompi_check_ugni_$1_save_LIBS" - - if test -n "$with_ugni" -a "$ompi_check_ugni_happy" = "no" ; then - AC_MSG_ERROR([GNI support requested but not found. Cannot continue.]) - fi - fi - OPAL_VAR_SCOPE_POP - fi - - if test "$ompi_check_ugni_happy" = "yes" ; then - $1_CPPFLAGS="$$1_CPPFLAGS $ompi_check_ugni_CPPFLAGS" - $1_LDFLAGS="$$1_LDFLAGS $ompi_check_ugni_LDFLAGS" - $1_LIBS="$$1_LIBS $ompi_check_ugni_LIBS" - $2 - else - $3 - fi -]) diff --git a/ompi/mca/btl/ugni/configure.m4 b/ompi/mca/btl/ugni/configure.m4 index 2579b69540..bf95cf6404 100644 --- a/ompi/mca/btl/ugni/configure.m4 +++ b/ompi/mca/btl/ugni/configure.m4 @@ -21,7 +21,7 @@ # $HEADER$ # -# OMPI_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) +# OPAL_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) # -------------------------------------------------------- # check if GNI support can be found. sets prefix_{CPPFLAGS, # LDFLAGS, LIBS} as needed and runs action-if-found if there is @@ -39,7 +39,7 @@ AC_DEFUN([MCA_ompi_btl_ugni_CONFIG],[ AC_CONFIG_FILES([ompi/mca/btl/ugni/Makefile]) - OMPI_CHECK_UGNI([btl_ugni], + OPAL_CHECK_UGNI([btl_ugni], [btl_ugni_happy="yes"], [btl_ugni_happy="no"]) diff --git a/ompi/mca/common/ugni/configure.m4 b/ompi/mca/common/ugni/configure.m4 index d95142d68a..e8e159c496 100644 --- a/ompi/mca/common/ugni/configure.m4 +++ b/ompi/mca/common/ugni/configure.m4 @@ -21,7 +21,7 @@ # $HEADER$ # -# OMPI_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) +# OPAL_CHECK_UGNI(prefix, [action-if-found], [action-if-not-found]) # -------------------------------------------------------- # check if GNI support can be found. sets prefix_{CPPFLAGS, # LDFLAGS, LIBS} as needed and runs action-if-found if there is @@ -39,7 +39,7 @@ AC_DEFUN([MCA_ompi_common_ugni_CONFIG],[ AC_CONFIG_FILES([ompi/mca/common/ugni/Makefile]) - OMPI_CHECK_UGNI([common_ugni], + OPAL_CHECK_UGNI([common_ugni], [common_ugni_happy="yes"], [common_ugni_happy="no"])