mirror of
https://github.com/irssi/irssi.git
synced 2024-09-01 04:14:16 -04:00
.98 final out
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1294 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
456836e49c
commit
0241970306
60
TODO
60
TODO
@ -99,21 +99,21 @@
|
||||
so server won't split it when it adds your nick+host mask)
|
||||
|
||||
- server connecting:
|
||||
- Don't try to restore user modes set by server automatically when
|
||||
reconnecting to another server. Like when server sets +r mode to you
|
||||
you won't get rid of it until you /disconnect.
|
||||
- DNS problems may cause removal of i-line, irssi shouldn't stop
|
||||
trying to reconnect the server if it happens.. Maybe it never should
|
||||
stop reconnecting to servers that are in config.
|
||||
- /RECONNECT <servertag> - If <servertag> belongs to some IRC network,
|
||||
reconnect to next server in that ircnet, otherwise just reconnect
|
||||
to the server.
|
||||
- /SERVER <number> would connect to n'th server in list. Show the
|
||||
numbers with /SERVER LIST
|
||||
- /CONNECT <ircnet> could remove existing ircnet connection from
|
||||
reconnect queue if it exists (only if there's only one?). Also if
|
||||
we're already connected to the ircnet it could complain about it
|
||||
and -yes would force it.
|
||||
- Don't try to restore user modes set by server automatically when
|
||||
reconnecting to another server. Like when server sets +r mode to you
|
||||
you won't get rid of it until you /disconnect.
|
||||
- DNS problems may cause removal of i-line, irssi shouldn't stop
|
||||
trying to reconnect the server if it happens.. Maybe it never should
|
||||
stop reconnecting to servers that are in config.
|
||||
- /RECONNECT <servertag> - If <servertag> belongs to some IRC network,
|
||||
reconnect to next server in that ircnet, otherwise just reconnect
|
||||
to the server.
|
||||
- /SERVER <number> would connect to n'th server in list. Show the
|
||||
numbers with /SERVER LIST
|
||||
- /CONNECT <ircnet> could remove existing ircnet connection from
|
||||
reconnect queue if it exists (only if there's only one?). Also if
|
||||
we're already connected to the ircnet it could complain about it
|
||||
and -yes would force it.
|
||||
|
||||
- Tab completion:
|
||||
- Complete aliases
|
||||
@ -142,21 +142,21 @@
|
||||
- Try to make them create only .so files instead of .a and all..
|
||||
|
||||
- perl scripting:
|
||||
- /SCRIPT for listing scripts, /SCRIPT REMOVE <name>|ALL,
|
||||
/SCRIPT PERL RELOAD == ex. /PERLFLUSH
|
||||
- /PERL command - how does signal_add() work with it? probably not well.
|
||||
How to remove those scripts? etc. /SCRIPT could show them as some
|
||||
anonymous scripts, maybe list the whole script in the line..
|
||||
- Possibility to modify entry line somehow
|
||||
- Possibility to use "complete word" signal, needs GSList** handling
|
||||
- Add structures: CHATNET_REC, MODULE_REC, THEME_REC, KEYINFO_REC,
|
||||
CHAT_PROTOCOL_REC
|
||||
- signal_emit() - if emitting unknown signal, it could automatically
|
||||
save the types of sent parameters so another perl script could
|
||||
signal_add() it.
|
||||
- Perl module and the Irssi and Irssi::Irc libraries could have some
|
||||
version checks so that if they don't match it would complain.
|
||||
- Dependencies don't work with .xs files..
|
||||
- /SCRIPT for listing scripts, /SCRIPT REMOVE <name>|ALL,
|
||||
/SCRIPT PERL RELOAD == ex. /PERLFLUSH
|
||||
- /PERL command - how does signal_add() work with it? probably not well.
|
||||
How to remove those scripts? etc. /SCRIPT could show them as some
|
||||
anonymous scripts, maybe list the whole script in the line..
|
||||
- Possibility to modify entry line somehow
|
||||
- Possibility to use "complete word" signal, needs GSList** handling
|
||||
- Add structures: CHATNET_REC, MODULE_REC, THEME_REC, KEYINFO_REC,
|
||||
CHAT_PROTOCOL_REC
|
||||
- signal_emit() - if emitting unknown signal, it could automatically
|
||||
save the types of sent parameters so another perl script could
|
||||
signal_add() it.
|
||||
- Perl module and the Irssi and Irssi::Irc libraries could have some
|
||||
version checks so that if they don't match it would complain.
|
||||
- Dependencies don't work with .xs files..
|
||||
|
||||
- Bigger code changes:
|
||||
- Restructure code tree so that non-IRC chat protocols would be in
|
||||
|
164
configure.in
164
configure.in
@ -234,43 +234,54 @@ dnl ** fe-text checks
|
||||
dnl **
|
||||
|
||||
AC_PATH_PROG(sedpath, sed)
|
||||
AC_MSG_CHECKING([whether GLib is unpacked to irssi dir])
|
||||
|
||||
GLIB_DIR=`for d in *; do test -f $d/glib.h && echo $d; done`
|
||||
if test "x$GLIB_DIR" != "x"; then
|
||||
dnl glib in irssi directory, use it
|
||||
AC_MSG_RESULT([yes, using it])
|
||||
AC_DEFUN(AC_CHECK_GLIBDIR,[
|
||||
AC_MSG_CHECKING([whether GLib is unpacked to irssi dir])
|
||||
|
||||
dnl * we have to do this at this point so we know what libs gmodule needs
|
||||
echo
|
||||
echo "configuring GLib ..."
|
||||
echo
|
||||
cd $GLIB_DIR
|
||||
./configure
|
||||
cd ..
|
||||
echo
|
||||
GLIB_DIR=`for d in *; do test -f $d/glib.h && echo $d; done`
|
||||
if test "x$GLIB_DIR" != "x"; then
|
||||
dnl * glib in irssi directory, use it
|
||||
AC_MSG_RESULT([yes, using it])
|
||||
|
||||
GLIB_LDEXTRA=`$GLIB_DIR/glib-config --libs gmodule|sed -e 's/-lglib//' -e 's/-lgmodule//' -e 's,-L/usr/local/lib ,,'|sed 's/ \+/ /g'`
|
||||
full_glib_dir="`pwd`/$GLIB_DIR"
|
||||
GLIB_CFLAGS="-I$full_glib_dir -I$full_glib_dir/gmodule"
|
||||
if test -f $full_glib_dir/.libs/libglib.a; then
|
||||
GLIB_LIBS="$full_glib_dir/.libs/libglib.a $GLIB_LDEXTRA"
|
||||
if test -f $full_glib_dir/gmodule/.libs/libgmodule.a; then
|
||||
GLIB_LIBS="$GLIB_LIBS $full_glib_dir/gmodule/.libs/libgmodule.a"
|
||||
dnl * we have to do this at this point so we know what libs gmodule needs
|
||||
if test ! -f $GLIB_DIR/.libs/libglib.a; then
|
||||
echo
|
||||
echo "configuring GLib ..."
|
||||
echo
|
||||
cd $GLIB_DIR
|
||||
if test ! -f glib-config; then
|
||||
./configure
|
||||
fi
|
||||
${MAKE-make}
|
||||
cd ..
|
||||
echo
|
||||
fi
|
||||
elif test -f $full_glib_dir/libglib.a; then
|
||||
GLIB_LIBS="$full_glib_dir/libglib.a $GLIB_LDEXTRA"
|
||||
if test -f $full_glib_dir/gmodule/libgmodule.a; then
|
||||
GLIB_LIBS="$GLIB_LIBS $full_glib_dir/gmodule/libgmodule.a"
|
||||
|
||||
GLIB_LDEXTRA=`$GLIB_DIR/glib-config --libs gmodule|$sedpath -e 's/-lglib//' -e 's/-lgmodule//' -e 's,-L/usr/local/lib ,,'|$sedpath 's/ \+/ /g'`
|
||||
full_glib_dir="`pwd`/$GLIB_DIR"
|
||||
GLIB_CFLAGS="-I$full_glib_dir -I$full_glib_dir/gmodule"
|
||||
if test -f $full_glib_dir/.libs/libglib.a; then
|
||||
GLIB_LIBS="$full_glib_dir/.libs/libglib.a $GLIB_LDEXTRA"
|
||||
if test -f $full_glib_dir/gmodule/.libs/libgmodule.a; then
|
||||
GLIB_LIBS="$GLIB_LIBS $full_glib_dir/gmodule/.libs/libgmodule.a"
|
||||
fi
|
||||
else
|
||||
GLIB_LIBS="$full_glib_dir/libglib.a $GLIB_LDEXTRA"
|
||||
if test -f $full_glib_dir/gmodule/libgmodule.a; then
|
||||
GLIB_LIBS="$GLIB_LIBS $full_glib_dir/gmodule/libgmodule.a"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(GLIB_DIR)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
else
|
||||
AC_ERROR([GLIB was not compiled properly, libglib.a not found])
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AC_SUBST(GLIB_DIR)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
|
||||
AC_CHECK_GLIBDIR
|
||||
|
||||
if test "x$GLIB_DIR" = "x"; then
|
||||
AM_PATH_GLIB(1.2.0,,, gmodule)
|
||||
if test "x$GLIB_LIBS" = "x"; then
|
||||
echo "*** trying without -lgmodule"
|
||||
@ -279,13 +290,43 @@ else
|
||||
else
|
||||
AC_DEFINE(HAVE_GMODULE)
|
||||
fi
|
||||
|
||||
if test "x$GLIB_LIBS" = "x"; then
|
||||
echo
|
||||
echo "*** If you don't have GLIB, you can get it from ftp://ftp.gtk.org"
|
||||
echo "*** If you can't install GLIB anywhere or if you don't want to,"
|
||||
echo "*** you can just unpack it to Irssi's source directory and"
|
||||
echo "*** Irssi will automatically compile and use it."
|
||||
AC_ERROR([GLIB is required to build irssi.])
|
||||
echo
|
||||
echo "*** If you don't have GLIB, you can get it from ftp://ftp.gtk.org"
|
||||
echo "*** If you can't install GLIB anywhere or if you don't want to,"
|
||||
echo "*** you can just unpack it to Irssi's source directory and"
|
||||
echo "*** Irssi will automatically compile and use it."
|
||||
echo
|
||||
|
||||
dnl * I think it's pretty safe to assume GLib 1.2.8 since the next
|
||||
dnl * will be 2.0 (or 1.4?) and it's not sure if irssi compiles
|
||||
dnl * with it
|
||||
glib_file=glib-1.2.8.tar.gz
|
||||
|
||||
dlcmd=
|
||||
if test -f "`which ncftpget`"; then
|
||||
dlcmd="ncftpget ftp://ftp.gtk.org/pub/gtk/v1.2/$glib_file"
|
||||
fi
|
||||
if test -f "`which wget`"; then
|
||||
dlcmd="wget http://irssi.org/files/$glib_file"
|
||||
fi
|
||||
if test "x$dlcmd" != "x"; then
|
||||
echo "*** I can download GLib for you now. If you don't want to, press CTRL-C now."
|
||||
read answer
|
||||
eval $dlcmd
|
||||
if `gunzip $glib_file`; then
|
||||
glib_file=`echo $glib_file|$sedpath s/\.gz$//`
|
||||
if `tar xf $glib_file`; then
|
||||
rm -f $glib_file
|
||||
AC_CHECK_GLIBDIR
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$GLIB_LIBS" = "x"; then
|
||||
AC_ERROR([GLIB is required to build irssi.])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -316,24 +357,22 @@ if test ! -s .libs/libconftest.a; then
|
||||
fi
|
||||
|
||||
dnl ** check if dynamic linking worked
|
||||
if test ! -s .libs/libconftest.so -a -s .libs/libconftest.so.0.0; then
|
||||
mv .libs/libconftest.so.0.0 .libs/libconftest.so
|
||||
fi
|
||||
if test ! -s .libs/libconftest.so; then
|
||||
libfile=`grep ^library_names libconftest.la|$sedpath "s/library_names='\(.*\)'.*/\1/"|$sedpath 's/.* \([[^ ]]*\)$/\1/'`
|
||||
if test ! -s .libs/$libfile; then
|
||||
AC_MSG_RESULT([no, error linking test module])
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
#include <gmodule.h>
|
||||
main() {
|
||||
GModule *m; int (*modfunc)(void);
|
||||
m = g_module_open(".libs/libconftest.so", 0);
|
||||
m = g_module_open(".libs/$libfile", 0);
|
||||
if (!m) g_print("error loading: %s", g_module_error());
|
||||
else if (!g_module_symbol(m, "modfunc", (gpointer *) &modfunc))
|
||||
g_print("modfunc() symbol not found from module");
|
||||
else if (modfunc() == 1) g_print("ok"); else g_print("wrong result?! 1 vs %d", modfunc());
|
||||
return 0; }
|
||||
EOF
|
||||
$CC $CFLAGS conftest.c -o conftest `$GLIB_CONFIG --cflags --libs gmodule` 2> /dev/null > /dev/null
|
||||
$CC $CFLAGS conftest.c -o conftest $GLIB_CFLAGS $GLIB_LIBS 2> /dev/null > /dev/null
|
||||
if test ! -s conftest; then
|
||||
AC_MSG_RESULT([no, error compiling test program])
|
||||
else
|
||||
@ -438,27 +477,31 @@ if test "$want_perl" != "no"; then
|
||||
fi
|
||||
|
||||
dnl * remove all database stuffs
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-ldb\( \|$\)//'`
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-ldbm\( \|$\)//'`
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lndbm\( \|$\)//'`
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lgdbm\( \|$\)//'`
|
||||
dnl * nsl is already in ldflags
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lnsl\( \|$\)//'`
|
||||
dnl * libc is of course linked without needing -lc
|
||||
dnl * -rdynamic must not be in LIBADD line
|
||||
for word in -ldb -ldbm -lndbm -lgdbm -lnsl -lc -rdynamic; do
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e "s/$word //" -e "s/$word$//"`
|
||||
done
|
||||
|
||||
dnl * linux specific ..
|
||||
if echo $host_os | grep linux > /dev/null; then
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lposix\( \|$\)//'`
|
||||
fi
|
||||
|
||||
dnl * libc is of course in list already
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lc\( \|$\)//'`
|
||||
dnl * must not be in LIBADD line
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-rdynamic\( \|$\)//'`
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e 's/-lposix //' -e 's/-lposix$//'`
|
||||
;;
|
||||
hpux*)
|
||||
if test "x$ac_cv_prog_gcc" = "xyes"; then
|
||||
PERL_CFLAGS=`echo $PERL_CFLAGS | $sedpath -e 's/-Ae //' -e 's/-Ae$//'`
|
||||
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e 's/-Ae //' -e 's/-Ae$//'`
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl * check that perl's ldflags actually work
|
||||
AC_CACHE_VAL(irssi_cv_lib_perl_works, [
|
||||
echo "main(){return 0;}" > conftest.c
|
||||
$CC $CFLAGS $LDFLAGS $PERL_LDFLAGS conftest.c -o conftest 2> /dev/null > /dev/null
|
||||
echo "main(){perl_alloc(); return 0;}" > conftest.c
|
||||
$CC $CFLAGS conftest.c -o conftest $LDFLAGS $PERL_LDFLAGS 2> /dev/null > /dev/null
|
||||
if test -s conftest; then
|
||||
irssi_cv_lib_perl_works=yes
|
||||
else
|
||||
@ -686,7 +729,7 @@ if test "x$want_perl" != "xno"; then
|
||||
|
||||
if test "x$old_dir" != "x$whole_dir"; then
|
||||
for file in $whole_dir/src/perl/*.[[ch]] $whole_dir/src/perl/libperl_orig.la $whole_dir/src/perl/libperl_dynaloader.la $whole_dir/src/perl/common/typemap $whole_dir/src/perl/common/module.h $whole_dir/src/perl/common/*.xs $whole_dir/src/perl/irc/typemap $whole_dir/src/perl/irc/module.h $whole_dir/src/perl/irc/*.xs; do
|
||||
link=`echo $file|sed "s?$whole_dir/??"`
|
||||
link=`echo $file|$sedpath "s?$whole_dir/??"`
|
||||
rm -f $link
|
||||
$LN_S $file $link
|
||||
done
|
||||
@ -706,6 +749,7 @@ fi
|
||||
echo "Building irssi bot ......... : $want_irssibot"
|
||||
echo "Building irssi proxy ....... : $want_irssiproxy"
|
||||
echo "Building with IPv6 support . : $want_ipv6"
|
||||
|
||||
if test "x$want_perl" = "xstatic"; then
|
||||
echo "Building with Perl support . : static (in irssi binary)"
|
||||
elif test "x$want_perl" = "xyes"; then
|
||||
@ -719,7 +763,7 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$perl_mod_error" != "x"; then
|
||||
if test "x$want_perl" != "xno" -a "x$perl_mod_error" != "x"; then
|
||||
echo " - NOTE: Perl support will be compiled statically to irssi, not as"
|
||||
echo " a module as requested. Reason:"
|
||||
echo " $perl_mod_error"
|
||||
|
Loading…
Reference in New Issue
Block a user