X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-ircclient;a=blobdiff_plain;f=config.m4;h=9b8d3f6b0654c461c9558e04a25a01550879c87c;hp=e102e14348f6ea2e855ee99a1308ee52e0ae240b;hb=HEAD;hpb=9679c73d557c8d4462a2867d97ae07aa72bd9dc3 diff --git a/config.m4 b/config.m4 index e102e14..9b8d3f6 100644 --- a/config.m4 +++ b/config.m4 @@ -2,27 +2,54 @@ PHP_ARG_WITH(ircclient, for ircclient support, [ --with-ircclient[=LIBIRCCLIENTDIR] Include ircclient support]) if test "$PHP_IRCCLIENT" != "no"; then - AC_MSG_CHECKING([for libircclient/libircclient.h]) + AC_PATH_PROG(GREP, grep, no) + AC_PATH_PROG(SED, sed, no) + + AC_MSG_CHECKING([for libircclient.h]) for d in $PHP_IRCCLIENT /usr /usr/local /opt; do - if test -f $d/include/libircclient/libircclient.h; then + if test -f $d/include/libircclient.h; then + IRCCLIENT_INCDIR=$d/include + IRCCLIENT_LIBDIR=$d/$PHP_LIBDIR + AC_MSG_RESULT([found in $d]) + break + elif test -f $d/include/libircclient/libircclient.h; then + AC_MSG_RESULT([found in $d]) + IRCCLIENT_INCDIR=$d/include/libircclient + IRCCLIENT_LIBDIR=$d/$PHP_LIBDIR AC_MSG_RESULT([found in $d]) - IRCCLIENT_DIR=$d break fi done - if test "x$IRCCLIENT_DIR" = "x"; then + if test "x$IRCCLIENT_INCDIR" = "x"; then AC_MSG_ERROR([not found]) fi + AC_MSG_CHECKING([libircclient version]) + if test -x $GREP && test -x $SED && test -f "$IRCCLIENT_INCDIR/libirc_params.h"; then + PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH=`$GREP "define LIBIRC_VERSION_HIGH" $IRCCLIENT_INCDIR/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'` + PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW=`$GREP "define LIBIRC_VERSION_LOW" $IRCCLIENT_INCDIR/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'` + AC_MSG_RESULT([$PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH $PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW]) + else + PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH=0 + PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW=0 + AC_MSG_RESULT([unkown]) + fi + AC_DEFINE_UNQUOTED([PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH], [$PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH], [ ]) + AC_DEFINE_UNQUOTED([PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW], [$PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW], [ ]) - PHP_ADD_INCLUDE($IRCCLIENT_DIR/include) + PHP_ADD_INCLUDE($IRCCLIENT_INCDIR) + AC_CHECK_MEMBER([irc_callbacks_t.event_channel_notice], [ + AC_DEFINE(HAVE_LIBIRCCLIENT_EVENT_CHANNEL_NOTICE, 1, [ ]) + ], [], [ + [#include ] + ]) PHP_CHECK_LIBRARY(ircclient, irc_create_session, [ - PHP_ADD_LIBRARY_WITH_PATH(ircclient, $IRCCLIENT_DIR/lib, IRCCLIENT_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH(ircclient, $IRCCLIENT_LIBDIR, IRCCLIENT_SHARED_LIBADD) AC_DEFINE(HAVE_LIBIRCCLIENT,1,[ ]) ],[ AC_MSG_ERROR([libircclient not found]) ],[ - -L$IRCCLIENT_DIR/lib -lm + -L$IRCCLIENT_LIBDIR -lm ]) PHP_SUBST([IRCCLIENT_SHARED_LIBADD]) PHP_NEW_EXTENSION([ircclient], [php_ircclient.c], [$ext_shared])