dnl
dnl $ Id: $
dnl

PHP_ARG_WITH(mecab, for MeCab support,
[  --with-mecab[=FILE]     Include MeCab support. FILE is the optional pathname to mecab-config])

if test "$PHP_MECAB" != "no"; then

  dnl
  dnl Check if the locations of sed and awk are defined
  dnl
  if test -z "$SED"; then
    SED=sed
  fi
  if test -z "$AWK"; then
    AWK=awk
  fi

  dnl
  dnl Check the location of mecab-config
  dnl
  if test "$PHP_MECAB" = "yes"; then
    for i in /usr/local /usr; do
      test -x $i/bin/mecab-config && MECAB_CONFIG=$i && break
    done
    if test -z "$MECAB_CONFIG"; then
      AC_MSG_ERROR([mecab-config not found.])
    fi
  else
    MECAB_CONFIG=$PHP_MECAB
  fi

  dnl
  dnl Get the version number, CFLAGS and LIBS by mecab-config
  dnl
  if test -x "$PHP_MECAB"; then
    AC_MSG_CHECKING([for MeCab library version])
    MECAB_VERSION=`$MECAB_CONFIG --version 2> /dev/null`

    if test -z "$MECAB_VERSION"; then
      AC_MSG_ERROR([invalid mecab-config passed to --with-mecab!])
    fi

    MECAB_VERSION_NUMBER=`echo $MECAB_VERSION | $AWK -F. '{ printf "%d", $1 * 1000 + $2 }'`

    if test "$MECAB_VERSION_NUMBER" -lt 90; then
      AC_MSG_ERROR([MeCab version 0.90 or later is required to compile php with MeCab support.])
    fi

    AC_DEFINE_UNQUOTED(PHP_MECAB_VERSION_STRING, "$MECAB_VERSION", [MeCab library version])
    AC_MSG_RESULT([$MECAB_VERSION])

    MECAB_INCLINE=`$MECAB_CONFIG --cflags`
    MECAB_LIBLINE=`$MECAB_CONFIG --libs`
  else
    AC_MSG_ERROR([mecab-config not executable.])
  fi

  dnl
  dnl Check the headers and types
  dnl
  export OLD_CPPFLAGS="$CPPFLAGS"
  export CPPFLAGS="$CPPFLAGS $MECAB_INCLINE"
  AC_CHECK_HEADER(mecab.h, [], AC_MSG_ERROR([mecab.h header not found.]))
  AC_CHECK_TYPE(mecab_t *, [],
    [
      AC_MSG_ERROR([required payload type for resource mecab not found.])
    ],[
      #include <mecab.h>
    ])

  AC_CHECK_TYPE(mecab_node_t *, [],
    [
      AC_MSG_ERROR([required payload type for resource mecab_node not found.])
    ],[
      #include <mecab.h>
    ])

  AC_CHECK_TYPE(mecab_path_t *, [],
    [
      AC_MSG_ERROR([required payload type for resource mecab_path not found.])
    ],[
      #include <mecab.h>
    ])
  export CPPFLAGS="$OLD_CPPFLAGS"

  dnl
  dnl Check the library
  dnl
  PHP_CHECK_LIBRARY(mecab, mecab_new2,
    [
      PHP_EVAL_INCLINE($MECAB_INCLINE)
      PHP_EVAL_LIBLINE($MECAB_LIBLINE, MECAB_SHARED_LIBADD)
    ],[
      AC_MSG_ERROR([wrong MeCab library version or lib not found. Check config.log for more information.])
    ],[
      $MECAB_LIBLINE
    ])

  PHP_SUBST(MECAB_SHARED_LIBADD)
  PHP_NEW_EXTENSION(mecab, mecab.c , $ext_shared)

fi


syntax highlighted by Code2HTML, v. 0.9.1