1
1
openmpi/config/ompi_check_plfs.m4
2016-11-22 15:03:20 -08:00

115 lines
3.8 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-2006 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2008-2012 University of Houston. All rights reserved.
dnl Copyright (c) 2015 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# OMPI_CHECK_PLFS(prefix, [action-if-found], [action-if-not-found])
# --------------------------------------------------------
# check if PLFS 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_PLFS],[
check_plfs_CPPFLAGS=
check_plfs_LDFLAGS=
check_plfs_LIBS=
check_plfs_save_LIBS="$LIBS"
check_plfs_save_LDFLAGS="$LDFLAGS"
check_plfs_save_CPPFLAGS="$CPPFLAGS"
check_plfs_configuration="none"
ompi_check_plfs_happy="yes"
# Get some configuration information
AC_ARG_WITH([plfs],
[AC_HELP_STRING([--with-plfs(=DIR)],
[Build Plfs support, optionally adding DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
OPAL_CHECK_WITHDIR([plfs], [$with_plfs], [include/plfs.h])
AC_ARG_WITH([plfs-libs],
[AC_HELP_STRING([--with-plfs-libs=LIBS],
[Libraries to link with for plfs])])
temp_with_plfs="$with_plfs"
AS_IF([test -z "$with_plfs"],
[with_plfs="/usr/local"])
temp_with_plfs_libs="$with_plfs_libs"
AS_IF([test -z "$with_plfs_libs"],
[with_plfs_libs="plfs pthread"])
# Add correct -I and -L flags
AS_IF([test -d "$with_plfs/include"],
[check_plfs_CPPFLAGS="-I$with_plfs/include"
$1_CPPFLAGS="$check_plfs_CPPFLAGS"
CPPFLAGS="$CPPFLAGS $check_plfs_CPPFLAGS"],
[ompi_check_plfs_happy="no"])
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
[AS_IF([test -d "$with_plfs/lib"],
[check_plfs_LDFLAGS="-L$with_plfs/lib"
$1_LDFLAGS="$check_plfs_LDFLAGS"
LDFLAGS="$LDFLAGS $check_plfs_LDFLAGS"],
[ompi_check_plfs_happy="no"])
],[])
# Try to find all the plfs libraries
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
[ AS_IF([test -n "$with_plfs_libs"]
[for lib in $with_plfs_libs ; do
check_plfs_LIBS="$check_plfs_LIBS -l$lib"
done])
$1_LIBS="$check_plfs_LIBS"
LIBS="$LIBS $check_plfs_LIBS"
# check for plfs
AC_CHECK_HEADERS([plfs.h],
[AC_MSG_CHECKING([if possible to link PLFS])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <plfs.h>]],
[[is_plfs_path(NULL);]])],
[AC_MSG_RESULT([yes])
ompi_check_plfs_happy="yes"],
[AC_MSG_RESULT([no])
ompi_check_plfs_happy="no"])],
[ompi_check_plfs_happy="no"])
])
LDFLAGS="$check_plfs_save_LDFLAGS"
CPPFLAGS="$check_plfs_save_CPPFLAGS"
LIBS="$check_plfs_save_LIBS"
AS_IF([test "$ompi_check_plfs_happy" = "yes"],
[$2],
[AS_IF([test ! -z "$with_plfs" && test "$with_plfs" != "no"],
[echo PLFS support not found])
$3])
with_plfs="$temp_with_plfs"
with_plfs_libs="$temp_with_plfs_libs"
])