| 1 | # $Id$ |
|---|
| 2 | # |
|---|
| 3 | # SYNOPSIS |
|---|
| 4 | # |
|---|
| 5 | # AX_PBS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) |
|---|
| 6 | # |
|---|
| 7 | # DESCRIPTION |
|---|
| 8 | # |
|---|
| 9 | # Check for PBS libraries and headers. |
|---|
| 10 | # |
|---|
| 11 | # This macro calls:: |
|---|
| 12 | # |
|---|
| 13 | # AC_SUBST(PBS_INCLUDES) |
|---|
| 14 | # AC_SUBST(PBS_LIBS) |
|---|
| 15 | # AC_SUBST(PBS_LDFLAGS) |
|---|
| 16 | # |
|---|
| 17 | # LAST MODIFICATION |
|---|
| 18 | # |
|---|
| 19 | # 2008-06-13 |
|---|
| 20 | # |
|---|
| 21 | # LICENSE |
|---|
| 22 | # |
|---|
| 23 | # Written by Åukasz CieÅnik <lukasz.ciesnik@gmail.com> |
|---|
| 24 | # and placed under Public Domain. |
|---|
| 25 | # |
|---|
| 26 | # Further contribution: Mariusz Mamonski <mamonski@man.poznan.pl> |
|---|
| 27 | # |
|---|
| 28 | |
|---|
| 29 | AC_DEFUN([AX_PBS],[ |
|---|
| 30 | AC_ARG_WITH([pbs], [AC_HELP_STRING([--with-pbs=<pbs-prefix>], |
|---|
| 31 | [Path to existing PBS installation root])]) |
|---|
| 32 | AC_ARG_ENABLE([disable-pbs-log], [AC_HELP_STRING([--disable-pbs-log], |
|---|
| 33 | [Do not use liblog while linking with PBS Professional])]) |
|---|
| 34 | |
|---|
| 35 | AC_SUBST(PBS_INCLUDES) |
|---|
| 36 | AC_SUBST(PBS_LIBS) |
|---|
| 37 | AC_SUBST(PBS_LDFLAGS) |
|---|
| 38 | |
|---|
| 39 | if test x"$with_pbs" != x; then |
|---|
| 40 | PBS_HOME=$with_pbs |
|---|
| 41 | PBS_INCLUDES="-I${with_pbs}/include " |
|---|
| 42 | PBS_LDFLAGS="-L${with_pbs}/lib " |
|---|
| 43 | else |
|---|
| 44 | T1=`which pbsnodes` |
|---|
| 45 | if test x"$T1" != x; then |
|---|
| 46 | T2=`dirname $T1` |
|---|
| 47 | PBS_HOME=`dirname $T2` |
|---|
| 48 | PBS_INCLUDES="-I${PBS_HOME}/include " |
|---|
| 49 | PBS_LDFLAGS="-L${PBS_HOME}/lib " |
|---|
| 50 | fi |
|---|
| 51 | fi |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | PBS_INCLUDES="$PBS_INCLUDES -I${PBS_HOME}/include/torque " |
|---|
| 55 | LDFLAGS_save="$LDFLAGS" |
|---|
| 56 | CPPFLAGS_save="$CPPFLAGS" |
|---|
| 57 | LDFLAGS="$LDFLAGS $PBS_LDFLAGS" |
|---|
| 58 | CPPFLAGS="$CPPFLAGS $PBS_INCLUDES" |
|---|
| 59 | |
|---|
| 60 | ax_pbs_ok="no" |
|---|
| 61 | |
|---|
| 62 | AH_TEMPLATE([PBS_PROFESSIONAL], [compiling against PBS Professional]) |
|---|
| 63 | AH_TEMPLATE([PBS_PROFESSIONAL_NO_LOG], [Do not use liblog while linking with PBS Professional]) |
|---|
| 64 | AH_TEMPLATE([HAVE_PBS_SUBMIT_HASH], [Torque 4 pbs_submit_hash function found]) |
|---|
| 65 | |
|---|
| 66 | if test x"$enable_pbs_log" != "xno"; then |
|---|
| 67 | ax_pbs_lib_log=" -llog" |
|---|
| 68 | else |
|---|
| 69 | ax_pbs_lib_log="" |
|---|
| 70 | AC_DEFINE(PBS_PROFESSIONAL_NO_LOG,[1]) |
|---|
| 71 | fi |
|---|
| 72 | |
|---|
| 73 | if test x"$ax_pbs_ok" = xno; then |
|---|
| 74 | ax_pbs_ok="yes" |
|---|
| 75 | AC_CHECK_LIB([pbs], [pbs_submit], [:], [ax_pbs_ok="no"]) |
|---|
| 76 | AC_CHECK_LIB([log], [pbse_to_txt], [:], [ax_pbs_ok="no"]) |
|---|
| 77 | if test x"$ax_pbs_ok" = xyes; then |
|---|
| 78 | ax_pbs_libs="-lpbs $ax_pbs_lib_log" |
|---|
| 79 | fi |
|---|
| 80 | fi |
|---|
| 81 | |
|---|
| 82 | AS_UNSET([ac_cv_lib_pbs_pbs_submit]) |
|---|
| 83 | AS_UNSET([ac_cv_lib_log_pbse_to_txt]) |
|---|
| 84 | |
|---|
| 85 | if test x"$ax_pbs_ok" = xno; then |
|---|
| 86 | ax_pbs_ok="yes" |
|---|
| 87 | AC_CHECK_LIB([pbs], [pbs_submit], [:], [ax_pbs_ok="no"], [-lssl -lcrypto]) |
|---|
| 88 | AC_CHECK_LIB([log], [pbse_to_txt], [:], [ax_pbs_ok="no"], [-lssl -lcrypto] ) |
|---|
| 89 | if test x"$ax_pbs_ok" = xyes; then |
|---|
| 90 | ax_pbs_libs="-lpbs $ax_pbs_lib_log -lssl -lcrypto" |
|---|
| 91 | fi |
|---|
| 92 | fi |
|---|
| 93 | |
|---|
| 94 | ax_pbs_submit_hash="no" |
|---|
| 95 | |
|---|
| 96 | if test x"$ax_pbs_ok" = xno; then |
|---|
| 97 | ax_pbs_ok="yes" |
|---|
| 98 | AC_CHECK_LIB([torque], [pbs_submit], [:], [ax_pbs_ok="no"]) |
|---|
| 99 | AC_CHECK_LIB([torque], [pbse_to_txt], [:], [ax_pbs_ok="no"]) |
|---|
| 100 | AC_CHECK_LIB([torque], [pbs_submit_hash], [AC_DEFINE(HAVE_PBS_SUBMIT_HASH) ax_pbs_submit_hash="yes"], [:]) |
|---|
| 101 | |
|---|
| 102 | |
|---|
| 103 | if test x"$ax_pbs_ok" = xyes; then |
|---|
| 104 | ax_pbs_libs="-ltorque" |
|---|
| 105 | fi |
|---|
| 106 | |
|---|
| 107 | AM_CONDITIONAL([PBS_PROFESSIONAL], [false]) |
|---|
| 108 | else |
|---|
| 109 | AC_DEFINE(PBS_PROFESSIONAL,[1]) |
|---|
| 110 | AM_CONDITIONAL([PBS_PROFESSIONAL], [true]) |
|---|
| 111 | fi |
|---|
| 112 | |
|---|
| 113 | AM_CONDITIONAL([TORQUE4], [test x$ax_pbs_submit_hash = xyes]) |
|---|
| 114 | |
|---|
| 115 | if test x"$ax_pbs_ok" = xyes; then |
|---|
| 116 | AC_CHECK_HEADERS([pbs_ifl.h pbs_error.h],[:],[ax_pbs_ok="no"]) |
|---|
| 117 | fi |
|---|
| 118 | |
|---|
| 119 | LDFLAGS="$LDFLAGS_save" |
|---|
| 120 | CPPFLAGS="$CPPFLAGS_save" |
|---|
| 121 | |
|---|
| 122 | if test x"$ax_pbs_ok" = xyes; then |
|---|
| 123 | PBS_LIBS="$ax_pbs_libs" |
|---|
| 124 | ifelse($1, , :, $1) |
|---|
| 125 | else |
|---|
| 126 | ifelse($2, , :, $2) |
|---|
| 127 | fi |
|---|
| 128 | ]) |
|---|