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 | ]) |
---|