|
Packit |
284210 |
dnl Check for YAJL Libraries
|
|
Packit |
284210 |
dnl CHECK_YAJL(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
Packit |
284210 |
dnl Sets:
|
|
Packit |
284210 |
dnl YAJL_CFLAGS
|
|
Packit |
284210 |
dnl YAJL_LDADD
|
|
Packit |
284210 |
dnl YAJL_LDFLAGS
|
|
Packit |
284210 |
dnl YAJL_LIBS
|
|
Packit |
284210 |
|
|
Packit |
284210 |
AC_DEFUN([CHECK_YAJL],
|
|
Packit |
284210 |
[dnl
|
|
Packit |
284210 |
|
|
Packit |
284210 |
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
|
Packit |
284210 |
|
|
Packit |
284210 |
YAJL_CONFIG=""
|
|
Packit |
284210 |
YAJL_VERSION=""
|
|
Packit |
284210 |
YAJL_CFLAGS=""
|
|
Packit |
284210 |
YAJL_CPPFLAGS=""
|
|
Packit |
284210 |
YAJL_LDADD=""
|
|
Packit |
284210 |
YAJL_LDFLAGS=""
|
|
Packit |
284210 |
YAJL_CONFIG=${PKG_CONFIG}
|
|
Packit |
284210 |
YAJL_PKGNAMES="yajl2 yajl"
|
|
Packit |
284210 |
YAJL_SONAMES="so la sl dll dylib"
|
|
Packit |
284210 |
|
|
Packit |
284210 |
AC_ARG_WITH(
|
|
Packit |
284210 |
yajl,
|
|
Packit |
284210 |
[AC_HELP_STRING([--with-yajl=PATH],[Path to yajl prefix or config script])]
|
|
Packit |
284210 |
,, with_yajl=yes)
|
|
Packit |
284210 |
|
|
Packit |
284210 |
AS_CASE(["${with_yajl}"],
|
|
Packit |
284210 |
[no], [test_paths=],
|
|
Packit |
284210 |
[yes], [test_paths="/usr/local/libyajl /usr/local/yajl /usr/local /opt/libyajl /opt/yajl /opt /usr"],
|
|
Packit |
284210 |
[test_paths="${with_yajl}"])
|
|
Packit |
284210 |
|
|
Packit |
284210 |
AS_IF([test "x${test_paths}" != "x"], [
|
|
Packit |
284210 |
AC_MSG_CHECKING([for libyajl config script])
|
|
Packit |
284210 |
for x in ${test_paths}; do
|
|
Packit |
284210 |
dnl # Determine if the script was specified and use it directly
|
|
Packit |
284210 |
if test ! -d "$x" -a -e "$x"; then
|
|
Packit |
284210 |
YAJL_CONFIG=$x
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
|
|
Packit |
284210 |
dnl # Try known config script names/locations
|
|
Packit |
284210 |
for y in $YAJL_CONFIG; do
|
|
Packit |
284210 |
if test -e "${x}/bin/${y}"; then
|
|
Packit |
284210 |
YAJL_CONFIG="${x}/bin/${y}"
|
|
Packit |
284210 |
yajl_config="${YAJL_CONFIG}"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
elif test -e "${x}/${y}"; then
|
|
Packit |
284210 |
YAJL_CONFIG="${x}/${y}"
|
|
Packit |
284210 |
yajl_config="${YAJL_CONFIG}"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
if test -n "${yajl_config}"; then
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
|
|
Packit |
284210 |
dnl # Try known package names
|
|
Packit |
284210 |
if test -n "${YAJL_CONFIG}"; then
|
|
Packit |
284210 |
YAJL_PKGNAME=""
|
|
Packit |
284210 |
for x in ${YAJL_PKGNAMES}; do
|
|
Packit |
284210 |
if ${YAJL_CONFIG} --exists ${x}; then
|
|
Packit |
284210 |
YAJL_PKGNAME="$x"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
|
|
Packit |
284210 |
if test -n "${YAJL_PKGNAME}"; then
|
|
Packit |
284210 |
AC_MSG_RESULT([${YAJL_CONFIG}])
|
|
Packit |
284210 |
YAJL_VERSION="`${YAJL_CONFIG} ${YAJL_PKGNAME} --modversion`"
|
|
Packit |
284210 |
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(yajl VERSION: $YAJL_VERSION); fi
|
|
Packit |
284210 |
YAJL_CFLAGS="`${YAJL_CONFIG} ${YAJL_PKGNAME} --cflags`"
|
|
Packit |
284210 |
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(yajl CFLAGS: $YAJL_CFLAGS); fi
|
|
Packit |
284210 |
YAJL_LDADD="`${YAJL_CONFIG} ${YAJL_PKGNAME} --libs-only-l`"
|
|
Packit |
284210 |
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(yajl LDADD: $YAJL_LDADD); fi
|
|
Packit |
284210 |
YAJL_LDFLAGS="`${YAJL_CONFIG} ${YAJL_PKGNAME} --libs-only-L --libs-only-other`"
|
|
Packit |
284210 |
if test "$verbose_output" -eq 1; then AC_MSG_NOTICE(yajl LDFLAGS: $YAJL_LDFLAGS); fi
|
|
Packit |
284210 |
else
|
|
Packit |
284210 |
AC_MSG_RESULT([no])
|
|
Packit |
284210 |
|
|
Packit |
284210 |
dnl Hack to just try to find the lib and include
|
|
Packit |
284210 |
AC_MSG_CHECKING([for yajl install])
|
|
Packit |
284210 |
for x in ${test_paths}; do
|
|
Packit |
284210 |
for y in ${YAJL_SONAMES}; do
|
|
Packit |
284210 |
if test -e "${x}/libyajl.${y}"; then
|
|
Packit |
284210 |
yajl_lib_path="${x}/"
|
|
Packit |
284210 |
yajl_lib_name="yajl"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
else
|
|
Packit |
284210 |
yajl_lib_path=""
|
|
Packit |
284210 |
yajl_lib_name=""
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
if test -n "$yajl_lib_path"; then
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
for x in ${test_paths}; do
|
|
Packit |
284210 |
if test -e "${x}/include/yajl_parse.h"; then
|
|
Packit |
284210 |
yajl_inc_path="${x}/include"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
elif test -e "${x}/yajl_parse.h"; then
|
|
Packit |
284210 |
yajl_inc_path="${x}"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
|
|
Packit |
284210 |
dnl # Check some sub-paths as well
|
|
Packit |
284210 |
for yajl_pkg_name in ${yajl_lib_name} ${YAJL_PKGNAMES}; do
|
|
Packit |
284210 |
if test -e "${x}/include/${yajl_pkg_name}/yajl_parse.h"; then
|
|
Packit |
284210 |
yajl_inc_path="${x}/include"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
elif test -e "${x}/${yajl_pkg_name}/yajl_parse.h"; then
|
|
Packit |
284210 |
yajl_inc_path="${x}"
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
else
|
|
Packit |
284210 |
yajl_inc_path=""
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
if test -n "$yajl_inc_path"; then
|
|
Packit |
284210 |
break
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
done
|
|
Packit |
284210 |
if test -n "${yajl_lib_path}" -a -n "${yajl_inc_path}"; then
|
|
Packit |
284210 |
YAJL_CONFIG=""
|
|
Packit |
284210 |
AC_MSG_RESULT([${yajl_lib_path} ${yajl_inc_path}])
|
|
Packit |
284210 |
YAJL_VERSION="2"
|
|
Packit |
284210 |
YAJL_CFLAGS="-I${yajl_inc_path}"
|
|
Packit |
284210 |
YAJL_LDADD="-l${yajl_lib_name}"
|
|
Packit |
284210 |
YAJL_LDFLAGS="-L${yajl_lib_path}"
|
|
Packit |
284210 |
else
|
|
Packit |
284210 |
YAJL_VERSION=""
|
|
Packit |
284210 |
AC_MSG_RESULT([no])
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
|
|
Packit |
284210 |
])
|
|
Packit |
284210 |
|
|
Packit |
284210 |
YAJL_LIBS=${YAJL_LDADD}
|
|
Packit |
284210 |
AC_SUBST(YAJL_CFLAGS)
|
|
Packit |
284210 |
AC_SUBST(YAJL_LDADD)
|
|
Packit |
284210 |
AC_SUBST(YAJL_LIBS)
|
|
Packit |
284210 |
AC_SUBST(YAJL_LDFLAGS)
|
|
Packit |
284210 |
if test -z "${YAJL_VERSION}"; then
|
|
Packit |
284210 |
ifelse([$2], , AC_MSG_NOTICE([optional yajl library not found]), $2)
|
|
Packit |
284210 |
else
|
|
Packit |
284210 |
AC_MSG_NOTICE([using yajl v${YAJL_VERSION}])
|
|
Packit |
284210 |
YAJL_CFLAGS="-DWITH_YAJL ${YAJL_CFLAGS}"
|
|
Packit |
284210 |
ifelse([$1], , , $1)
|
|
Packit |
284210 |
fi
|
|
Packit |
284210 |
])
|