source: branches/ll-drmaa-1.0.0/m4/ax_ll.m4 @ 20

Revision 20, 2.4 KB checked in by mmatloka, 14 years ago (diff)

svn:keywords

  • Property svn:keywords set to Id Revision
Line 
1# $Id$
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
30AC_DEFUN([AX_LL],[
31AC_ARG_WITH([ll-inc], [AC_HELP_STRING([--with-ll-inc=<include-dir>],
32                [Path to LoadLeveler headers directory (containing llapi.h)])])
33AC_ARG_WITH([ll-lib], [AC_HELP_STRING([--with-ll-lib=<lib-dir>],
34                [Path to directory with LoadLevler libraries (containing libllapi.a)])])
35
36AC_SUBST(LL_INCLUDES)
37AC_SUBST(LL_LDFLAGS)
38AC_SUBST(LL_LIBS)
39
40AC_MSG_NOTICE([checking for LoadLeveler])
41
42AC_MSG_CHECKING([for LoadLeveler compile flags])
43ax_ll_msg=""
44if test x$with_ll_inc != x; then
45        LL_INCLUDES="-I${with_ll_inc}"
46else
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
55fi
56
57AC_MSG_RESULT([$LL_INCLUDES$ax_ll_msg])
58
59AC_MSG_CHECKING([for LoadLeveler library dir])
60ax_ll_msg=""
61if 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
72fi
73AC_MSG_RESULT([$with_ll_lib$ax_ll_msg])
74
75
76LL_LIBS="-lllapi "
77LL_LDFLAGS="-L${with_ll_lib}"
78
79
80CPPFLAGS_save="$CPPFLAGS"
81LDFLAGS_save="$LDFLAGS"
82LIBS_save="$LIBS"
83CPPFLAGS="$CPPFLAGS $LL_INCLUDES"
84LDFLAGS="$LDFLAGS $LL_LDFLAGS"
85LIBS="$LIBS $LL_LIBS"
86
87ax_ll_ok="no"
88
89AC_MSG_CHECKING([for usable LL libraries/headers])
90AC_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        ])
101CPPFLAGS="$CPPFLAGS_save"
102LDFLAGS="$LDFLAGS_save"
103LIBS="$LIBS_save"
104AC_MSG_RESULT([$ax_ll_ok])
105
106if test x"$ax_ll_ok" = xyes; then
107        ifelse([$1], , :, [$1])
108else
109        ifelse([$2], , :, [$2])
110fi
111])
Note: See TracBrowser for help on using the repository browser.