blob: c5a5d6e45046a3536ed362cacf9d5ef35dbb7461 [file] [log] [blame] [edit]
##*****************************************************************************
# AUTHOR:
# Morris Jette <jette1@llnl.gov>
#
# SYNOPSIS:
# X_AC_CRAY
#
# DESCRIPTION:
# Test for Cray XT and XE systems with 2-D/3-D interconnects.
# Tests for required libraries (native Cray systems only):
# * mySQL (relies on testing for mySQL presence earlier);
# * libexpat, needed for XML-RPC calls to Cray's BASIL
# (Batch Application Scheduler Interface Layer) interface.
#*****************************************************************************
AC_DEFUN([X_AC_CRAY],
[
ac_have_cray="no"
ac_have_real_cray="no"
ac_have_alps_emulation="no"
ac_have_cray_emulation="no"
AC_ARG_WITH(
[alps-emulation],
AS_HELP_STRING(--with-alps-emulation,Run SLURM against an emulated Alps system - requires option cray.conf @<:@default=no@:>@),
[test "$withval" = no || ac_have_alps_emulation=yes],
[ac_have_alps_emulation=no])
AC_ARG_ENABLE(
[cray-emulation],
AS_HELP_STRING(--enable-cray-emulation,Run SLURM in an emulated Cray mode),
[ case "$enableval" in
yes) ac_have_cray_emulation="yes" ;;
no) ac_have_cray_emulation="no" ;;
*) AC_MSG_ERROR([bad value "$enableval" for --enable-cray-emulation]) ;;
esac ]
)
if test "$ac_have_alps_emulation" = "yes"; then
ac_have_cray="yes"
AC_MSG_NOTICE([Running A Cray system against an Alps emulation])
AC_DEFINE(HAVE_ALPS_EMULATION, 1, [Define to 1 if running against an Alps emulation])
elif test "$ac_have_cray_emulation" = "yes"; then
ac_have_cray="yes"
AC_MSG_NOTICE([Running in Cray emulation mode])
AC_DEFINE(HAVE_CRAY_EMULATION, 1, [Define to 1 for emulating a Cray XT/XE system])
else
# Check for a Cray-specific file:
# * older XT systems use an /etc/xtrelease file
# * newer XT/XE systems use an /etc/opt/cray/release/xtrelease file
# * both have an /etc/xthostname
AC_MSG_CHECKING([whether this is a native Cray XT or XE system or have ALPS simulator])
if test -f /etc/xtrelease || test -d /etc/opt/cray/release; then
ac_have_cray="yes"
ac_have_real_cray="yes"
AC_DEFINE(HAVE_REAL_CRAY, 1, [Define to 1 for running on a real Cray XT/XE system])
fi
AC_MSG_RESULT([$ac_have_cray])
fi
if test "$ac_have_cray" = "yes"; then
# libexpat is always required for the XML-RPC interface
AC_CHECK_HEADER(expat.h, [],
AC_MSG_ERROR([Cray BASIL requires expat headers/rpm]))
AC_CHECK_LIB(expat, XML_ParserCreate, [],
AC_MSG_ERROR([Cray BASIL requires libexpat.so (i.e. libexpat1-dev)]))
if test "$ac_have_real_cray" = "yes"; then
AC_CHECK_LIB([job], [job_getjid], [],
AC_MSG_ERROR([Need cray-job (usually in /opt/cray/job/default)]))
fi
if test -z "$MYSQL_CFLAGS" || test -z "$MYSQL_LIBS"; then
AC_MSG_ERROR([Cray BASIL requires the cray-MySQL-devel-enterprise rpm])
fi
# Used by X_AC_DEBUG to set default SALLOC_RUN_FOREGROUND value to 1
x_ac_salloc_background=no
AC_DEFINE(HAVE_3D, 1, [Define to 1 if 3-dimensional architecture])
AC_DEFINE(SYSTEM_DIMENSIONS, 3, [3-dimensional architecture])
AC_DEFINE(HAVE_FRONT_END, 1, [Define to 1 if running slurmd on front-end only])
AC_DEFINE(HAVE_CRAY, 1, [Define to 1 for Cray XT/XE systems])
AC_DEFINE(SALLOC_KILL_CMD, 1, [Define to 1 for salloc to kill child processes at job termination])
fi
AM_CONDITIONAL(HAVE_CRAY, test "$ac_have_cray" = "yes")
AM_CONDITIONAL(HAVE_REAL_CRAY, test "$ac_have_real_cray" = "yes")
AM_CONDITIONAL(HAVE_ALPS_EMULATION, test "$ac_have_alps_emulation" = "yes")
AM_CONDITIONAL(HAVE_CRAY_EMULATION, test "$ac_have_cray_emulation" = "yes")
])