AC_PROG_EGREP
AC_PROG_SED
- AC_MSG_CHECKING([for libircclient/libircclient.h])
+ 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])
- IRCCLIENT_DIR=$d
+ 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
break
fi
done
- if test "x$IRCCLIENT_DIR" = "x"; then
+ if test "x$IRCCLIENT_INCDIR" = "x"; then
AC_MSG_ERROR([not found])
fi
- if test -f "$IRCCLIENT_DIR/include/libircclient/libirc_params.h"; then
- PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH=`$EGREP "define LIBIRC_VERSION_HIGH" $IRCCLIENT_DIR/include/libircclient/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'`
- PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW=`$EGREP "define LIBIRC_VERSION_LOW" $IRCCLIENT_DIR/include/libircclient/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'`
+ if test -f "$IRCCLIENT_INCDIR/libirc_params.h"; then
+ PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH=`$EGREP "define LIBIRC_VERSION_HIGH" $IRCCLIENT_INCDIR/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'`
+ PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW=`$EGREP "define LIBIRC_VERSION_LOW" $IRCCLIENT_INCDIR/libirc_params.h | $SED -e 's/[[^0-9\x]]//g'`
else
PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH=0
PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW=0
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 <libircclient/libircclient.h>]
+ [#include <libircclient.h>]
])
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])
#include <main/php_network.h>
#include <ext/standard/php_string.h>
#include <ext/standard/info.h>
+#include <ext/standard/basic_functions.h>
#include <Zend/zend.h>
#include <Zend/zend_constants.h>
#include <errno.h>
#include <ctype.h>
-#include <libircclient/libircclient.h>
+#include <libircclient.h>
PHP_FUNCTION(parse_origin)
{
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "bs|ls!", &ip6, &server_str, &server_len, &port, &passwd_str, &passwd_len)) {
php_ircclient_session_object_t *obj = zend_object_store_get_object(getThis() TSRMLS_CC);
char *nick = NULL, *user = NULL, *real = NULL;
- zval *znick, *zuser, *zreal, *tmp;
+ zval *znick, *zuser, *zreal;
znick = zend_read_property(php_ircclient_session_class_entry, getThis(), ZEND_STRL("nick"), 0 TSRMLS_CC);
SEPARATE_ARG_IF_REF(znick);
irc_get_version(&high, &low);
spprintf(&version[1], 0, "%u.%u", high, low);
+#if PHP_IPHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH
spprintf(&version[0], 0, "%u.%u", PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_HIGH, PHP_IRCCLIENT_LIBIRCCLIENT_VERSION_LOW);
-
+#else
+ /* version <= 1.6 doesn't exposed its version */
+ spprintf(&version[0], 0, "-");
+#endif
php_info_print_table_start();
php_info_print_table_header(2, "IRC client support", "enabled");
php_info_print_table_row(2, "Version", PHP_IRCCLIENT_VERSION);