1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
irssi/configure.in
Timo Sirainen 53b248f6de Sorry for a big update - I still don't have internet connection at home
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
2000-04-14 11:27:14 +00:00

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