blob: 09c1037a296b779024650192c63e0fa12647c062 [file] [log] [blame]
##*****************************************************************************
# AUTHOR:
# Derived from x_ac_munge.
#
# SYNOPSIS:
# X_AC_JSON()
#
# DESCRIPTION:
# Check for JSON parser libraries.
# Right now, just check for json-c header and library.
#
# WARNINGS:
# This macro must be placed after AC_PROG_CC and before AC_PROG_LIBTOOL.
##*****************************************************************************
AC_DEFUN([X_AC_JSON], [
_x_ac_json_dirs="/usr /usr/local"
_x_ac_json_libs="lib64 lib"
AC_ARG_WITH(
[json],
AS_HELP_STRING(--with-json=PATH,Specify path to json-c installation),
[AS_IF([test "x$with_json" != xno && test "x$with_json" != xyes],
[_x_ac_json_dirs="$with_json"])])
if [test "x$with_json" = xno]; then
AC_MSG_NOTICE([support for json disabled])
else
AC_CACHE_CHECK(
[for json installation],
[x_ac_cv_json_dir],
[
for d in $_x_ac_json_dirs; do
test -d "$d" || continue
test -d "$d/include" || continue
test -f "$d/include/json-c/json_object.h" || test -f "$d/include/json/json_object.h" || continue
for bit in $_x_ac_json_libs; do
test -d "$d/$bit" || continue
_x_ac_json_libs_save="$LIBS"
LIBS="-L$d/$bit -ljson-c $LIBS"
AC_LINK_IFELSE(
[AC_LANG_CALL([], json_tokener_parse)],
AS_VAR_SET(x_ac_cv_json_dir, $d))
LIBS="$_x_ac_json_libs_save"
test -n "$x_ac_cv_json_dir" && break
done
test -n "$x_ac_cv_json_dir" && break
done
])
if test -z "$x_ac_cv_json_dir"; then
if [test -z "$with_json"] ; then
AC_MSG_WARN([unable to locate json parser library])
else
AC_MSG_ERROR([unable to locate json parser library])
fi
else
if test -f "$d/include/json-c/json_object.h" ; then
AC_DEFINE([HAVE_JSON_C_INC], [1], [Define if headers in include/json-c.])
fi
if test -f "$d/include/json/json_object.h" ; then
AC_DEFINE([HAVE_JSON_INC], [1], [Define if headers in include/json.])
fi
AC_DEFINE([HAVE_JSON], [1], [Define if you are compiling with json.])
JSON_CPPFLAGS="-I$x_ac_cv_json_dir/include"
if test "$ac_with_rpath" = "yes"; then
JSON_LDFLAGS="-Wl,-rpath -Wl,$x_ac_cv_json_dir/$bit -L$x_ac_cv_json_dir/$bit -ljson-c"
else
JSON_LDFLAGS="-L$x_ac_cv_json_dir/$bit -ljson-c"
fi
fi
AC_SUBST(JSON_CPPFLAGS)
AC_SUBST(JSON_LDFLAGS)
fi
AM_CONDITIONAL(WITH_JSON_PARSER, test -n "$x_ac_cv_json_dir")
])