# -*- shell-script -*- # # 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$ # # Additional copyrights may follow # # $HEADER$ # # OMPI_CHECK_PORTALS4(prefix, [action-if-found], [action-if-not-found]) # -------------------------------------------------------- # check if PORTALS4 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 AC_DEFUN([OMPI_CHECK_PORTALS4],[ AC_ARG_WITH([portals4], [AC_HELP_STRING([--with-portals4(=DIR)], [Build Portals4 support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])]) OMPI_CHECK_WITHDIR([portals4], [$with_portals4], [include/portals4.h]) AC_ARG_WITH([portals4-libdir], [AC_HELP_STRING([--with-portals4-libdir=DIR], [Search for Portals4 libraries in DIR])]) OMPI_CHECK_WITHDIR([portals4-libdir], [$with_portals4_libdir], [libportals.*]) ompi_check_portals4_$1_save_CPPFLAGS="$CPPFLAGS" ompi_check_portals4_$1_save_LDFLAGS="$LDFLAGS" ompi_check_portals4_$1_save_LIBS="$LIBS" AS_IF([test "$with_portals4" != "no"], [AS_IF([test ! -z "$with_portals4" -a "$with_portals4" != "yes"], [ompi_check_portals4_dir="$with_portals4"]) AS_IF([test ! -z "$with_portals4_libdir" -a "$with_portals4_libdir" != "yes"], [ompi_check_portals4_libdir="$with_portals4_libdir"]) OMPI_CHECK_PACKAGE([$1], [portals4.h], [portals], [PtlLEAppend], [], [$ompi_check_portals4_dir], [$ompi_check_portals4_libdir], [ompi_check_portals4_happy="yes"], [ompi_check_portals4_happy="no"])], [ompi_check_portals4_happy="no"]) CPPFLAGS="$ompi_check_portals4_$1_save_CPPFLAGS" LDFLAGS="$ompi_check_portals4_$1_save_LDFLAGS" LIBS="$ompi_check_portals4_$1_save_LIBS" max_md_size=0 AC_ARG_WITH([portals4-max-md-size], [AC_HELP_STRING([--with-portals4-max-md-size=SIZE], [Log base 2 of the maximum size in bytes of a memory descriptor. Should only be set for implementations which do not support binding all of virtual address space.])]) AS_IF([test "$with_portals4_max_md_size" = "yes" -o "$with_portals4_max_md_size" = "no"], [AC_MSG_ERROR([--with-portals4-max-md-size requires an integer argument])], [AS_IF([test -n "$with_portals4_max_md_size"], [max_md_size="$with_portals4_max_md_size"])]) AC_DEFINE_UNQUOTED([OMPI_PORTALS4_MAX_MD_SIZE], [$max_md_size], [Log base 2 of the maximum size in bytes of a memory descriptor. Set to 0 if MD can bind all of memory.]) max_va_size=0 AC_ARG_WITH([portals4-max-va-size], [AC_HELP_STRING([--with-portals4-max-va-size=SIZE], [Log base 2 of the maximum size in bytes of the user virtual address space. Should only be set for implementations which do not support binding all of virtual address space.])]) AS_IF([test "$with_portals4_max_va_size" = "yes" -o "$with_portals4_max_va_size" = "no"], [AC_MSG_ERROR([--with-portals4-max-va-size requires an integer argument])], [AS_IF([test -n "$with_portals4_max_va_size"], [max_va_size="$with_portals4_max_va_size"])]) AC_DEFINE_UNQUOTED([OMPI_PORTALS4_MAX_VA_SIZE], [$max_va_size], [Log base 2 of the maximum size in bytes of the user virtual address space. Set to 0 if MD can bind all of memory.]) AS_IF([test \( $max_md_size -eq 0 -a $max_va_size -ne 0 \) -o \( $max_md_size -ne 0 -a $max_va_size -eq 0 \)], [AC_ERROR([If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set.])]) AS_IF([test $max_md_size -ge $max_va_size], [max_md_size=0 max_va_size=0]) AS_IF([test $max_md_size -ne 0 -a $max_va_size -ne 0], [AC_MSG_NOTICE([Portals 4 address space size: $max_md_size, $max_va_size])]) AS_IF([test "$ompi_check_portals4_happy" = "yes"], [$2], [AS_IF([test ! -z "$with_portals4" -a "$with_portals4" != "no"], [AC_MSG_ERROR([Portals4 support requested but not found. Aborting])]) $3]) ])