1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
irssi/configure.in

510 lines
12 KiB
Plaintext
Raw Normal View History

AC_INIT(src)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(irssi, 0.7.90)
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 fcntl)
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 ** fe-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 ** Keep all the libraries here so each frontend doesn't need to
dnl ** keep track of them all
dnl **
CORE_LIBS="../core/libcore.la ../lib-config/libirssi_config.la"
IRC_LIBS="../irc/libirc.la ../irc/core/libirc_core.la ../irc/dcc/libirc_dcc.la ../irc/flood/libirc_flood.la ../irc/notifylist/libirc_notifylist.la"
FE_COMMON_LIBS="../fe-common/core/libfe_common_core.la ../fe-common/irc/libfe_common_irc.la ../fe-common/irc/notifylist/libfe_common_irc_notifylist.la ../fe-common/irc/dcc/libfe_common_irc_dcc.la ../fe-common/irc/flood/libfe_common_irc_flood.la"
AC_SUBST(CORE_LIBS)
AC_SUBST(IRC_LIBS)
AC_SUBST(FE_COMMON_LIBS)
dnl ** common libraries needed by frontends
COMMON_LIBS="$FE_COMMON_LIBS $IRC_LIBS $CORE_LIBS"
AC_SUBST(COMMON_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/core/Makefile
src/irc/Makefile
src/irc/core/Makefile
src/irc/dcc/Makefile
src/irc/notifylist/Makefile
src/irc/flood/Makefile
src/fe-common/Makefile
src/fe-common/core/Makefile
src/fe-common/irc/Makefile
src/fe-common/irc/dcc/Makefile
src/fe-common/irc/flood/Makefile
src/fe-common/irc/notifylist/Makefile
src/fe-none/Makefile
src/fe-text/Makefile
src/fe-gnome/Makefile
src/fe-gnome/help/Makefile
src/fe-gnome/help/C/Makefile
src/fe-gnome/pixmaps/Makefile
src/lib-config/Makefile
src/lib-popt/Makefile
src/perl/Makefile
src/perl/xs/Makefile.PL
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
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