1##*****************************************************************************
2#  AUTHOR:
3#    Daniel Pou <danielp@sgi.com>
4#
5#  SYNOPSIS:
6#    X_AC_NETLOC
7#
8#  DESCRIPTION:
9#    Determine if the NETLOC libraries exists
10##*****************************************************************************
11
12AC_DEFUN([X_AC_NETLOC],
13[
14  _x_ac_netloc_dirs="/usr /usr/local"
15  _x_ac_netloc_libs="lib64 lib"
16  x_ac_cv_netloc_nosub="no"
17
18  AC_ARG_WITH(
19    [netloc],
20    AS_HELP_STRING(--with-netloc=PATH,Specify path to netloc installation),
21    [AS_IF([test "x$with_netloc" != xno],[_x_ac_netloc_dirs="$with_netloc $_x_ac_netloc_dirs"])])
22
23  if [test "x$with_netloc" = xno]; then
24    AC_MSG_WARN([support for netloc disabled])
25  else
26    AC_CACHE_CHECK(
27      [for netloc installation],
28      [x_ac_cv_netloc_dir],
29      [
30        for d in $_x_ac_netloc_dirs; do
31          test -d "$d" || continue
32          test -d "$d/include" || continue
33          test -f "$d/include/netloc.h" || continue
34          for bit in $_x_ac_netloc_libs; do
35            test -d "$d/$bit" || continue
36            _x_ac_netloc_cppflags_save="$CPPFLAGS"
37            CPPFLAGS="-I$d/include $CPPFLAGS"
38            _x_ac_netloc_libs_save="$LIBS"
39            LIBS="-L$d/$bit -lnetloc $LIBS"
40            AC_LINK_IFELSE(
41              [AC_LANG_PROGRAM([#include <netloc.h>
42                                #include <netloc/map.h>],
43                                [netloc_map_t map;
44                                netloc_map_create(&map);]) ],
45              AS_VAR_SET(x_ac_cv_netloc_dir, $d))
46              AC_LINK_IFELSE(
47              [AC_LANG_PROGRAM([#include <netloc.h>
48                                #include <netloc_map.h>],
49                                [netloc_map_t map;
50                                netloc_map_create(&map)]) ],
51              AS_VAR_SET(x_ac_cv_netloc_dir, $d)
52              x_ac_cv_netloc_nosub="yes"
53              )
54            CPPFLAGS="$_x_ac_netloc_cppflags_save"
55            LIBS="$_x_ac_netloc_libs_save"
56            test -n "$x_ac_cv_netloc_dir" && break
57          done
58          test -n "$x_ac_cv_netloc_dir" && break
59        done
60      ])
61
62    if test -z "$x_ac_cv_netloc_dir"; then
63      AC_MSG_WARN([unable to locate netloc installation])
64    else
65      NETLOC_CPPFLAGS="-I$x_ac_cv_netloc_dir/include"
66      if test "$ac_with_rpath" = "yes"; then
67        NETLOC_LDFLAGS="-Wl,-rpath -Wl,$x_ac_cv_netloc_dir/$bit -L$x_ac_cv_netloc_dir/$bit"
68      else
69        NETLOC_LDFLAGS="-L$x_ac_cv_netloc_dir/$bit"
70      fi
71      NETLOC_LIBS="-lnetloc"
72      AC_DEFINE(HAVE_NETLOC, 1, [Define to 1 if netloc library found])
73      if test "$x_ac_cv_netloc_nosub" = "yes"; then
74        AC_DEFINE(HAVE_NETLOC_NOSUB, 1, [Define to 1 if netloc includes use underscore not subdirectory])
75      fi
76    fi
77
78    AC_SUBST(NETLOC_LIBS)
79    AC_SUBST(NETLOC_CPPFLAGS)
80    AC_SUBST(NETLOC_LDFLAGS)
81  fi
82
83  AM_CONDITIONAL(HAVE_NETLOC, test -n "$x_ac_cv_netloc_dir")
84])
85