61 lines
2.8 KiB
Plaintext
61 lines
2.8 KiB
Plaintext
|
# -*- shell-script ; indent-tabs-mode:nil -*-
|
||
|
#
|
||
|
# Copyright (c) 2016 Intel, Inc. All rights reserved.
|
||
|
# $COPYRIGHT$
|
||
|
#
|
||
|
# Additional copyrights may follow
|
||
|
#
|
||
|
# $HEADER$
|
||
|
#
|
||
|
|
||
|
# OPAL_CHECK_SINGULARITY(prefix, [action-if-found], [action-if-not-found])
|
||
|
# --------------------------------------------------------
|
||
|
AC_DEFUN([OPAL_CHECK_SINGULARITY],[
|
||
|
OPAL_VAR_SCOPE_PUSH([spath have_singularity])
|
||
|
|
||
|
AC_ARG_WITH([singularity],
|
||
|
[AC_HELP_STRING([--with-singularity(=DIR)],
|
||
|
[Build support for the Singularity container, optionally adding DIR to the search path])])
|
||
|
spath=
|
||
|
AC_MSG_CHECKING([if Singularity support is to be built])
|
||
|
AS_IF([test "$with_singularity" = "no"],
|
||
|
[AC_MSG_RESULT([no])
|
||
|
have_singularity=no],
|
||
|
[AC_MSG_RESULT([yes])
|
||
|
AS_IF([test -z "$with_singularity" || test "$with_singularity" = "yes"],
|
||
|
[ # look for the singularity command in the default path
|
||
|
AC_CHECK_PROG([SINGULARITY], [singularity], [singularity])
|
||
|
AS_IF([test "$SINGULARITY" != ""],
|
||
|
[have_singularity=yes],
|
||
|
[AS_IF([test "$with_singularity" = "yes"],
|
||
|
[AC_MSG_WARN([Singularity support requested, but required executable])
|
||
|
AC_MSG_WARN(["singularity" not found in default locations])
|
||
|
AC_MSG_ERROR([Cannot continue])])
|
||
|
have_singularity=no])],
|
||
|
[ AC_MSG_CHECKING([for existence of $with_singularity/bin])
|
||
|
# look for the singularity command in the bin subdirectory
|
||
|
AS_IF([test ! -d "$with_singularity/bin"],
|
||
|
[AC_MSG_RESULT([not found])
|
||
|
AC_MSG_WARN([Directory $with_singularity/bin not found])
|
||
|
AC_MSG_ERROR([Cannot continue])],
|
||
|
[AC_MSG_RESULT([found])])
|
||
|
save_path=$PATH
|
||
|
PATH=$with_singularity/bin:$PATH
|
||
|
AC_CHECK_PROG([SINGULARITY], [singularity], [singularity])
|
||
|
AS_IF([test "$SINGULARITY" != ""],
|
||
|
[have_singularity=yes
|
||
|
spath=$with_singularity/bin],
|
||
|
[have_singlarity=no
|
||
|
AC_MSG_WARN([Singularity support requested, but required executable])
|
||
|
AC_MSG_WARN(["singularity" not found in either default or specified path])
|
||
|
AC_MSG_ERROR([Cannot continue])])
|
||
|
PATH=$save_path
|
||
|
]
|
||
|
)])
|
||
|
|
||
|
AC_DEFINE_UNQUOTED(OPAL_SINGULARITY_PATH, "$spath", [Path to Singularity binaries])
|
||
|
AS_IF([test "$have_singularity" = "yes"],
|
||
|
[$2], [$3])
|
||
|
OPAL_VAR_SCOPE_POP
|
||
|
])
|