Blame build/find_yajl.m4

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