[20] | 1 | # $Id$ |
---|
[1] | 2 | # |
---|
| 3 | # SYNOPSIS |
---|
| 4 | # |
---|
| 5 | # AX_LL([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) |
---|
| 6 | # |
---|
| 7 | # DESCRIPTION |
---|
| 8 | # |
---|
| 9 | # Check for LL libraries and headers. |
---|
| 10 | # |
---|
| 11 | # This macro calls:: |
---|
| 12 | # |
---|
| 13 | # AC_SUBST(LL_INCLUDES) |
---|
| 14 | # AC_SUBST(LL_LDFLAGS) |
---|
| 15 | # AC_SUBST(LL_LIBS) |
---|
| 16 | # |
---|
| 17 | # LAST MODIFICATION |
---|
| 18 | # |
---|
| 19 | # 2010-04-08 |
---|
| 20 | # |
---|
| 21 | # LICENSE |
---|
| 22 | # |
---|
| 23 | # Written by: |
---|
| 24 | # Mariusz MamoÅski <mamonski@man.poznan.pl> |
---|
| 25 | # Based on macro for LSF written by |
---|
| 26 | # Lukasz Ciesnik <lukasz.ciesnik@gmail.com> |
---|
| 27 | # Placed under Public Domain. |
---|
| 28 | # |
---|
| 29 | |
---|
| 30 | AC_DEFUN([AX_LL],[ |
---|
| 31 | AC_ARG_WITH([ll-inc], [AC_HELP_STRING([--with-ll-inc=<include-dir>], |
---|
| 32 | [Path to LoadLeveler headers directory (containing llapi.h)])]) |
---|
| 33 | AC_ARG_WITH([ll-lib], [AC_HELP_STRING([--with-ll-lib=<lib-dir>], |
---|
| 34 | [Path to directory with LoadLevler libraries (containing libllapi.a)])]) |
---|
| 35 | |
---|
| 36 | AC_SUBST(LL_INCLUDES) |
---|
| 37 | AC_SUBST(LL_LDFLAGS) |
---|
| 38 | AC_SUBST(LL_LIBS) |
---|
| 39 | |
---|
| 40 | AC_MSG_NOTICE([checking for LoadLeveler]) |
---|
| 41 | |
---|
| 42 | AC_MSG_CHECKING([for LoadLeveler compile flags]) |
---|
| 43 | ax_ll_msg="" |
---|
| 44 | if test x$with_ll_inc != x; then |
---|
| 45 | LL_INCLUDES="-I${with_ll_inc}" |
---|
| 46 | else |
---|
[26] | 47 | LLSUBMIT_PATH=`readlink -f $(which llsubmit)` |
---|
[1] | 48 | if test x"$LLSUBMIT_PATH" != x; then |
---|
| 49 | LLSUBMIT_DIR=`dirname $LLSUBMIT_PATH` |
---|
| 50 | LL_HOME=`dirname $LLSUBMIT_DIR` |
---|
| 51 | LL_INCLUDES="-I$LL_HOME/include" |
---|
[26] | 52 | AC_MSG_NOTICE([no --with-ll-inc given. Using llsubmit path based guess: $LL_INCLUDES]) |
---|
[1] | 53 | else |
---|
| 54 | ax_ll_msg="no llsubmit in PATH" |
---|
| 55 | fi |
---|
| 56 | fi |
---|
| 57 | |
---|
| 58 | AC_MSG_RESULT([$LL_INCLUDES$ax_ll_msg]) |
---|
| 59 | |
---|
| 60 | AC_MSG_CHECKING([for LoadLeveler library dir]) |
---|
| 61 | ax_ll_msg="" |
---|
| 62 | if test x$with_ll_lib == x; then |
---|
| 63 | |
---|
[26] | 64 | LLSUBMIT_PATH=`readlink -f $(which llsubmit)` |
---|
[1] | 65 | |
---|
| 66 | if test x"$LLSUBMIT_PATH" != x; then |
---|
| 67 | LLSUBMIT_DIR=`dirname $LLSUBMIT_PATH` |
---|
| 68 | LL_HOME=`dirname $LLSUBMIT_DIR` |
---|
| 69 | with_ll_lib=$LL_HOME/lib |
---|
[26] | 70 | AC_MSG_NOTICE([no --with-ll-lib given. Using llsubmit path based guess: $with_ll_lib]) |
---|
[1] | 71 | else |
---|
| 72 | ax_ll_msg="no llsubmit in PATH" |
---|
| 73 | fi |
---|
| 74 | fi |
---|
| 75 | AC_MSG_RESULT([$with_ll_lib$ax_ll_msg]) |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | LL_LIBS="-lllapi " |
---|
| 79 | LL_LDFLAGS="-L${with_ll_lib}" |
---|
| 80 | |
---|
| 81 | |
---|
| 82 | CPPFLAGS_save="$CPPFLAGS" |
---|
| 83 | LDFLAGS_save="$LDFLAGS" |
---|
| 84 | LIBS_save="$LIBS" |
---|
| 85 | CPPFLAGS="$CPPFLAGS $LL_INCLUDES" |
---|
| 86 | LDFLAGS="$LDFLAGS $LL_LDFLAGS" |
---|
| 87 | LIBS="$LIBS $LL_LIBS" |
---|
| 88 | |
---|
| 89 | ax_ll_ok="no" |
---|
| 90 | |
---|
| 91 | AC_MSG_CHECKING([for usable LL libraries/headers]) |
---|
| 92 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include "llapi.h" ]], |
---|
| 93 | [[ LL_job job_info; /*at least check for declared structs */ |
---|
| 94 | return 0; |
---|
| 95 | ]])], |
---|
| 96 | [ ax_ll_ok="yes"], |
---|
| 97 | [ echo "*** The LoadLeveler test program failed to link or run. See the file config.log" |
---|
| 98 | echo "*** for the exact error that occured."], |
---|
| 99 | [ |
---|
| 100 | ax_ll_ok=yes |
---|
| 101 | echo $ac_n "cross compiling; assumed OK... $ac_c" |
---|
| 102 | ]) |
---|
| 103 | CPPFLAGS="$CPPFLAGS_save" |
---|
| 104 | LDFLAGS="$LDFLAGS_save" |
---|
| 105 | LIBS="$LIBS_save" |
---|
| 106 | AC_MSG_RESULT([$ax_ll_ok]) |
---|
| 107 | |
---|
| 108 | if test x"$ax_ll_ok" = xyes; then |
---|
| 109 | ifelse([$1], , :, [$1]) |
---|
| 110 | else |
---|
| 111 | ifelse([$2], , :, [$2]) |
---|
| 112 | fi |
---|
| 113 | ]) |
---|