mirror of
https://github.com/irssi/irssi.git
synced 2024-11-03 04:27:19 -05:00
53b248f6de
and this is what I've been doing a few weeks now.. :) You really shouldn't upgrade to this version without keeping a backup of the working one, since this will break everything and at least notify list is broken - probably something else too. * On the way to 0.8.0 .. Major rewriting/rearranging code. There's some changes in behaviour because I'm trying to make Irssi a bit more compatible with EPIC. * libPropList isn't needed anymore - I'm using my own configuration library. This is mostly because different proplists worked a bit differently everywhere and several people had problems with it. It's also yet another extra library that you needed to compile Irssi. New configuration library has several advantages: You can add comments to configuration file and they also stay there when it's saved. It's not nearly as vulnerable as proplist. If some error occurs, instead of just not reading anything it will try to continue if possible. Also the error messages are written to irssi's text window instead of stdout. It can be managed more easily than proplist - setting/getting the configuration is a lot more easier. * Coding style changes - I'm not using gint, gchar etc. anymore, they're just extra pain when moving code to non-glib projects and syntax hilighting doesn't work by default with most editors ;) Indentation style was also changed to K&R because of some political reasons ;) And I'm already starting to like it.. :) It forces me to split code to different functions more often and the result is that the code gets more readable. And finally I'm also using nst' all over the place. + /EVAL <commands> - Expand all the special variables from string and run it. Commands can be split with ; character. See docs/SPECIAL_VARS for more info. + Aliases are parsed just like /EVAL - arguments are in $0..$9. + Text formats are also parsed like /EVAL, arguments used to be in $1..$9, now they're in $0..$8 so it messes up existing themes.. + /SET [key [value]] - no more the '=' character. Boolean values also need to be changed with ON/OFF/TOGGLE values (not yes/no). Settings aren't saved to disk until you use /SAVE. + /TOGGLE <key> [ON/OFF] - same as /SET <key> TOGGLE git-svn-id: http://svn.irssi.org/repos/irssi/trunk@163 dbcabf3a-b0e7-0310-adc4-f8d773084564
486 lines
11 KiB
Plaintext
486 lines
11 KiB
Plaintext
AC_INIT(src)
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
AM_INIT_AUTOMAKE(irssi, 0.7.28)
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AM_ACLOCAL_INCLUDE(macros)
|
|
|
|
AC_ISC_POSIX
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_STDC_HEADERS
|
|
AC_ARG_PROGRAM
|
|
AM_PROG_LIBTOOL
|
|
|
|
AC_CHECK_HEADERS(string.h stdlib.h unistd.h dirent.h sys/ioctl.h libintl.h)
|
|
|
|
GNOME_INIT
|
|
GNOME_SUPPORT_CHECKS
|
|
|
|
AC_ARG_WITH(socks,
|
|
[ --with-socks Build with socks support],
|
|
if test x$withval = xyes; then
|
|
want_socks=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_socks=no
|
|
else
|
|
want_socks=yes
|
|
fi
|
|
fi,
|
|
want_socks=no)
|
|
|
|
AC_ARG_WITH(mysql,
|
|
[ --with-mysql Build MySQL plugin],
|
|
if test x$withval = xyes; then
|
|
want_mysql=yes
|
|
MYSQL_LIBS="-L/usr/lib/mysql -lmysqlclient"
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_mysql=no
|
|
else
|
|
want_mysql=yes
|
|
MYSQL_LIBS="-L$withval/lib/mysql -lmysqlclient"
|
|
fi
|
|
fi,
|
|
want_mysql=no)
|
|
|
|
AC_ARG_WITH(imlib,
|
|
[ --with-imlib Build with imlib support],
|
|
if test x$withval = xyes; then
|
|
want_imlib=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_imlib=no
|
|
else
|
|
want_imlib=yes
|
|
fi
|
|
fi,
|
|
want_imlib=yes)
|
|
|
|
AC_ARG_WITH(gtk,
|
|
[ --with-gtk Build GTK frontend],
|
|
if test x$withval = xyes; then
|
|
want_gtk=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_gtk=no
|
|
else
|
|
want_gtk=yes
|
|
fi
|
|
fi,
|
|
want_gtk=yes)
|
|
|
|
AC_ARG_WITH(gnome-panel,
|
|
[ --with-gnome-panel Build with gnome panel applet support],
|
|
if test x$withval = xyes; then
|
|
want_gnome_panel=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_gnome_panel=no
|
|
else
|
|
want_gnome_panel=yes
|
|
fi
|
|
fi,
|
|
want_gnome_panel=yes)
|
|
|
|
AC_ARG_WITH(textui,
|
|
[ --with-textui Build text frontend],
|
|
if test x$withval = xyes; then
|
|
want_textui=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_textui=no
|
|
else
|
|
want_textui=yes
|
|
fi
|
|
fi,
|
|
want_textui=yes)
|
|
|
|
AC_ARG_WITH(bot,
|
|
[ --with-bot Build irssi-bot],
|
|
if test x$withval = xyes; then
|
|
want_irssibot=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_irssibot=no
|
|
else
|
|
want_irssibot=yes
|
|
fi
|
|
fi,
|
|
want_irssibot=yes)
|
|
|
|
AC_ARG_WITH(plugins,
|
|
[ --with-plugins Build plugins],
|
|
if test x$withval = xyes; then
|
|
want_plugins=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_plugins=no
|
|
else
|
|
want_plugins=yes
|
|
fi
|
|
fi,
|
|
want_plugins=yes)
|
|
|
|
AC_ARG_ENABLE(perl,
|
|
[ --enable-perl Enable Perl scripting],
|
|
if test x$enableval = xyes; then
|
|
want_perl=yes
|
|
else
|
|
if test "x$enableval" = xno; then
|
|
want_perl=no
|
|
else
|
|
want_perl=yes
|
|
fi
|
|
fi,
|
|
want_perl=yes)
|
|
|
|
AC_ARG_WITH(servertest,
|
|
[ --with-servertest Build servertest],
|
|
if test x$withval = xyes; then
|
|
want_servertest=yes
|
|
else
|
|
if test "x$withval" = xno; then
|
|
want_servertest=no
|
|
else
|
|
want_servertest=yes
|
|
fi
|
|
fi,
|
|
want_servertest=no)
|
|
|
|
AC_ARG_ENABLE(memdebug,
|
|
[ --enable-memdebug Enable memory debugging],
|
|
if test x$enableval = xyes; then
|
|
want_memdebug=yes
|
|
else
|
|
if test "x$enableval" = xno; then
|
|
want_memdebug=no
|
|
else
|
|
want_memdebug=yes
|
|
fi
|
|
fi,
|
|
want_memdebug=no)
|
|
|
|
AC_ARG_ENABLE(ipv6,
|
|
[ --enable-ipv6 Enable IPv6 support],
|
|
if test x$enableval = xyes; then
|
|
want_ipv6=yes
|
|
else
|
|
if test "x$enableval" = xno; then
|
|
want_ipv6=no
|
|
else
|
|
want_ipv6=yes
|
|
fi
|
|
fi,
|
|
want_ipv6=no)
|
|
|
|
AC_ARG_ENABLE(gtk-hebrew,
|
|
[ --enable-gtk-hebrew Enable Hebrew support],
|
|
if test "x$enableval" = xno; then
|
|
want_gtk_hebrew=no
|
|
HEBREW_LIBS=""
|
|
else
|
|
AC_DEFINE(GTK_HEBREW)
|
|
AC_DEFINE_UNQUOTED(GTK_HEBREW_RC, "$enableval")
|
|
HEBREW_LIBS="-lfribidi"
|
|
want_gtk_hebrew=yes
|
|
fi,
|
|
want_gtk_hebrew=no)
|
|
|
|
dnl **
|
|
dnl ** just some generic stuff...
|
|
dnl **
|
|
|
|
AC_CHECK_FUNCS(mkfifo)
|
|
|
|
AC_CHECK_LIB(socket, socket, [
|
|
PROG_LIBS="$PROG_LIBS -lsocket"
|
|
])
|
|
|
|
AC_CHECK_LIB(nsl, inet_addr, [
|
|
PROG_LIBS="$PROG_LIBS -lnsl"
|
|
], -lsocket)
|
|
|
|
dnl * gcc specific options
|
|
if test "x$ac_cv_prog_gcc" = "xyes"; then
|
|
CFLAGS="$CFLAGS -Wall"
|
|
fi
|
|
|
|
dnl * socklen_t - AC_CHECK_TYPE() would be _really_ useful if it only would
|
|
dnl * accept header files where to find the typedef..
|
|
AC_MSG_CHECKING([for socklen_t])
|
|
AC_CACHE_VAL(irssi_cv_type_socklen_t,
|
|
[AC_TRY_COMPILE([
|
|
#include <sys/socket.h>],
|
|
[socklen_t t;],
|
|
irssi_cv_type_socklen_t=yes,
|
|
irssi_cv_type_socklen_t=no,
|
|
)])
|
|
if test $irssi_cv_type_socklen_t = no; then
|
|
AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.)
|
|
fi
|
|
AC_MSG_RESULT($irssi_cv_type_socklen_t)
|
|
|
|
dnl **
|
|
dnl ** check for socks
|
|
dnl **
|
|
|
|
if test "x$want_socks" = "xyes"; then
|
|
AC_CHECK_LIB(socks, connect, [
|
|
PROG_LIBS="$PROG_LIBS -lsocks"
|
|
AC_CHECK_HEADER(socks.h, [
|
|
AC_DEFINE(HAVE_SOCKS_H)
|
|
CFLAGS="$CFLAGS -DSOCKS"
|
|
AC_MSG_RESULT(["socks5 library found, building with it"])
|
|
], [
|
|
AC_MSG_RESULT(["socks4 library found, building with it"])
|
|
CFLAGS="$CFLAGS -Dconnect=Rconnect -Dgetsockname=Rgetsockname -Dgetpeername=Rgetpeername -Dbind=Rbind -Daccept=Raccept -Dlisten=Rlisten -Dselect=Rselect"
|
|
])
|
|
])
|
|
fi
|
|
|
|
dnl **
|
|
dnl ** check for gnome
|
|
dnl **
|
|
|
|
if test "x$want_gnome" = "xyes"; then
|
|
if test "x$GNOME_LIBS" = "x"; then
|
|
want_gnome="no";
|
|
fi
|
|
if test "x$want_gtk" = "xno"; then
|
|
want_gnome="no";
|
|
fi
|
|
fi
|
|
|
|
if test "x$want_gnome" = "xyes"; then
|
|
AC_DEFINE(HAVE_GTK)
|
|
AC_DEFINE(HAVE_GNOME)
|
|
AC_DEFINE(HAVE_IMLIB)
|
|
|
|
GUI_CFLAGS="$GNOME_INCLUDEDIR"
|
|
|
|
dnl **
|
|
dnl ** check for gnome panel applet library
|
|
dnl **
|
|
|
|
if test "x$want_gnome_panel" = "xyes"; then
|
|
AC_CHECK_LIB(panel_applet, applet_widget_init, [
|
|
GUI_LIBS="$GNOME_LIBDIR $GNOMEGNORBA_LIBS -lpanel_applet"
|
|
AC_DEFINE(HAVE_GNOME_PANEL)
|
|
], [
|
|
GUI_LIBS="$GNOME_LIBDIR $GNOMEUI_LIBS"
|
|
want_gnome_panel="no"
|
|
], $GNOME_LIBDIR $GNOMEGNORBA_LIBS -lpanel_applet)
|
|
else
|
|
GUI_LIBS="$GNOME_LIBDIR $GNOMEUI_LIBS"
|
|
fi
|
|
else
|
|
want_gnome_panel="no"
|
|
|
|
if test "x$want_gtk" = "xyes"; then
|
|
AC_DEFINE(HAVE_GTK)
|
|
AM_PATH_GTK(1.2.0)
|
|
else
|
|
GTK_LIBS=
|
|
fi
|
|
|
|
if test "x$GTK_LIBS" != "x"; then
|
|
GUI_CFLAGS="$GTK_CFLAGS"
|
|
GUI_LIBS="$GTK_LIBS"
|
|
|
|
if test "x$want_imlib" = "xyes"; then
|
|
AM_PATH_GDK_IMLIB(, [define_imlib=true])
|
|
if test x$define_imlib = xtrue; then
|
|
AC_DEFINE(HAVE_IMLIB)
|
|
GUI_CFLAGS="$GUI_CFLAGS $GDK_IMLIB_CFLAGS"
|
|
GUI_LIBS="$GDK_IMLIB_LIBS"
|
|
fi
|
|
fi
|
|
GUI_LIBS="$GUI_LIBS ../lib-popt/libpopt.la"
|
|
fi
|
|
fi
|
|
|
|
if test "x$GUI_LIBS" != "x"; then
|
|
GUI_LIBS="$GUI_LIBS $HEBREW_LIBS $PROG_LIBS"
|
|
fi
|
|
|
|
AC_SUBST(GUI_LIBS)
|
|
AC_SUBST(GUI_CFLAGS)
|
|
|
|
|
|
dnl **
|
|
dnl ** gui-text checks
|
|
dnl **
|
|
|
|
AM_PATH_GLIB(1.2.0,,, gmodule)
|
|
|
|
PROG_LIBS="$PROG_LIBS $GLIB_LIBS ../lib-popt/libpopt.la"
|
|
AC_SUBST(PROG_LIBS)
|
|
|
|
dnl **
|
|
dnl ** curses checks
|
|
dnl **
|
|
|
|
if test "x$want_textui" = "xyes"; then
|
|
AC_CHECK_CURSES
|
|
|
|
if test "x$ncurses_version" != "x"; then
|
|
AC_CHECK_LIB(ncurses, use_default_colors, [
|
|
AC_DEFINE(HAVE_NCURSES_USE_DEFAULT_COLORS)
|
|
],, $CURSES_LIBS)
|
|
AC_CHECK_LIB(ncurses, idcok, [
|
|
AC_DEFINE(HAVE_CURSES_IDCOK)
|
|
],, $CURSES_LIBS)
|
|
AC_CHECK_LIB(ncurses, resizeterm, [
|
|
AC_DEFINE(HAVE_CURSES_RESIZETERM)
|
|
],, $CURSES_LIBS)
|
|
else
|
|
AC_CHECK_LIB(curses, idcok, [
|
|
AC_DEFINE(HAVE_CURSES_IDCOK)
|
|
],, $CURSES_LIBS)
|
|
AC_CHECK_LIB(curses, resizeterm, [
|
|
AC_DEFINE(HAVE_CURSES_RESIZETERM)
|
|
],, $CURSES_LIBS)
|
|
fi
|
|
|
|
if test "$has_curses" != "true"; then
|
|
want_textui=no;
|
|
fi
|
|
else
|
|
has_curses=false
|
|
fi
|
|
|
|
AC_PATH_PROG(sedpath, sed)
|
|
if test "$want_perl" = yes; then
|
|
AC_PATH_PROG(perlpath, perl)
|
|
AC_MSG_CHECKING(for Perl compile flags)
|
|
|
|
PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
|
|
if test "x$PERL_CFLAGS" = "x"; then
|
|
AC_MSG_RESULT([not found, building without perl.])
|
|
want_perl=no
|
|
else
|
|
PERL_LDFLAGS=`$perlpath -MExtUtils::Embed -e ldopts |$sedpath 's/-lgdbm //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-ldb //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lndbm //'`
|
|
if test "$system" = "Linux"; then
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lnsl //'`
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lposix //'`
|
|
fi
|
|
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lc //'`
|
|
AC_MSG_RESULT(ok)
|
|
|
|
AC_SUBST(PERL_CFLAGS)
|
|
AC_SUBST(PERL_LDFLAGS)
|
|
AC_DEFINE(HAVE_PERL)
|
|
fi
|
|
|
|
dnl ** building from objdir..
|
|
if test ! -d plugins/perl/xs; then
|
|
mkdir -p plugins/perl/xs
|
|
fi
|
|
fi
|
|
|
|
dnl ** check what we want to build
|
|
AM_CONDITIONAL(BUILD_GNOMEUI, test "x$GUI_LIBS" != "x")
|
|
AM_CONDITIONAL(BUILD_TEXTUI, test "$want_textui" = "yes")
|
|
AM_CONDITIONAL(BUILD_IRSSIBOT, test "$want_irssibot" = "yes")
|
|
AM_CONDITIONAL(BUILD_PLUGINS, test "$want_plugins" = "yes")
|
|
AM_CONDITIONAL(BUILD_SERVERTEST, test "$want_servertest" = "yes")
|
|
AM_CONDITIONAL(HAVE_GNOME, test "$want_gnome" = "yes")
|
|
AM_CONDITIONAL(HAVE_GNOME_PANEL, test "$want_gnome_panel" = "yes")
|
|
AM_CONDITIONAL(HAVE_MYSQL, test "$want_mysql" = "yes")
|
|
AM_CONDITIONAL(HAVE_PERL, test "$want_perl" = "yes")
|
|
|
|
AC_SUBST(MYSQL_LIBS)
|
|
|
|
dnl **
|
|
dnl ** memory debugging
|
|
dnl **
|
|
|
|
if test "x$want_memdebug" = "xyes"; then
|
|
AC_DEFINE(MEM_DEBUG)
|
|
fi
|
|
AM_CONDITIONAL(BUILD_MEMDEBUG, test "x$want_memdebug" = "xyes")
|
|
|
|
dnl **
|
|
dnl ** IPv6 support
|
|
dnl **
|
|
|
|
if test "x$want_ipv6" = "xyes"; then
|
|
AC_DEFINE(HAVE_IPV6)
|
|
fi
|
|
|
|
dnl **
|
|
dnl ** internationalization support
|
|
dnl **
|
|
|
|
ALL_LINGUAS="pl fi pt_BR fr de"
|
|
AM_GNU_GETTEXT
|
|
|
|
AC_OUTPUT(
|
|
Makefile
|
|
po/Makefile.in
|
|
intl/Makefile
|
|
macros/Makefile
|
|
src/Makefile
|
|
src/irc-base/Makefile
|
|
src/irc-extra/Makefile
|
|
src/ui-common/Makefile
|
|
src/gui-none/Makefile
|
|
src/gui-text/Makefile
|
|
src/gui-gnome/Makefile
|
|
src/gui-gnome/help/Makefile
|
|
src/gui-gnome/help/C/Makefile
|
|
src/gui-gnome/pixmaps/Makefile
|
|
src/lib-config/Makefile
|
|
src/lib-popt/Makefile
|
|
src/settings/Makefile
|
|
servertest/Makefile
|
|
scripts/Makefile
|
|
docs/Makefile
|
|
docs/help/Makefile
|
|
plugins/Makefile
|
|
plugins/sample/Makefile
|
|
plugins/speech/Makefile
|
|
plugins/sound/Makefile
|
|
plugins/proxy/Makefile
|
|
plugins/external/Makefile
|
|
plugins/bot/Makefile
|
|
plugins/sql/Makefile
|
|
plugins/perl/xs/Makefile.PL
|
|
plugins/perl/Makefile
|
|
stamp.h
|
|
irssi.spec)
|
|
|
|
dnl ** for building from objdir
|
|
if test "x$want_perl" = "xyes"; then
|
|
old_dir=`pwd` && cd $srcdir && whole_dir=`pwd` && cd $old_dir
|
|
|
|
if test "x$old_dir" != "x$whole_dir"; then
|
|
ln -sf $whole_dir/plugins/perl/xs/typemap plugins/perl/xs/typemap
|
|
ln -sf $whole_dir/plugins/perl/xs/Irssi.xs plugins/perl/xs/Irssi.xs
|
|
ln -sf $whole_dir/plugins/perl/xs/Irssi.pm plugins/perl/xs/Irssi.pm
|
|
fi
|
|
fi
|
|
|
|
echo
|
|
|
|
if test "x$GUI_LIBS" != "x"; then
|
|
echo Building GTK frontend ...... : yes
|
|
else
|
|
echo Building GTK frontend ...... : no
|
|
fi
|
|
echo Building with GNOME ........ : $want_gnome
|
|
echo Building with GNOME panel .. : $want_gnome_panel
|
|
|
|
echo Building text frontend ..... : $want_textui
|
|
echo Building irssi-bot ......... : $want_irssibot
|
|
echo Building with IPv6 support . : $want_ipv6
|
|
echo Building with Perl support . : $want_perl
|
|
echo Install prefix ............. : $prefix
|
|
|