1 | # $Id: ax_ll.m4 208 2010-05-20 10:24:54Z mmatloka $ |
---|
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 |
---|
47 | LLSUBMIT_PATH=`which llsubmit` |
---|
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" |
---|
52 | else |
---|
53 | ax_ll_msg="no llsubmit in PATH" |
---|
54 | fi |
---|
55 | fi |
---|
56 | |
---|
57 | AC_MSG_RESULT([$LL_INCLUDES$ax_ll_msg]) |
---|
58 | |
---|
59 | AC_MSG_CHECKING([for LoadLeveler library dir]) |
---|
60 | ax_ll_msg="" |
---|
61 | if test x$with_ll_lib == x; then |
---|
62 | |
---|
63 | LLSUBMIT_PATH=`which llsubmit` |
---|
64 | |
---|
65 | if test x"$LLSUBMIT_PATH" != x; then |
---|
66 | LLSUBMIT_DIR=`dirname $LLSUBMIT_PATH` |
---|
67 | LL_HOME=`dirname $LLSUBMIT_DIR` |
---|
68 | with_ll_lib=$LL_HOME/lib |
---|
69 | else |
---|
70 | ax_ll_msg="no llsubmit in PATH" |
---|
71 | fi |
---|
72 | fi |
---|
73 | AC_MSG_RESULT([$with_ll_lib$ax_ll_msg]) |
---|
74 | |
---|
75 | |
---|
76 | LL_LIBS="-lllapi " |
---|
77 | LL_LDFLAGS="-L${with_ll_lib}" |
---|
78 | |
---|
79 | |
---|
80 | CPPFLAGS_save="$CPPFLAGS" |
---|
81 | LDFLAGS_save="$LDFLAGS" |
---|
82 | LIBS_save="$LIBS" |
---|
83 | CPPFLAGS="$CPPFLAGS $LL_INCLUDES" |
---|
84 | LDFLAGS="$LDFLAGS $LL_LDFLAGS" |
---|
85 | LIBS="$LIBS $LL_LIBS" |
---|
86 | |
---|
87 | ax_ll_ok="no" |
---|
88 | |
---|
89 | AC_MSG_CHECKING([for usable LL libraries/headers]) |
---|
90 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include "llapi.h" ]], |
---|
91 | [[ LL_job job_info; /*at least check for declared structs */ |
---|
92 | return 0; |
---|
93 | ]])], |
---|
94 | [ ax_ll_ok="yes"], |
---|
95 | [ echo "*** The LoadLeveler test program failed to link or run. See the file config.log" |
---|
96 | echo "*** for the exact error that occured."], |
---|
97 | [ |
---|
98 | ax_ll_ok=yes |
---|
99 | echo $ac_n "cross compiling; assumed OK... $ac_c" |
---|
100 | ]) |
---|
101 | CPPFLAGS="$CPPFLAGS_save" |
---|
102 | LDFLAGS="$LDFLAGS_save" |
---|
103 | LIBS="$LIBS_save" |
---|
104 | AC_MSG_RESULT([$ax_ll_ok]) |
---|
105 | |
---|
106 | if test x"$ax_ll_ok" = xyes; then |
---|
107 | ifelse([$1], , :, [$1]) |
---|
108 | else |
---|
109 | ifelse([$2], , :, [$2]) |
---|
110 | fi |
---|
111 | ]) |
---|