# $Id: ax_ll.m4 208 2010-05-20 10:24:54Z mmatloka $ # # SYNOPSIS # # AX_LL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) # # DESCRIPTION # # Check for LL libraries and headers. # # This macro calls:: # # AC_SUBST(LL_INCLUDES) # AC_SUBST(LL_LDFLAGS) # AC_SUBST(LL_LIBS) # # LAST MODIFICATION # # 2010-04-08 # # LICENSE # # Written by: # Mariusz MamoĊ„ski # Based on macro for LSF written by # Lukasz Ciesnik # Placed under Public Domain. # AC_DEFUN([AX_LL],[ AC_ARG_WITH([ll-inc], [AC_HELP_STRING([--with-ll-inc=], [Path to LoadLeveler headers directory (containing llapi.h)])]) AC_ARG_WITH([ll-lib], [AC_HELP_STRING([--with-ll-lib=], [Path to directory with LoadLevler libraries (containing libllapi.a)])]) AC_SUBST(LL_INCLUDES) AC_SUBST(LL_LDFLAGS) AC_SUBST(LL_LIBS) AC_MSG_NOTICE([checking for LoadLeveler]) AC_MSG_CHECKING([for LoadLeveler compile flags]) ax_ll_msg="" if test x$with_ll_inc != x; then LL_INCLUDES="-I${with_ll_inc}" else LLSUBMIT_PATH=`which llsubmit` if test x"$LLSUBMIT_PATH" != x; then LLSUBMIT_DIR=`dirname $LLSUBMIT_PATH` LL_HOME=`dirname $LLSUBMIT_DIR` LL_INCLUDES="-I$LL_HOME/include" else ax_ll_msg="no llsubmit in PATH" fi fi AC_MSG_RESULT([$LL_INCLUDES$ax_ll_msg]) AC_MSG_CHECKING([for LoadLeveler library dir]) ax_ll_msg="" if test x$with_ll_lib == x; then LLSUBMIT_PATH=`which llsubmit` if test x"$LLSUBMIT_PATH" != x; then LLSUBMIT_DIR=`dirname $LLSUBMIT_PATH` LL_HOME=`dirname $LLSUBMIT_DIR` with_ll_lib=$LL_HOME/lib else ax_ll_msg="no llsubmit in PATH" fi fi AC_MSG_RESULT([$with_ll_lib$ax_ll_msg]) LL_LIBS="-lllapi " LL_LDFLAGS="-L${with_ll_lib}" CPPFLAGS_save="$CPPFLAGS" LDFLAGS_save="$LDFLAGS" LIBS_save="$LIBS" CPPFLAGS="$CPPFLAGS $LL_INCLUDES" LDFLAGS="$LDFLAGS $LL_LDFLAGS" LIBS="$LIBS $LL_LIBS" ax_ll_ok="no" AC_MSG_CHECKING([for usable LL libraries/headers]) AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include "llapi.h" ]], [[ LL_job job_info; /*at least check for declared structs */ return 0; ]])], [ ax_ll_ok="yes"], [ echo "*** The LoadLeveler test program failed to link or run. See the file config.log" echo "*** for the exact error that occured."], [ ax_ll_ok=yes echo $ac_n "cross compiling; assumed OK... $ac_c" ]) CPPFLAGS="$CPPFLAGS_save" LDFLAGS="$LDFLAGS_save" LIBS="$LIBS_save" AC_MSG_RESULT([$ax_ll_ok]) if test x"$ax_ll_ok" = xyes; then ifelse([$1], , :, [$1]) else ifelse([$2], , :, [$2]) fi ])