1
1
openmpi/config/orte_check_lsf.m4
Nathan Hjelm d2f5fca82a configure: add a summary section at the end of configure output
This commit adds two m4 macros: OPAL_SUMMARY_ADD, OPAL_SUMMARY_PRINT.
OPAL_SUMMARY_ADD adds an item to a section in the summary. For example
OPAL_SUMMARY_ADD([[Transports]],[[Foo]],...,[yes]) will add the
following to the summary:

Transports
-----------------------
Foo: yes

With this commit two sections are added: Transports, Resource Managers.

The OPAL_SUMMARY_PRINT macro is called after AC_OUTPUT and prints out
some information about the build (version, projects, etc) and then
the summarys sections. It will additionally print a warning if
internal debugging is enabled.

Example output:

Open MPI configuration:
-----------------------
Version: 3.0.0 a1
Build Open Platform Abstration project: yes
Build Open Runtime project: yes
Build Open MPI project: yes
Build Open SHMEM project: no
MPI C++ bindings (deprecated): no
MPI Fortran bindings: mpif.h, use mpi, use mpi_f08
Debug build: yes

Transports
-----------------------
Cray uGNI (Gemini/Aries): no
Intel Omnipath (PSM2): no
KNEM Shared Memory: no
Linux CMA IPC: no
Mellanox MXM: no
Open UCX: no
OpenFabrics libfabric: no
OpenFabrics Verbs: no
portals4: no
QLogic Infinipath (PSM): no
tcp: yes
XPMEM Shared Memory: no

Resource Managers
-----------------------
Cray Alps: no
Grid Engine: no
LSF: no
Slurm: yes
Torque: yes

INTERNAL DEBUGGING IS ENABLED. DO NOT USE THIS BUILD FOR PERFORMANCE MEASUREMENTS!

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
2016-03-08 10:04:15 -07:00

141 строка
5.9 KiB
Bash

dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl of Tennessee Research Foundation. All rights
dnl reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2015 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# check for lsf
# ORTE_CHECK_LSF(prefix, [action-if-found], [action-if-not-found])
# --------------------------------------------------------
AC_DEFUN([ORTE_CHECK_LSF],[
if test -z "$orte_check_lsf_happy" ; then
AC_ARG_WITH([lsf],
[AC_HELP_STRING([--with-lsf(=DIR)],
[Build LSF support])])
OPAL_CHECK_WITHDIR([lsf], [$with_lsf], [include/lsf/lsbatch.h])
AC_ARG_WITH([lsf-libdir],
[AC_HELP_STRING([--with-lsf-libdir=DIR],
[Search for LSF libraries in DIR])])
OPAL_CHECK_WITHDIR([lsf-libdir], [$with_lsf_libdir], [libbat.*])
# Defaults
orte_check_lsf_dir_msg="compiler default"
orte_check_lsf_libdir_msg="linker default"
# Save directory names if supplied
AS_IF([test ! -z "$with_lsf" && test "$with_lsf" != "yes"],
[orte_check_lsf_dir="$with_lsf"
orte_check_lsf_dir_msg="$orte_check_lsf_dir (from --with-lsf)"])
AS_IF([test ! -z "$with_lsf_libdir" && test "$with_lsf_libdir" != "yes"],
[orte_check_lsf_libdir="$with_lsf_libdir"
orte_check_lsf_libdir_msg="$orte_check_lsf_libdir (from --with-lsf-libdir)"])
# If no directories were specified, look for LSF_LIBDIR,
# LSF_INCLUDEDIR, and/or LSF_ENVDIR.
AS_IF([test -z "$orte_check_lsf_dir" && test -z "$orte_check_lsf_libdir"],
[AS_IF([test ! -z "$LSF_ENVDIR" && test -z "$LSF_LIBDIR" && test -f "$LSF_ENVDIR/lsf.conf"],
[LSF_LIBDIR=`egrep ^LSF_LIBDIR= $LSF_ENVDIR/lsf.conf | cut -d= -f2-`])
AS_IF([test ! -z "$LSF_ENVDIR" && test -z "$LSF_INCLUDEDIR" && test -f "$LSF_ENVDIR/lsf.conf"],
[LSF_INCLUDEDIR=`egrep ^LSF_INCLUDEDIR= $LSF_ENVDIR/lsf.conf | cut -d= -f2-`])
AS_IF([test ! -z "$LSF_LIBDIR"],
[orte_check_lsf_libdir=$LSF_LIBDIR
orte_check_lsf_libdir_msg="$LSF_LIBDIR (from \$LSF_LIBDIR)"])
AS_IF([test ! -z "$LSF_INCLUDEDIR"],
[orte_check_lsf_dir=`dirname $LSF_INCLUDEDIR`
orte_check_lsf_dir_msg="$orte_check_lsf_dir (from \$LSF_INCLUDEDIR)"])])
AS_IF([test "$with_lsf" = "no"],
[orte_check_lsf_happy="no"],
[orte_check_lsf_happy="yes"])
orte_check_lsf_$1_save_CPPFLAGS="$CPPFLAGS"
orte_check_lsf_$1_save_LDFLAGS="$LDFLAGS"
orte_check_lsf_$1_save_LIBS="$LIBS"
# liblsf requires yp_all, yp_get_default_domain, and ypprot_err
# on Linux, Solaris, NEC, and Sony NEWSs these are found in libnsl
# on AIX it should be in libbsd
# on HP-UX it should be in libBSD
# on IRIX < 6 it should be in libsun (IRIX 6 and later it is in libc)
OPAL_SEARCH_LIBS_COMPONENT([yp_all_nsl], [yp_all], [nsl bsd BSD sun],
[yp_all_nsl_happy="yes"],
[yp_all_nsl_happy="no"])
AS_IF([test "$yp_all_nsl_happy" = "no"],
[orte_check_lsf_happy="no"],
[orte_check_lsf_happy="yes"])
# liblsb requires liblsf - using ls_info as a test for liblsf presence
OPAL_CHECK_PACKAGE([ls_info_lsf],
[lsf/lsf.h],
[lsf],
[ls_info],
[$yp_all_nsl_LIBS],
[$orte_check_lsf_dir],
[$orte_check_lsf_libdir],
[ls_info_lsf_happy="yes"],
[ls_info_lsf_happy="no"])
AS_IF([test "$ls_info_lsf_happy" = "no"],
[orte_check_lsf_happy="no"],
[orte_check_lsf_happy="yes"])
# test function of liblsb LSF package
AS_IF([test "$orte_check_lsf_happy" = "yes"],
[AC_MSG_CHECKING([for LSF dir])
AC_MSG_RESULT([$orte_check_lsf_dir_msg])
AC_MSG_CHECKING([for LSF library dir])
AC_MSG_RESULT([$orte_check_lsf_libdir_msg])
AC_MSG_CHECKING([for liblsf function])
AC_MSG_RESULT([$ls_info_lsf_happy])
AC_MSG_CHECKING([for liblsf yp requirements])
AC_MSG_RESULT([$yp_all_nsl_happy])
OPAL_CHECK_PACKAGE([orte_check_lsf],
[lsf/lsbatch.h],
[bat],
[lsb_launch],
[$ls_info_lsf_LIBS $yp_all_nsl_LIBS],
[$orte_check_lsf_dir],
[$orte_check_lsf_libdir],
[orte_check_lsf_happy="yes"],
[orte_check_lsf_happy="no"])])
CPPFLAGS="$orte_check_lsf_$1_save_CPPFLAGS"
LDFLAGS="$orte_check_lsf_$1_save_LDFLAGS"
LIBS="$orte_check_lsf_$1_save_LIBS"
OMPI_SUMMARY_ADD([[Resource Managers]],[[LSF]],[$1],[$orte_check_lsf_happy])
fi
AS_IF([test "$orte_check_lsf_happy" = "yes"],
[$1_LIBS="[$]$1_LIBS $orte_check_lsf_LIBS"
$1_LDFLAGS="[$]$1_LDFLAGS $orte_check_lsf_LDFLAGS"
$1_CPPFLAGS="[$]$1_CPPFLAGS $orte_check_lsf_CPPFLAGS"
# add the LSF libraries to static builds as they are required
$1_WRAPPER_EXTRA_LDFLAGS=[$]$1_LDFLAGS
$1_WRAPPER_EXTRA_LIBS=[$]$1_LIBS
$2],
[AS_IF([test ! -z "$with_lsf" && test "$with_lsf" != "no"],
[AC_MSG_WARN([LSF support requested (via --with-lsf) but not found.])
AC_MSG_ERROR([Aborting.])])
$3])
])