[cvslog] Module eggdrop1.7: Change committed

cvslog cvs at tsss.org
Tue Oct 9 20:21:01 CST 2001


CVSROOT    : /usr/local/cvsroot
Module     : eggdrop1.7
Commit time: 2001-10-10 01:20:24 UTC
Commited by: Federico Mennite <ite at techmonkeys.org>

Modified files:
     .cvsignore acconfig.h bootstrap configure.in po/ChangeLog
     po/eggdrop.pot scripts/.cvsignore src/.cvsignore src/eggdrop.h
     src/modules.c src/adns/.cvsignore src/compat/.cvsignore
     src/compat/inet_aton.c src/compat/memcpy.c src/compat/memset.c
     src/compat/snprintf.c src/compat/strcasecmp.c
     src/egglib/.cvsignore src/md5/.cvsignore src/mod/.cvsignore
     src/mod/module.h src/mod/modvals.h src/mod/assoc.mod/assoc.c
     src/mod/blowfish.mod/blowfish.c src/mod/channels.mod/channels.c
     src/mod/compress.mod/.cvsignore src/mod/compress.mod/compress.c
     src/mod/console.mod/console.c src/mod/ctcp.mod/ctcp.c
     src/mod/filesys.mod/filesys.c src/mod/filesys.mod/filesys.h
     src/mod/irc.mod/irc.c src/mod/notes.mod/notes.c
     src/mod/server.mod/server.c src/mod/share.mod/share.c
     src/mod/transfer.mod/transfer.c src/mod/uptime.mod/uptime.c
     src/mod/woobie.mod/woobie.c

Added files:
     ABOUT-NLS AUTHORS Makefile.am acinclude.m4 codeset.m4
     config.guess config.sub gettext.m4 glibc21.m4 iconv.m4
     isc-posix.m4 lcmessage.m4 progtest.m4 intl/ChangeLog
     intl/Makefile.in intl/VERSION intl/bindtextdom.c
     intl/config.charset intl/dcgettext.c intl/dcigettext.c
     intl/dcngettext.c intl/dgettext.c intl/dngettext.c
     intl/explodename.c intl/finddomain.c intl/gettext.c
     intl/gettext.h intl/gettextP.h intl/hash-string.h
     intl/intl-compat.c intl/l10nflist.c intl/libgettext.h
     intl/libgnuintl.h intl/loadinfo.h intl/loadmsgcat.c
     intl/localcharset.c intl/locale.alias intl/localealias.c
     intl/ngettext.c intl/plural.c intl/plural.y intl/ref-add.sin
     intl/ref-del.sin intl/textdomain.c po/Makefile.in.in
     scripts/Makefile.am src/Makefile.am src/adns/Makefile.am
     src/compat/Makefile.am src/egglib/Makefile.am src/md5/Makefile.am
     src/mod/Makefile.am src/mod/assoc.mod/.cvsignore
     src/mod/assoc.mod/Makefile.am src/mod/blowfish.mod/.cvsignore
     src/mod/blowfish.mod/Makefile.am src/mod/channels.mod/.cvsignore
     src/mod/channels.mod/Makefile.am src/mod/compress.mod/Makefile.am
     src/mod/console.mod/.cvsignore src/mod/console.mod/Makefile.am
     src/mod/ctcp.mod/.cvsignore src/mod/ctcp.mod/Makefile.am
     src/mod/filesys.mod/.cvsignore src/mod/filesys.mod/Makefile.am
     src/mod/irc.mod/.cvsignore src/mod/irc.mod/Makefile.am
     src/mod/notes.mod/.cvsignore src/mod/notes.mod/Makefile.am
     src/mod/server.mod/.cvsignore src/mod/server.mod/Makefile.am
     src/mod/share.mod/.cvsignore src/mod/share.mod/Makefile.am
     src/mod/transfer.mod/.cvsignore src/mod/transfer.mod/Makefile.am
     src/mod/uptime.mod/.cvsignore src/mod/uptime.mod/Makefile.am
     src/mod/woobie.mod/.cvsignore src/mod/woobie.mod/Makefile.am

Removed files:
     Makefile.in aclocal.m4 disabled_modules doc/AUTHORS
     misc/config.guess misc/config.sub misc/install-sh
     misc/mkinstalldirs misc/modconfig scripts/Makefile.in
     src/Makefile.in src/adns/Makefile.in src/adns/adns.make
     src/compat/Makefile.in src/md5/Makefile.in src/mod/Makefile.in
     src/mod/eggautoconf src/mod/eggmod.m4 src/mod/eggmod.sh
     src/mod/assoc.mod/Makefile src/mod/blowfish.mod/Makefile
     src/mod/channels.mod/Makefile src/mod/compress.mod/Makefile.in
     src/mod/compress.mod/configure.in src/mod/console.mod/Makefile
     src/mod/ctcp.mod/Makefile src/mod/filesys.mod/Makefile
     src/mod/irc.mod/Makefile src/mod/notes.mod/Makefile
     src/mod/server.mod/Makefile src/mod/share.mod/Makefile
     src/mod/transfer.mod/Makefile src/mod/uptime.mod/Makefile
     src/mod/woobie.mod/Makefile

Log message:

* Refactored the tree (especially src/modules.c) to use the libltdl
  wrapper. Modules are configured to be lt_dlopened or dl_preopened (if
  the system doesn't support shared libraries).
* Should compile modules on more SunOs environments and on Beos too.
* Libtoolized the package: modules and internal libraries build system
  more protable than ever.
* Wiped out old makefiles in favour of automake and Makefile.am's
  files.
* Misc cleanups.
* Updated bootstrap script
* Moved doc/AUTHORS to ./AUTHORS
* Updated config.guess and config.sub
* Changed misc/ to ./ temporairly
* Got rid of misc/modconfig, and more in general of the old module
  configuration stuff, in favor of an incoming ./configure parametrized
  choice.
* Moved configure macros from aclocal.m4 to acinclude.m4 since aclocal.m4
  is now generated by aclocal on bootstrap.
* Removed no more necessary macros like EGG_EXEEXT because of
  libltdl+automake power ;P
* Removed EGG_CHECK_LIBSAFE_SSCANF macro that wasn't necessary anymore
  after gettext support.
* Added preliminary EGG_DEBUG_OPTIONS macro.
* Heavily stripped EGG_CHECK_OS macro and got rid of some system
  specific defines that were dead because of libltdl.
* Updated .cvsignore files.
* Improved make dist target.
* make static is gone in favor of ./configure --disable-shared.
* make debug is gone in favor of future ./configure --with-debug
  options.
* Others targets are gone in favor of more GNU standard targets.
* Updated po/eggdrop.pot.
# Egglib is now compiled and linked in the core.
* Moved compress.mod's specific configure macros to the top configure script.
* Switched to gettext 0.10.40 and pre-gettextized the devel tree.

---------------------- diff included ----------------------
Index: eggdrop1.7/.cvsignore
diff -u eggdrop1.7/.cvsignore:1.4 eggdrop1.7/.cvsignore:1.5
--- eggdrop1.7/.cvsignore:1.4	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/.cvsignore	Tue Oct  9 20:20:08 2001
@@ -1,15 +1,26 @@
 ABOUT-NLS
 ChangeLog
+ltmain.sh
+depcomp
+mkinstalldirs
+install-sh
+missing
 config.cache
 config.h
 config.h.in
 config.log
 config.status
 configure
-intl
+libltdl
 Makefile
+Makefile.in
 eggdrop
 lush.h
+stamp-h
+stamp-h1
+stamp-h.in
+aclocal.m4
+libtool
 EGGMOD.stamp
 .known_modules
 .modules
Index: eggdrop1.7/ABOUT-NLS
diff -u /dev/null eggdrop1.7/ABOUT-NLS:1.1
--- /dev/null	Tue Oct  9 20:20:24 2001
+++ eggdrop1.7/ABOUT-NLS	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,324 @@
+Notes on the Free Translation Project
+*************************************
+
+   Free software is going international!  The Free Translation Project
+is a way to get maintainers of free software, translators, and users all
+together, so that will gradually become able to speak many languages.
+A few packages already provide translations for their messages.
+
+   If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site.  But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+   Installers will find here some useful hints.  These notes also
+explain how users should proceed for getting the programs to use the
+available translations.  They tell how people wanting to contribute and
+work at translations should contact the appropriate team.
+
+   When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used.  The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+Quick configuration advice
+==========================
+
+   If you want to exploit the full power of internationalization, you
+should configure it using
+
+     ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed.  So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation.  Future versions of GNU `gettext' will
+very likely convey even more functionality.  So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+   So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+INSTALL Matters
+===============
+
+   Some packages are "localizable" when properly installed; the
+programs they contain can be made to speak your own native language.
+Most such packages use GNU `gettext'.  Other packages have their own
+ways to internationalization, predating GNU `gettext'.
+
+   By default, this package will be installed to allow translation of
+messages.  It will automatically detect whether the system already
+provides the GNU `gettext' functions.  If not, the GNU `gettext' own
+library will be used.  This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is _not_ required.  Installers may use
+special options at configuration time for changing the default
+behaviour.  The commands:
+
+     ./configure --with-included-gettext
+     ./configure --disable-nls
+
+will respectively bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+   When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this.  This might be not what is desirable.  You
+should use the more recent version of the GNU `gettext' library.  I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
+
+     ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+   The configuration process will not test for the `catgets' function
+and therefore it will not be used.  The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+   Internationalized packages have usually many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language.  Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+Using This Package
+==================
+
+   As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
+and `CC' is an ISO 3166 two-letter country code.  For example, let's
+suppose that you speak German and live in Germany.  At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+   You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries.  For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
+country code serves to distinguish the dialects.
+
+   Not all programs have translations for all languages.  By default, an
+English message is shown in place of a nonexistent translation.  If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries.  For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+   In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect.  For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+Translating Teams
+=================
+
+   For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list.  The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
+area.
+
+   If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended.  For example, speakers of Swedish can send a
+message to `sv-request at li.org', having this message body:
+
+     subscribe
+
+   Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around.  If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation at iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+   The English team is special.  It works at improving and uniformizing
+the terminology in use.  Proven linguistic skill are praised more than
+programming skill, here.
+
+Available Packages
+==================
+
+   Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of September
+2001.  The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+     Ready PO files    bg cs da de el en eo es et fi fr gl he hr id it ja
+                     +----------------------------------------------------+
+     a2ps            |          []             []    []                   |
+     bash            |          []       [] []       []                   |
+     bfd             |                                                    |
+     binutils        |                               []                   |
+     bison           |          []          [] []    []                [] |
+     clisp           |          []    []    []       []                   |
+     cpio            |       [] []          []       [] []                |
+     diffutils       |       [] []       [] []       [] []       []       |
+     enscript        |          []                   []                   |
+     error           |                      []       []                   |
+     fetchmail       |                                                    |
+     fileutils       |    [] [] [] []       []       [] []             [] |
+     findutils       |       [] []          [] []    [] []       [] []    |
+     flex            |       []             []       []                   |
+     freetype        |                                                    |
+     gas             |                                                    |
+     gawk            |                               []    []             |
+     gcal            |                                                    |
+     gcc             |                                                    |
+     gettext         |    [] [] [] []       []       [] []       [] [] [] |
+     gnupg           |          []       []    []    [] []          [] [] |
+     gprof           |                                                    |
+     grep            |    []    []       [] [] []    [] []          []    |
+     hello           |       [] [] []    [] [] [] [] [] []          [] [] |
+     id-utils        |       [] []                   []                   |
+     indent          |       [] []             []    [] []                |
+     jpilot          |                               []                   |
+     kbd             |                                                    |
+     ld              |                               []                   |
+     libc            |    [] [] [] []       []       [] []             [] |
+     lilypond        |                                                 [] |
+     lynx            |    [] [] []                                     [] |
+     m4              |    [] [] [] []                [] []       []    [] |
+     make            |       [] []          []       [] []             [] |
+     mysecretdiary   |          []                                        |
+     nano            |                      []          []       []       |
+     opcodes         |                                                    |
+     parted          |          []                      []             [] |
+     ptx             |       [] []          [] []    [] []       []       |
+     python          |                                                    |
+     recode          |       [] [] []    [] []       [] [] []       []    |
+     sed             |    [] [] [] []    []    []    [] [] []    [] [] [] |
+     sh-utils        |    [] [] [] []       [] []    [] []          [] [] |
+     sharutils       |    [] [] [] []       []       [] []             [] |
+     sketch          |                                                    |
+     soundtracker    |          []          []          []                |
+     sp              |                                                    |
+     tar             |    [] [] []          [] []    []             [] [] |
+     texinfo         |    [] [] []       []          []                [] |
+     textutils       |    [] [] [] []       []       [] []             [] |
+     util-linux      |    [] []                                           |
+     wdiff           |       [] []             []                         |
+     wget            |    [] [] [] []       [] []    [] [] []          [] |
+                     +----------------------------------------------------+
+                       bg cs da de el en eo es et fi fr gl he hr id it ja
+                        0 14 24 32 11  1  8 23 13  1 33 22  4  0  7  9 18
+     
+                       ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
+                     +----------------------------------------------------+
+     a2ps            |          []                   []    []             |  6
+     bash            |                                                    |  4
+     bfd             |                                                    |  0
+     binutils        |                                                    |  1
+     bison           |                               []                   |  6
+     clisp           |          []                                        |  5
+     cpio            | []       []       []     []   []                   | 10
+     diffutils       |                   []          []       [] []       | 11
+     enscript        |          []              []   []                   |  5
+     error           |                                  []       []       |  4
+     fetchmail       |                                                    |  0
+     fileutils       | []       []       []     []   [] [] [] [] []       | 17
+     findutils       | []       []       []     []   []    [] [] []       | 16
+     flex            | []                            []       []          |  6
+     freetype        |                                                    |  0
+     gas             |                                                    |  0
+     gawk            |                                           []       |  3
+     gcal            |                                                    |  0
+     gcc             |                                                    |  0
+     gettext         | []                []     []   []    [] [] []    [] | 18
+     gnupg           |                   []                   [] []       | 10
+     gprof           |                                                    |  0
+     grep            |                   []                [] [] []       | 12
+     hello           | [] [] [] []    [] []          [] []    [] [] []    | 22
+     id-utils        |          []                   []       []          |  6
+     indent          | []       []       []          [] []    [] []       | 12
+     jpilot          |                                                    |  1
+     kbd             |                                           []       |  1
+     ld              |                                                    |  1
+     libc            | []    []       [] []     []      []    [] []       | 16
+     lilypond        |          []                            []          |  3
+     lynx            |          []              []   []       []          |  8
+     m4              |          []       []          []       []          | 12
+     make            | []       []       []     []   []          []       | 12
+     mysecretdiary   |                                                    |  1
+     nano            |                                        []          |  4
+     opcodes         |                                           []       |  1
+     parted          |          []                   []                   |  5
+     ptx             |       [] []    [] [] []       []       [] []       | 15
+     python          |                                                    |  0
+     recode          |                   []          []    [] []          | 13
+     sed             |          []              []   [] [] [] [] []       | 19
+     sh-utils        |       [] []    [] []     []   [] [] [] [] []    [] | 21
+     sharutils       |          []                   []       []          | 11
+     sketch          |                                                    |  0
+     soundtracker    |                                                    |  3
+     sp              |                                                    |  0
+     tar             |       []       [] []     []         [] [] []       | 15
+     texinfo         |                               []                   |  7
+     textutils       |       [] []    [] []     []   [] [] []             | 16
+     util-linux      |                          []               []       |  4
+     wdiff           |                               [] []    [] []       |  7
+     wget            |          []                   [] [] [] [] [] []    | 17
+                     +----------------------------------------------------+
+       33 teams        ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
+       53 domains       9  1  6 20  0  6 17  1  13   25 10 11 23 21  2  2  387
+
+   Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect.  This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+   For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer.  There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+   If September 2001 seems to be old, you may fetch a more recent copy
+of this `ABOUT-NLS' file on most GNU archive sites.  The most
+up-to-date matrix with full percentage details can be found at
+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+
+Using `gettext' in new packages
+===============================
+
+   If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package.  Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library.  This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+   Once the sources are changed appropriately and the setup can handle
+to use of `gettext' the only thing missing are the translations.  The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project.  Therefore the information given above
+applies also for every other Free Software Project.  Contact
+`translation at iro.umontreal.ca' to make the `.pot' files available to
+the translation teams.
+
Index: eggdrop1.7/AUTHORS
diff -u /dev/null eggdrop1.7/AUTHORS:1.1
--- /dev/null	Tue Oct  9 20:20:24 2001
+++ eggdrop1.7/AUTHORS	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,61 @@
+
+                        Developers and Contributors
+     _________________________________________________________________
+
+   This file attempts to list the majority of the eggdrop developers and
+   contributors who have devoted a lot of their time into making eggdrop
+   one of the best IRC bots ever.
+
+   Eggdrop was originally written by Robey Pointer.
+
+   Developers and Contributors (in alphabetical order):
+
+   arthur2   Jerome Carre
+   ButchBub
+   Beldin    Darrin Smith
+   Ben       Ben Dover
+   Cybah     Jonathan Miles
+   david     David Newhall II
+   drummer   Dobos Lorant
+   Dude/matt
+   dw        Per Johansson
+   Ernst     Ernesto Baschny
+   Eugene    Michael Ortmann
+   Eule      Axel Franke
+   Fabian    Fabian Knittel
+   FireEgl   Philip Moore
+   G`Quann   Florian Sander
+   guppy     Jeff Fisher
+   Ian       Ian Campbell
+   ITE       Federico Mennite
+   Jason     Jason Ede
+   Johoho    Wiktor Wodecki
+   Kirben    Travis Howell
+   Kirk      Ian Kaney
+   KingKurly
+   Lucas
+   nakee     Ely Levy
+   poptix    Matthew Hallacy
+   Raistlin  Jason Slagle
+   RebuM
+   rtc
+   SegFault  Ryan Butler
+   Shaun     Shaun Braun
+   slennox   Shayne Lennox
+   Sup       Teemu Hjelt
+   SuperS
+   TheGhost
+   TheUnknown
+   toot      Toby Verrall
+   Tothwolf
+
+   Thanks go to all the people who have made individual contributions to
+   the Eggdrop project by sending bug-reports, patches and otherwise have
+   supported the project. Patch contributors are listed in the UPDATES
+   files.
+
+   If you think that you are missing from this list contact the Eggheads
+   Development Team at eggdev at eggheads.org.
+     _________________________________________________________________
+
+   Copyright (C) 2000, 2001 Eggheads Development Team
Index: eggdrop1.7/Makefile.am
diff -u /dev/null eggdrop1.7/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:24 2001
+++ eggdrop1.7/Makefile.am	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,40 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:08 ite Exp $
+
+AUX_DIST                = $(ac_aux_dir)/install-sh \
+			$(ac_aux_dir)/ltmain.sh \
+			$(ac_aux_dir)/missing \
+                        $(ac_aux_dir)/mkinstalldirs \
+			$(ac_aux_dir)/depcomp 
+AUX_DIST_EXTRA		= $(ac_aux_dir)/codeset.m4 \
+			$(ac_aux_dir)/gettext.m4 \
+			$(ac_aux_dir)/glibc21.m4 \
+			$(ac_aux_dir)/iconv.m4 \
+			$(ac_aux_dir)/isc-posix.m4 \
+			$(ac_aux_dir)/lcmessage.m4 \
+			$(ac_aux_dir)/progtest.m4 \
+			$(ac_aux_dir)/acinclude.m4
+
+EXTRA_DIST              = bootstrap
+
+SUBDIRS                 = intl libltdl scripts src @POSUB@
+DISTCLEANFILES		= lush.h
+MAINTAINERCLEANFILES    = Makefile.in aclocal.m4 configure config-h.in \
+			config.cache config.log config.status \
+                        config.h.in stamp-h.in $(AUX_DIST)
+			 
+ACLOCAL                 = aclocal -I $(ac_aux_dir)
+
+dist-hook:
+	(cd $(distdir) && mkdir $(ac_aux_dir))
+	for file in $(AUX_DIST) $(AUX_DIST_EXTRA); do \
+	  ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
+	done
+
+install-data-local:
+	$(INSTALL_DATA) $(srcdir)/eggdrop.complete.conf $(prefix)/eggdrop.complete.conf
+	$(INSTALL_DATA) $(srcdir)/eggdrop.simple.conf $(prefix)/eggdrop.simple.conf
+
+$(OBJECTS): libtool
+libtool: $(LIBTOOL_DEPS)
+	$(SHELL) ./config.status --recheck
+
Index: eggdrop1.7/Makefile.in
diff -u eggdrop1.7/Makefile.in:1.34 eggdrop1.7/Makefile.in:removed
--- eggdrop1.7/Makefile.in:1.34	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/Makefile.in	Tue Oct  9 20:20:24 2001
@@ -1,471 +0,0 @@
-#
-#  This is the Makefile for EGGDROP (the irc bot)
-#  You should never need to edit this.
-#
-# $Id: Makefile.in,v 1.34 2001/08/21 00:21:17 ite Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
- at SET_MAKE@
-prefix = @prefix@
-DEST = ${prefix}
-EGGEXEC = @EGGEXEC@
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-POSUB = po
-
-# things you can put here:
-#   -Wall            if you're using gcc and it supports it
-#                    (configure usually detects this anyway now)
-#
-#   -DDEBUG_ASSERT   to enable assert debugging
-#   -DDEBUG_MEM      to be able to debug memory allocation (.debug)
-#                    These can both be set by using 'make debug'
-#                    or 'make sdebug'
-CFLGS =
-
-# configure SHOULD set these...you may need to tweak them to get modules
-# to compile .. if you do...let the devel-team know the working settings
-# btw to turn STRIP off, do 'STRIP = touch' not 'STRIP ='
-
-# defaults
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-RANLIB = @RANLIB@
-
-# make eggmod
-MOD_CC = @MOD_CC@
-MOD_LD = @MOD_LD@
-MOD_STRIP = @MOD_STRIP@
-
-# make modules
-SHLIB_CC = @SHLIB_CC@
-SHLIB_LD = @SHLIB_LD@
-SHLIB_STRIP = @SHLIB_STRIP@
-MOD_EXT = @MOD_EXT@
-
-# programs make install uses
-LN_S = @LN_S@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-
-# STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP #
-# - - - - - - - - do not edit anything below this line. - - - - - - - - #
-# - - - - - - - - -  it's all done by configure now.  - - - - - - - - - #
-# STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP #
-
-# stuff for Tcl
-XREQS = @TCL_REQS@
-XLIBS = @TCL_LIBS@ @LIBS@
-TCLLIB = @TCLLIB@
-TCLLIBFN = @TCLLIBFN@
-
-DEBCFLAGS = -DDEBUG_ASSERT -DDEBUG_MEM 
-
-modconf = $(top_srcdir)/misc/modconfig --top_srcdir=$(top_srcdir)
-
-egg_test_run =  ./$(EGGEXEC) -v
-
-post_config  =  echo "" && \
-		echo "You can now compile the bot, using \"make\"." && \
-		echo ""
-
-post_iconfig =  $(modconf) update-depends && \
-		$(modconf) Makefile && \
-		(cd src/mod && $(MAKE_CONFIG) config) && \
-		$(modconf) Makefile
-
-egg_install_msg =  echo "" && \
-		   echo "Now run \"make install\" to install your bot." && \
-		   echo ""
-
-MAKE_MODEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD)' \
-'STRIP=$(MOD_STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS)' \
-'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
-'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=' 'MODOBJS='
-
-MAKE_MODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \
-'STRIP=$(SHLIB_STRIP)' 'CFLGS=$(CFLGS)' 'XLIBS=$(XLIBS)' 'MOD_EXT=$(MOD_EXT)'
-
-MAKE_STATIC = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
-'STRIP=$(STRIP)' 'RANLIB=$(RANLIB)' 'CFLGS=$(CFLGS) -DSTATIC' \
-'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
-'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static version)' \
-'MODOBJS=mod/*.o'
-
-MAKE_DEBEGG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(MOD_CC)' 'LD=$(MOD_LD) -g' \
-'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=-g3 $(DEBCFLAGS) $(CFLGS)' \
-'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' \
-'XLIBS=$(XLIBS)' 'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(debug version)' 'MODOBJS='
-
-MAKE_DEBMODULES = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(SHLIB_CC)' 'LD=$(SHLIB_LD)' \
-'XLIBS=$(XLIBS)' 'STRIP=touch' 'CFLGS=-g3 $(DEBCFLAGS) $(CFLGS)' \
-'MOD_EXT=$(MOD_EXT)'
-
-MAKE_SDEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD) -g' \
-'STRIP=touch' 'RANLIB=$(RANLIB)' 'CFLGS=-g3 $(DEBCFLAGS) -DSTATIC $(CFLGS)' \
-'TCLLIB=$(TCLLIB)' 'TCLLIBFN=$(TCLLIBFN)' 'XREQS=$(XREQS)' 'XLIBS=$(XLIBS)' \
-'EGGEXEC=$(EGGEXEC)' 'EGGBUILD=(static and debug version)' 'MODOBJS=mod/*.o'
-
-MAKE_DEPEND = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
-'STRIP=$(STRIP)' 'CFLGS=$(CFLGS)'
-
-MAKE_CONFIG = $(MAKE) 'MAKE=$(MAKE)'
-
-MAKE_INSTALL = $(MAKE) 'MAKE=$(MAKE)' 'DEST=$(DEST)'
-
-MAKE_GENERIC = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
-'STRIP=$(STRIP)' 'CFLGS=$(CFLGS)'
-
-all: @DEFAULT_MAKE@
-
-eggclean:
-	@rm -f $(EGGEXEC) *.$(MOD_EXT) *.stamp core DEBUG *~
-	@cd doc && $(MAKE) clean
-	@cd scripts && $(MAKE) clean
-	@cd src && $(MAKE) clean
-	@cd src/md5 && $(MAKE) clean
-	@cd src/compat && $(MAKE) clean
-
-clean: eggclean
-	@cd intl && $(MAKE) clean
-	@cd src/adns && $(MAKE) clean
-	@cd src/mod && $(MAKE) clean
-	@cd $(POSUB) && $(MAKE) clean
-
-distclean: eggclean clean-modconfig
-	@cd intl && $(MAKE) maintainer-clean
-	@rm -rf intl && rm -f ABOUT-NLS
-	@cd src/adns && $(MAKE) distclean
-	@cd src/mod && $(MAKE) distclean
-	@cd $(POSUB) && $(MAKE) maintainer-clean && rm -f Makefile.in.in
-	@rm -f Makefile doc/Makefile scripts/Makefile src/Makefile src/md5/Makefile src/compat/Makefile src/mod/Makefile
-	@rm -f config.cache config.log config.status config.h lush.h configure config.h.in
-
-distrib: distclean
-	@rm -f `find . \( -name '*~' -o -name '*#' -o -name '*.orig' \
-		-o -name '*.rej' -o -name '*.bak' \) -print`
-	@rm -rf `find . \( -name 'CVS' \) -print`
-	@(echo "all:"; \
-	echo "	@echo \"\""; \
-	echo "	@echo \"Before you can compile your bot you have to configure it.\""; \
-	echo "	@echo \"So please start the configure script now:\""; \
-	echo "	@echo \"\""; \
-	echo "	@echo \" % ./configure\""; \
-	echo "	@echo \"\""; ) > Makefile
-
-depend:
-	@cat /dev/null > lush.h
-	@cd src && $(MAKE_DEPEND) depend
-	@cd src/md5 && $(MAKE_DEPEND) depend
-	@cd src/mod && $(MAKE_DEPEND) depend
-	@cd src/compat && $(MAKE_DEPEND) depend
-
-eggautoconf:
-	@$(modconf) eggautoconf
-
-config:
-	@$(modconf) modules-still-exist
-	@$(modconf) detect-modules
-	@$(modconf) update-depends
-	@$(modconf) Makefile
-	@cd src/mod && $(MAKE_CONFIG) config
-	@$(modconf) Makefile
-	@$(post_config)
-
-new-iconfig:
-	@$(modconf) modules-still-exist
-	@$(modconf) update-depends
-	@$(modconf) -n configure
-	@$(post_iconfig)
-	@$(post_config)
-
-iconfig:
-	@$(modconf) modules-still-exist
-	@$(modconf) detect-modules
-	@$(modconf) update-depends
-	@$(modconf) configure
-	@$(post_iconfig)
-	@$(post_config)
-
-clean-modconfig:
-	@rm -f .modules .known_modules
-
-conftest:
-	@if test ! -f .modules; then \
-		echo ""; \
-		echo "You have NOT configured the modules yet. This has to be done"; \
-		echo "before you can start compiling."; \
-		echo ""; \
-		echo "   Run \"make config\" or \"make iconfig\" now."; \
-		echo ""; \
-		exit 1; \
-	fi
-
-reconfig: clean-modconfig config
-
-eggdrop: modtest
-	@echo "Making the intl library..." && \
-	cd intl && $(MAKE) && cd .. && echo "" && \
-	echo "Making the ADNS library..." && \
-	cd src/adns && $(MAKE) && cd ../.. && \
-	echo "" && \
-	cd src/md5 && $(MAKE_GENERIC) md5 && cd ../.. && \
-	cd src/compat && $(MAKE_GENERIC) compat && cd ../.. && \
-	rm -f src/mod/mod.xlibs && \
-	cd src && $(MAKE_MODEGG) $(EGGEXEC) && cd .. && \
-	echo "" && \
-	echo "Making localization files..." && \
-	cd $(POSUB) && $(MAKE) && cd .. && echo "" && \
-	$(egg_test_run) && \
-	ls -l $(EGGEXEC) && \
-	cd src/mod && $(MAKE_MODULES) modules && cd ../.. && \
-	echo "" && \
-	echo "modules made:" && \
-	ls -l *.$(MOD_EXT) && \
-	$(egg_install_msg)
-
-static: eggtest
-	@echo "Making the intl library..." && \
-	cd intl && $(MAKE) && cd .. && echo "" && \
-	echo "Making the ADNS library..." && \
-	cd src/adns && $(MAKE) && cd ../.. && \
-	echo "" && \
-	cd src/md5 && $(MAKE_GENERIC) md5 && cd ../.. && \
-	cd src/compat && $(MAKE_GENERIC) compat && cd ../.. && \
-	rm -f src/mod/mod.xlibs && \
-	echo "" && \
-	echo "Making module objects for static linking..." && \
-	echo "" && \
-	cd src/mod && $(MAKE_STATIC) static && cd ../.. && \
-	echo "" && \
-	echo "Making core eggdrop for static linking..." && \
-	echo "" && \
-	cd src && $(MAKE_STATIC) $(EGGEXEC) && cd .. && \
-	echo "" && \
-	echo "Making localization files..." && \
-	cd $(POSUB) && $(MAKE) && cd .. && echo "" && \
-	$(egg_test_run) && \
-	ls -l $(EGGEXEC) && \
-	$(egg_install_msg)
-
-debug: modtest
-	@echo "Making the intl library..." && \
-        cd intl && $(MAKE) && cd .. && echo "" && \
-	echo "Making the ADNS library..." && \
-	cd src/adns && $(MAKE) && cd ../.. && \
-	echo "" && \
-	cd src/md5 && $(MAKE_GENERIC) md5 && cd ../.. && \
-	cd src/compat && $(MAKE_GENERIC) compat && cd ../.. && \
-	cd src && $(MAKE_DEBEGG) $(EGGEXEC) && cd .. && \
-	echo "" && \
-	echo "Making localization files..." && \
-	cd $(POSUB) && $(MAKE) && cd .. && echo "" && \
-	$(egg_test_run) && \
-	ls -l $(EGGEXEC) && \
-	cd src/mod && $(MAKE_DEBMODULES) modules && cd ../.. && \
-	echo "" && \
-	echo "modules made:" && \
-	ls -l *.$(MOD_EXT) && \
-	$(egg_install_msg)
-
-sdebug: eggtest
-	@echo "Making the intl library..." && \
-	cd intl && $(MAKE) && cd .. && echo "" && \
-	echo "Making the ADNS library..." && \
-	cd src/adns && $(MAKE) && cd ../.. && \
-	echo "" && \
-	cd src/md5 && $(MAKE_GENERIC) md5 && cd ../.. && \
-	cd src/compat && $(MAKE_GENERIC) compat && cd ../.. && \
-	rm -f src/mod/mod.xlibs && \
-	echo "" && \
-	echo "Making module objects for static linking..." && \
-	echo "" && \
-	cd src/mod && $(MAKE_SDEBUG) static && cd ../.. && \
-	echo "" && \
-	echo "Making core eggdrop for static linking..." && \
-	echo "" && \
-	cd src && $(MAKE_SDEBUG) $(EGGEXEC) && cd .. && \
-	echo "" && \
-	echo "Making localization files..." && \
-	cd $(POSUB) && $(MAKE) && cd .. && echo "" && \
-	$(egg_test_run) && \
-	ls -l $(EGGEXEC) && \
-	$(egg_install_msg)
-
-eggtest: conftest
-	@if test -f EGGMOD.stamp; then \
-		echo "You're trying to do a STATIC build of eggdrop when you've";\
-		echo "already run 'make' for a module build.";\
-		echo "You must first type \"make clean\" before you can build";\
-		echo "a static version.";\
-		exit 1;\
-	fi
-	@echo "stamp" >EGGDROP.stamp
-
-modtest: conftest
-	@if [ -f EGGDROP.stamp ]; then \
-		echo "You're trying to do a MODULE build of eggdrop when you've";\
-		echo "already run 'make' for a static build.";\
-		echo "You must first type \"make clean\" before you can build";\
-		echo "a module version.";\
-		exit 1;\
-	fi
-	@echo "stamp" >EGGMOD.stamp
-
-install: ainstall
-
-dinstall: eggdrop ainstall
-
-sinstall: static ainstall
-
-ainstall: install-start install-bin install-modules install-data \
-install-lang install-help install-filesys install-doc \
-install-scripts install-end
-
-install-start:
-	@if test ! -f $(EGGEXEC); then \
-		echo ""; \
-		echo "You haven't compiled eggdrop yet."; \
-		echo "To compile eggdrop use:"; \
-		echo "  make <target>"; \
-		echo ""; \
-		echo "  valid targets: eggdrop static debug sdebug"; \
-		echo ""; \
-		exit 1; \
-	fi
-	@echo ""
-	@$(egg_test_run)
-	@echo
-	@echo "Installing in directory: '$(DEST)'."
-	@echo
-	@if test ! -d $(DEST); then \
-		echo "Creating directory: $(DEST)."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST); \
-	fi
-
-install-bin:
-	@if test -f $(DEST)/o$(EGGEXEC); then \
-		rm -f $(DEST)/o$(EGGEXEC); \
-	fi
-	@if test -h $(DEST)/$(EGGEXEC); then \
-		echo "Removing symlink to archival eggdrop binary."; \
-		rm -f $(DEST)/$(EGGEXEC); \
-	fi
-	@if test -f $(DEST)/$(EGGEXEC); then \
-		echo "Renamed the old '$(EGGEXEC)' executable to 'o$(EGGEXEC)'."; \
-		mv -f $(DEST)/$(EGGEXEC) $(DEST)/o$(EGGEXEC); \
-	fi
-	@echo "Copying new '$(EGGEXEC)' executable and creating symlink."
-	@$(INSTALL_PROGRAM) $(EGGEXEC) $(DEST)/$(EGGEXEC)-$(VERSION)
-	@(cd $(DEST) && $(LN_S) $(EGGEXEC)-$(VERSION) $(EGGEXEC))
-
-install-modules:
-	@if test -h $(DEST)/modules; then \
-		echo "Removing symlink to archival modules directory."; \
-		rm -f $(DEST)/modules; \
-	fi
-	@if test -d $(DEST)/modules; then \
-		echo "Moving old modules into 'modules.old' directory."; \
-		rm -rf $(DEST)/modules.old; \
-		mv -f $(DEST)/modules $(DEST)/modules.old; \
-	fi
-	@if test ! "x`echo *.$(MOD_EXT)`" = "x*.$(MOD_EXT)"; then \
-		if test ! -d $(DEST)/modules-$(VERSION); then \
-			echo "Creating modules-$(VERSION) directory and symlink."; \
-			$(top_srcdir)/misc/mkinstalldirs $(DEST)/modules-$(VERSION); \
-		fi; \
-		(cd $(DEST) && $(LN_S) modules-$(VERSION) modules); \
-		echo "Copying new modules."; \
-		for i in *.$(MOD_EXT); do \
-			$(INSTALL_PROGRAM) $$i $(DEST)/modules-$(VERSION)/; \
-		done; \
-	fi
-
-install-data:
-	@$(INSTALL_DATA) $(srcdir)/eggdrop.complete.conf $(DEST)
-	@$(INSTALL_DATA) $(srcdir)/eggdrop.simple.conf $(DEST)
-	@if test ! -d $(DEST)/logs; then \
-		echo "Creating 'logs' subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/logs; \
-		$(INSTALL_DATA) $(srcdir)/logs/CONTENTS $(DEST)/logs/; \
-	fi;
-	@if test ! -d $(DEST)/text; then \
-		echo "Creating 'text' subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/text; \
-	fi;
-	@if test ! -f $(DEST)/text/motd; then \
-		$(INSTALL_DATA) $(srcdir)/text/motd $(DEST)/text/; \
-	fi
-	@if test ! -f $(DEST)/text/banner; then \
-		$(INSTALL_DATA) $(srcdir)/text/banner $(DEST)/text/; \
-	fi
-
-install-lang:
-	@echo "Copying intl files." && \
-	cd intl && $(MAKE) install && cd .. && echo "" && \
-	echo "Copying localization files." && \
-	cd $(POSUB) && $(MAKE) install && cd .. && echo ""
-
-install-help:
-	@echo "Copying help files."
-	@if test ! "x`echo $(srcdir)/help/*.help`" = "x$(srcdir)/help/*.help"; then \
-		if test ! -d $(DEST)/help; then \
-			echo "Creating 'help' subdirectory."; \
-			$(top_srcdir)/misc/mkinstalldirs $(DEST)/help; \
-		fi; \
-		for i in $(srcdir)/help/*.help; do \
-			$(INSTALL_DATA) $$i $(DEST)/help/; \
-		done; \
-	fi
-	@if test ! "x`echo $(srcdir)/help/msg/*.help`" = "x$(srcdir)/help/msg/*.help"; then \
-		if test ! -d $(DEST)/help/msg; then \
-			echo "Creating 'help/msg' subdirectory."; \
-			$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/msg; \
-		fi; \
-		for i in $(srcdir)/help/msg/*.help; do \
-			$(INSTALL_DATA) $$i $(DEST)/help/msg/; \
-		done; \
-	fi
-	@if test ! "x`echo $(srcdir)/help/set/*.help`" = "x$(srcdir)/help/set/*.help"; then \
-		if test ! -d $(DEST)/help/set; then \
-			echo "Creating 'help/set' subdirectory."; \
-			$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/set; \
-		fi; \
-		for i in $(srcdir)/help/set/*.help; do \
-			$(INSTALL_DATA) $$i $(DEST)/help/set/; \
-		done; \
-	fi
-	@cd src/mod/ && $(MAKE_INSTALL) install-help
-
-install-filesys:
-	@if test ! -d $(DEST)/filesys; then \
-		echo "Creating a skeletal filesys subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/filesys; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/filesys/incoming; \
-	fi
-
-install-doc:
-	@$(INSTALL_DATA) $(srcdir)/README $(DEST)
-	@cd doc/ && $(MAKE_INSTALL) install
-
-install-scripts:
-	@cd scripts/ && $(MAKE_INSTALL) install
-
-install-end:
-	@echo
-	@echo "Installation completed."
-	@echo ""
-	@echo "You MUST ensure that you edit/verify your configuration file."
-	@echo "Use one of the two configuration files (eggdrop.simple.conf or eggdrop.complete.conf) distributed with your bot."
-	@echo ""
-	@echo "Remember to change directory to $(DEST) before you proceed."
-	@echo ""
-
-#safety hash
Index: eggdrop1.7/acconfig.h
diff -u eggdrop1.7/acconfig.h:1.10 eggdrop1.7/acconfig.h:1.11
--- eggdrop1.7/acconfig.h:1.10	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/acconfig.h	Tue Oct  9 20:20:08 2001
@@ -5,7 +5,7 @@
  * acconfig.h
  *   template file autoheader uses when building config.h.in
  * 
- * $Id: acconfig.h,v 1.10 2001/08/21 00:21:17 ite Exp $
+ * $Id: acconfig.h,v 1.11 2001/10/10 01:20:08 ite Exp $
  */
 
 /* Define package name */
@@ -20,9 +20,6 @@
 /* Define locale's resources path */
 #undef LOCALEDIR
 
-/* Define if modules will work on your system  */
-#undef MODULES_OK
-
 /* Define if running on hpux that supports dynamic linking  */
 #undef HPUX_HACKS
 
@@ -30,26 +27,14 @@
 #undef HPUX10_HACKS
 
 /* Define if running on OSF/1 platform.  */
-#undef OSF1_HACKS
-
-/* Define if running on OSF/1 platform.  */
 #undef STOP_UAC
 
-/* Define if running on sunos 4.0 *sigh*  */
-#undef DLOPEN_1
-
 /* Define if running on NeXT Step  */
 #undef BORGCUBES
 
 /* Define if running under cygwin  */
 #undef CYGWIN_HACKS
 
-/* Define if you have a version of libsafe with a broken sscanf */
-#undef LIBSAFE_HACKS
-
-/* Define if we need dlopen (for module support)  */
-#undef HAVE_DLOPEN
-
 /* Define for pre Tcl 7.5 compat  */
 #undef HAVE_PRE7_5_TCL
 
@@ -59,9 +44,6 @@
 /* Define for Tcl that has threads  */
 #undef HAVE_TCL_THREADS
 
-/* Defines extension of eggdrop modules  */
-#undef EGG_MOD_EXT
-
 /* Define if you want IPv6 support */
 #undef IPV6
 
@@ -70,6 +52,12 @@
 
 /* Define if we want to include rpc/types.h.  Crap BSDs put INADDR_LOOPBACK there. */
 #undef HAVEUSE_RPCTYPES_H
+
+#undef HAVE_GETTEXT
+#undef HAVE_LC_MESSAGES
+#undef HAVE_CATGETS
+#undef ENABLE_NLS
+#undef HAVE_STPCPY
 
 @BOTTOM@
 
Index: eggdrop1.7/acinclude.m4
diff -u /dev/null eggdrop1.7/acinclude.m4:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/acinclude.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,1117 @@
+dnl acinclude.m4
+dnl   macros autoconf uses when building configure from configure.in
+dnl
+dnl $Id: acinclude.m4,v 1.1 2001/10/10 01:20:08 ite Exp $
+dnl
+
+
+dnl  EGG_MSG_CONFIGURE_START()
+dnl
+AC_DEFUN(EGG_MSG_CONFIGURE_START, [dnl
+AC_MSG_RESULT()
+AC_MSG_RESULT(This is eggdrop's GNU configure script.)
+AC_MSG_RESULT(It's going to run a bunch of strange tests to hopefully)
+AC_MSG_RESULT(make your compile work without much twiddling.)
+AC_MSG_RESULT()
+])dnl
+
+
+dnl  EGG_MSG_CONFIGURE_END()
+dnl
+AC_DEFUN(EGG_MSG_CONFIGURE_END, [dnl
+AC_MSG_RESULT()
+echo \
+"------------------------------------------------------------------------
+Configuration:
+
+  Source code location:       ${srcdir}
+  Compiler:                   ${CC}
+  Compiler flags:             ${CFLAGS}
+  Host System Type:           ${host}
+  Install path:               ${prefix}
+
+See config.h for further configuration information.
+------------------------------------------------------------------------"
+AC_MSG_RESULT()
+AC_MSG_RESULT(Configure is done.)
+AC_MSG_RESULT()
+AC_MSG_RESULT([Type 'make' to create the bot.])
+AC_MSG_RESULT()
+])dnl
+
+
+dnl  EGG_CHECK_CC()
+dnl
+dnl  FIXME: make a better test
+dnl
+AC_DEFUN(EGG_CHECK_CC, [dnl
+if test "${cross_compiling-x}" = "x"
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  This system does not appear to have a working C compiler.
+  A working C compiler is required to compile eggdrop.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_CHECK_CCPIPE()
+dnl
+dnl  Checks whether the compiler supports the `-pipe' flag, which
+dnl  speeds up the compilation.
+AC_DEFUN(EGG_CHECK_CCPIPE, [dnl
+if test -z "$no_pipe"
+then
+  if test -n "$GCC"
+  then
+    AC_CACHE_CHECK(whether the compiler understands -pipe, egg_cv_var_ccpipe, [dnl
+      ac_old_CC="$CC"
+      CC="$CC -pipe"
+      AC_TRY_COMPILE(,, egg_cv_var_ccpipe="yes", egg_cv_var_ccpipe="no")
+      CC="$ac_old_CC"
+    ])
+    if test "$egg_cv_var_ccpipe" = "yes"
+    then
+      CC="$CC -pipe"
+    fi
+  fi
+fi
+])dnl
+
+
+dnl  EGG_PROG_STRIP()
+dnl
+AC_DEFUN(EGG_PROG_STRIP, [dnl
+AC_CHECK_PROG(STRIP, strip, strip)
+if test "${STRIP-x}" = "x"
+then
+  STRIP=touch
+fi
+])dnl
+
+
+dnl  EGG_PROG_AWK()
+dnl
+AC_DEFUN(EGG_PROG_AWK, [dnl
+# awk is needed for Tcl library and header checks, and eggdrop version subst
+AC_PROG_AWK
+if test "${AWK-x}" = "x"
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  This system seems to lack a working 'awk' command.
+  A working 'awk' command is required to compile eggdrop.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_PROG_BASENAME()
+dnl
+AC_DEFUN(EGG_PROG_BASENAME, [dnl
+# basename is needed for Tcl library and header checks
+AC_CHECK_PROG(BASENAME, basename, basename)
+if test "${BASENAME-x}" = "x"
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  This system seems to lack a working 'basename' command.
+  A working 'basename' command is required to compile eggdrop.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_CHECK_OS()
+dnl
+dnl  FIXME/NOTICE:
+dnl    This function is obsolete. Any NEW code/checks should be written
+dnl    as individual tests that will be checked on ALL operating systems.
+dnl
+AC_DEFUN(EGG_CHECK_OS, [dnl
+AC_REQUIRE([AC_CANONICAL_HOST])
+
+IRIX=no
+DEFAULT_MAKE=static
+
+AC_CACHE_CHECK(system type, egg_cv_var_system_type, egg_cv_var_system_type=`$EGG_UNAME -s`)
+AC_CACHE_CHECK(system release, egg_cv_var_system_release, egg_cv_var_system_release=`$EGG_UNAME -r`)
+
+case $host_os in
+  cygwin)
+    case "`echo $egg_cv_var_system_release | cut -c 1-3`" in
+      1.*)
+	AC_PROG_CC_WIN32
+	CC="$CC $WIN32FLAGS"
+        AC_MSG_CHECKING(for /usr/lib/binmode.o)
+        if test -r /usr/lib/binmode.o
+        then
+          AC_MSG_RESULT(yes)
+          LIBS="$LIBS /usr/lib/binmode.o"
+        else
+          AC_MSG_RESULT(no)
+          AC_MSG_WARN(Make sure the directory eggdrop is installed into is mounted in binary mode.)
+        fi
+      ;;
+      *)
+        AC_MSG_WARN(Make sure the directory eggdrop is installed into is mounted in binary mode.)
+      ;;
+    esac
+  ;;
+  hpux*)
+    AC_DEFINE(HPUX_HACKS)dnl
+    case $host_os in
+    hpux10)
+      AC_DEFINE(HPUX10_HACKS)dnl
+    ;;
+    esac
+  ;;
+  irix*)
+    IRIX=yes
+  ;;
+  ultrix*)
+    SHELL=/bin/sh5
+  ;;
+  osf*)
+    AC_DEFINE(STOP_UAC)dnl
+  ;;
+  mach*)
+    AC_DEFINE(BORGCUBES)dnl
+  ;;
+esac
+
+])dnl
+
+
+dnl  EGG_CHECK_LIBS()
+dnl
+AC_DEFUN(EGG_CHECK_LIBS, [dnl
+# FIXME: this needs to be fixed so that it works on IRIX
+if test "$IRIX" = "yes"
+then
+  AC_MSG_WARN(Skipping library tests because they CONFUSE Irix.)
+else
+  AC_CHECK_LIB(socket, socket)
+  AC_CHECK_LIB(nsl, connect)
+  AC_CHECK_LIB(dns, gethostbyname)
+  AC_CHECK_LIB(m, tan, EGG_MATH_LIB="-lm")
+  # This is needed for Tcl libraries compiled with thread support
+  AC_CHECK_LIB(pthread, pthread_mutex_init, [dnl
+  ac_cv_lib_pthread_pthread_mutex_init=yes
+  ac_cv_lib_pthread="-lpthread"], [dnl
+    AC_CHECK_LIB(pthread, __pthread_mutex_init, [dnl
+    ac_cv_lib_pthread_pthread_mutex_init=yes
+    ac_cv_lib_pthread="-lpthread"], [dnl
+      AC_CHECK_LIB(pthreads, pthread_mutex_init, [dnl
+      ac_cv_lib_pthread_pthread_mutex_init=yes
+      ac_cv_lib_pthread="-lpthreads"], [dnl
+        AC_CHECK_FUNC(pthread_mutex_init, [dnl
+        ac_cv_lib_pthread_pthread_mutex_init=yes
+        ac_cv_lib_pthread=""],
+        ac_cv_lib_pthread_pthread_mutex_init=no)])])])
+fi
+])dnl
+
+
+dnl  EGG_CHECK_FUNC_VSPRINTF()
+dnl
+AC_DEFUN(EGG_CHECK_FUNC_VSPRINTF, [dnl
+AC_CHECK_FUNCS(vsprintf)
+if test "$ac_cv_func_vsprintf" = "no"
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  Your system does not have the sprintf/vsprintf libraries.
+  These are required to compile almost anything.  Sorry.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_HEADER_STDC()
+dnl
+AC_DEFUN(EGG_HEADER_STDC, [dnl
+if test "$ac_cv_header_stdc" = "no"
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  Your system must support ANSI C Header files.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_CYGWIN()
+dnl
+dnl  Check for Cygwin support.
+AC_DEFUN(EGG_CYGWIN, [dnl
+AC_CYGWIN
+if test "$ac_cv_cygwin" = "yes"
+then
+  AC_DEFINE(CYGWIN_HACKS)dnl
+fi
+])dnl
+
+
+dnl  EGG_TCL_ARG_WITH()
+dnl
+AC_DEFUN(EGG_TCL_ARG_WITH, [dnl
+# oohh new configure --variables for those with multiple tcl libs
+AC_ARG_WITH(tcllib, [  --with-tcllib=PATH      full path to tcl library], tcllibname="$withval")
+AC_ARG_WITH(tclinc, [  --with-tclinc=PATH      full path to tcl header], tclincname="$withval")
+
+WARN=0
+# Make sure either both or neither $tcllibname and $tclincname are set
+if test ! "${tcllibname-x}" = "x"
+then
+  if test "${tclincname-x}" = "x"
+  then
+    WARN=1
+    tcllibname=""
+    TCLLIB=""
+    TCLINC=""
+  fi
+else
+  if test ! "${tclincname-x}" = "x"
+  then
+    WARN=1
+    tclincname=""
+    TCLLIB=""
+    TCLINC=""
+  fi
+fi
+if test "$WARN" = 1
+then
+  cat << 'EOF' >&2
+configure: warning:
+
+  You must specify both --with-tcllib and --with-tclinc for them to work.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+fi
+])dnl
+
+
+dnl  EGG_TCL_ENV()
+dnl
+AC_DEFUN(EGG_TCL_ENV, [dnl
+WARN=0
+# Make sure either both or neither $TCLLIB and $TCLINC are set
+if test ! "${TCLLIB-x}" = "x"
+then
+  if test "${TCLINC-x}" = "x"
+  then
+    WARN=1
+    WVAR1=TCLLIB
+    WVAR2=TCLINC
+    TCLLIB=""
+  fi
+else
+  if test ! "${TCLINC-x}" = "x"
+  then
+    WARN=1
+    WVAR1=TCLINC
+    WVAR2=TCLLIB
+    TCLINC=""
+  fi
+fi
+if test "$WARN" = 1
+then
+  cat << EOF >&2
+configure: warning:
+
+  Environment variable $WVAR1 was set, but I did not detect ${WVAR2}.
+  Please set both TCLLIB and TCLINC correctly if you wish to use them.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+fi
+])dnl
+
+
+dnl  EGG_TCL_WITH_TCLLIB()
+dnl
+AC_DEFUN(EGG_TCL_WITH_TCLLIB, [dnl
+# Look for Tcl library: if $tcllibname is set, check there first
+if test ! "${tcllibname-x}" = "x"
+then
+  if test -f "$tcllibname" && test -r "$tcllibname"
+  then
+    TCLLIB=`echo $tcllibname | sed 's%/[[^/]][[^/]]*$%%'`
+    TCLLIBFN=`$BASENAME $tcllibname | cut -c4-`
+    TCLLIBEXT=".`echo $TCLLIBFN | $AWK '{j=split([$]1, i, "."); print i[[j]]}'`"
+    TCLLIBFNS=`$BASENAME $tcllibname $TCLLIBEXT | cut -c4-`
+  else
+    cat << EOF >&2
+configure: warning:
+
+  The file '$tcllibname' given to option --with-tcllib is not valid.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+    tcllibname=""
+    tclincname=""
+    TCLLIB=""
+    TCLLIBFN=""
+    TCLINC=""
+    TCLINCFN=""
+  fi
+fi
+])dnl
+
+
+dnl  EGG_TCL_WITH_TCLINC()
+dnl
+AC_DEFUN(EGG_TCL_WITH_TCLINC, [dnl
+# Look for Tcl header: if $tclincname is set, check there first
+if test ! "${tclincname-x}" = "x"
+then
+  if test -f "$tclincname" && test -r "$tclincname"
+  then
+    TCLINC=`echo $tclincname | sed 's%/[[^/]][[^/]]*$%%'`
+    TCLINCFN=`$BASENAME $tclincname`
+  else
+    cat << EOF >&2
+configure: warning:
+
+  The file '$tclincname' given to option --with-tclinc is not valid.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+    tcllibname=""
+    tclincname=""
+    TCLLIB=""
+    TCLLIBFN=""
+    TCLINC=""
+    TCLINCFN=""
+  fi
+fi
+])dnl
+
+
+dnl  EGG_TCL_FIND_LIBRARY()
+dnl
+AC_DEFUN(EGG_TCL_FIND_LIBRARY, [dnl
+# Look for Tcl library: if $TCLLIB is set, check there first
+if test "${TCLLIBFN-x}" = "x"
+then
+  if test ! "${TCLLIB-x}" = "x"
+  then
+    if test -d "$TCLLIB"
+    then
+      for tcllibfns in $tcllibnames
+      do
+        for tcllibext in $tcllibextensions
+        do
+          if test -r "$TCLLIB/lib$tcllibfns$tcllibext"
+          then
+            TCLLIBFN="$tcllibfns$tcllibext"
+            TCLLIBEXT="$tcllibext"
+            TCLLIBFNS="$tcllibfns"
+            break 2
+          fi
+        done
+      done
+    fi
+    if test "${TCLLIBFN-x}" = "x"
+    then
+      cat << 'EOF' >&2
+configure: warning:
+
+  Environment variable TCLLIB was set, but incorrect.
+  Please set both TCLLIB and TCLINC correctly if you wish to use them.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+      TCLLIB=""
+      TCLLIBFN=""
+      TCLINC=""
+      TCLINCFN=""
+    fi
+  fi
+fi
+])dnl
+
+
+dnl  EGG_TCL_FIND_HEADER()
+dnl
+AC_DEFUN(EGG_TCL_FIND_HEADER, [dnl
+# Look for Tcl header: if $TCLINC is set, check there first
+if test "${TCLINCFN-x}" = "x"
+then
+  if test ! "${TCLINC-x}" = "x"
+  then
+    if test -d "$TCLINC"
+    then
+      for tclheaderfn in $tclheadernames
+      do
+        if test -r "$TCLINC/$tclheaderfn"
+        then
+          TCLINCFN="$tclheaderfn"
+          break
+        fi
+      done
+    fi
+    if test "${TCLINCFN-x}" = "x"
+    then
+      cat << 'EOF' >&2
+configure: warning:
+
+  Environment variable TCLINC was set, but incorrect.
+  Please set both TCLLIB and TCLINC correctly if you wish to use them.
+  configure will now attempt to autodetect both the Tcl library and header...
+
+EOF
+      TCLLIB=""
+      TCLLIBFN=""
+      TCLINC=""
+      TCLINCFN=""
+    fi
+  fi
+fi
+])dnl
+
+
+dnl  EGG_TCL_CHECK_LIBRARY()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_LIBRARY, [dnl
+AC_MSG_CHECKING(for Tcl library)
+
+# Attempt autodetect for $TCLLIBFN if it's not set
+if test ! "${TCLLIBFN-x}" = "x"
+then
+  AC_MSG_RESULT(using $TCLLIB/lib$TCLLIBFN)
+else
+  for tcllibfns in $tcllibnames
+  do
+    for tcllibext in $tcllibextensions
+    do
+      for tcllibpath in $tcllibpaths
+      do
+        if test -r "$tcllibpath/lib$tcllibfns$tcllibext"
+        then
+          AC_MSG_RESULT(found $tcllibpath/lib$tcllibfns$tcllibext)
+          TCLLIB="$tcllibpath"
+          TCLLIBFN="$tcllibfns$tcllibext"
+          TCLLIBEXT="$tcllibext"
+          TCLLIBFNS="$tcllibfns"
+          break 3
+        fi
+      done
+    done
+  done
+fi
+
+# Show if $TCLLIBFN wasn't found
+if test "${TCLLIBFN-x}" = "x"
+then
+  AC_MSG_RESULT(not found)
+fi
+AC_SUBST(TCLLIB)dnl
+AC_SUBST(TCLLIBFN)dnl
+])dnl
+
+
+dnl  EGG_TCL_CHECK_HEADER()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_HEADER, [dnl
+AC_MSG_CHECKING(for Tcl header)
+
+# Attempt autodetect for $TCLINCFN if it's not set
+if test ! "${TCLINCFN-x}" = "x"
+then
+  AC_MSG_RESULT(using $TCLINC/$TCLINCFN)
+else
+  for tclheaderpath in $tclheaderpaths
+  do
+    for tclheaderfn in $tclheadernames
+    do
+      if test -r "$tclheaderpath/$tclheaderfn"
+      then
+        AC_MSG_RESULT(found $tclheaderpath/$tclheaderfn)
+        TCLINC="$tclheaderpath"
+        TCLINCFN="$tclheaderfn"
+        break 2
+      fi
+    done
+  done
+  # FreeBSD hack ...
+  if test "${TCLINCFN-x}" = "x"
+  then
+    for tcllibfns in $tcllibnames
+    do
+      for tclheaderpath in $tclheaderpaths
+      do
+        for tclheaderfn in $tclheadernames
+        do
+          if test -r "$tclheaderpath/$tcllibfns/$tclheaderfn"
+          then
+            AC_MSG_RESULT(found $tclheaderpath/$tcllibfns/$tclheaderfn)
+            TCLINC="$tclheaderpath/$tcllibfns"
+            TCLINCFN="$tclheaderfn"
+            break 3
+          fi
+        done
+      done
+    done
+  fi
+fi
+
+# Show if $TCLINCFN wasn't found
+if test "${TCLINCFN-x}" = "x"
+then
+  AC_MSG_RESULT(not found)
+fi
+AC_SUBST(TCLINC)dnl
+AC_SUBST(TCLINCFN)dnl
+])dnl
+
+
+dnl  EGG_CACHE_UNSET(CACHE-ID)
+dnl
+dnl  Unsets a certain cache item. Typically called before using
+dnl  the AC_CACHE_*() macros.
+AC_DEFUN(EGG_CACHE_UNSET, [dnl
+  unset $1
+])
+
+
+dnl  EGG_TCL_DETECT_CHANGE()
+dnl
+dnl  Detect whether the tcl system has changed since our last
+dnl  configure run. Set egg_tcl_changed accordingly.
+dnl
+dnl  Tcl related feature and version checks should re-run their
+dnl  checks as soon as egg_tcl_changed is set to "yes".
+AC_DEFUN(EGG_TCL_DETECT_CHANGE, [dnl
+  AC_MSG_CHECKING(whether the tcl system has changed)
+  egg_tcl_changed=yes
+  egg_tcl_id="$TCLLIB:$TCLLIBFN:$TCLINC:$TCLINCFN"
+  if test ! "$egg_tcl_id" = ":::"
+  then
+    egg_tcl_cached=yes
+    AC_CACHE_VAL(egg_cv_var_tcl_id, [dnl
+      egg_cv_var_tcl_id="$egg_tcl_id"
+      egg_tcl_cached=no
+    ])
+    if test "$egg_tcl_cached" = "yes"
+    then
+      if test "${egg_cv_var_tcl_id-x}" = "${egg_tcl_id-x}"
+      then
+        egg_tcl_changed=no
+      else
+        egg_cv_var_tcl_id="$egg_tcl_id"
+      fi
+    fi
+  fi
+  if test "$egg_tcl_changed" = "yes"
+  then
+    AC_MSG_RESULT(yes)
+  else
+    AC_MSG_RESULT(no)
+  fi
+])
+
+
+dnl  EGG_TCL_CHECK_VERSION()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_VERSION, [dnl
+# Both TCLLIBFN & TCLINCFN must be set, or we bail
+TCL_FOUND=0
+if test ! "${TCLLIBFN-x}" = "x" && test ! "${TCLINCFN-x}" = "x"
+then
+  TCL_FOUND=1
+
+  # Check Tcl's version
+  if test "$egg_tcl_changed" = "yes"
+  then
+    EGG_CACHE_UNSET(egg_cv_var_tcl_version)
+  fi
+  AC_MSG_CHECKING(for Tcl version)
+  AC_CACHE_VAL(egg_cv_var_tcl_version, [dnl
+    egg_cv_var_tcl_version=`grep TCL_VERSION $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`
+  ])
+
+  if test ! "${egg_cv_var_tcl_version-x}" = "x"
+  then
+    AC_MSG_RESULT($egg_cv_var_tcl_version)
+  else
+    AC_MSG_RESULT(not found)
+    TCL_FOUND=0
+  fi
+
+  # Check Tcl's patch level (if avaliable)
+  if test "$egg_tcl_changed" = "yes"
+  then
+    EGG_CACHE_UNSET(egg_cv_var_tcl_patch_level)
+  fi
+  AC_MSG_CHECKING(for Tcl patch level)
+  AC_CACHE_VAL(egg_cv_var_tcl_patch_level, [dnl
+    eval "egg_cv_var_tcl_patch_level=`grep TCL_PATCH_LEVEL $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`"
+  ])
+
+  if test ! "${egg_cv_var_tcl_patch_level-x}" = "x"
+  then
+    AC_MSG_RESULT($egg_cv_var_tcl_patch_level)
+  else
+    egg_cv_var_tcl_patch_level="unknown"
+    AC_MSG_RESULT(unknown)
+  fi
+fi
+
+# Check if we found Tcl's version
+if test "$TCL_FOUND" = 0
+then
+  cat << 'EOF' >&2
+configure: error:
+
+  I can't find Tcl on this system.
+
+  Eggdrop requires Tcl to compile.  If you already have Tcl installed
+  on this system, and I just wasn't looking in the right place for it,
+  set the environment variables TCLLIB and TCLINC so I will know where
+  to find 'libtcl.a' (or 'libtcl.so') and 'tcl.h' (respectively). Then
+  run 'configure' again.
+
+  Read the README file if you don't know what Tcl is or how to get it
+  and install it.
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_TCL_CHECK_PRE70()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_PRE70, [dnl
+# Is this version of Tcl too old for us to use ?
+TCL_VER_PRE70=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (i[[1]] < 7) print "yes"; else print "no"}'`
+if test "$TCL_VER_PRE70" = "yes"
+then
+  cat << EOF >&2
+configure: error:
+
+  Your Tcl version is much too old for eggdrop to use.
+  I suggest you download and complie a more recent version.
+  The most reliable current version is $tclrecommendver and
+  can be downloaded from $tclrecommendsite
+
+EOF
+  exit 1
+fi
+])dnl
+
+
+dnl  EGG_TCL_CHECK_PRE75()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_PRE75, [dnl
+# Are we using a pre 7.5 Tcl version ?
+TCL_VER_PRE75=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 5)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
+if test "$TCL_VER_PRE75" = "yes"
+then
+  AC_DEFINE(HAVE_PRE7_5_TCL)dnl
+fi
+])dnl
+
+
+dnl  EGG_TCL_TESTLIBS()
+dnl
+AC_DEFUN(EGG_TCL_TESTLIBS, [dnl
+# Set variables for Tcl library tests
+TCL_TEST_LIB="$TCLLIBFNS"
+TCL_TEST_OTHERLIBS="-L$TCLLIB $EGG_MATH_LIB"
+
+if test ! "${ac_cv_lib_pthread-x}" = "x"
+then
+  TCL_TEST_OTHERLIBS="$TCL_TEST_OTHERLIBS $ac_cv_lib_pthread"
+fi
+])dnl
+
+
+dnl  EGG_TCL_CHECK_FREE()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_FREE, [dnl
+if test "$egg_tcl_changed" = "yes"
+then
+  EGG_CACHE_UNSET(egg_cv_var_tcl_free)
+fi
+
+# Check for Tcl_Free()
+AC_CHECK_LIB($TCL_TEST_LIB, Tcl_Free, egg_cv_var_tcl_free="yes", egg_cv_var_tcl_free="no", $TCL_TEST_OTHERLIBS)
+
+if test "$egg_cv_var_tcl_free" = "yes"
+then
+  AC_DEFINE(HAVE_TCL_FREE)dnl
+fi
+])dnl
+
+
+dnl  EGG_TCL_ENABLE_THREADS()
+dnl
+AC_DEFUN(EGG_TCL_ENABLE_THREADS, [dnl
+AC_ARG_ENABLE(tcl-threads,
+[  --disable-tcl-threads   Disable threaded tcl support if detected. (Ignore this
+                          option unless you know what you are doing)],
+enable_tcl_threads="$enableval",
+enable_tcl_threads=yes)
+])dnl
+
+
+dnl  EGG_TCL_CHECK_THREADS()
+dnl
+AC_DEFUN(EGG_TCL_CHECK_THREADS, [dnl
+if test "$egg_tcl_changed" = "yes"
+then
+  EGG_CACHE_UNSET(egg_cv_var_tcl_threaded)
+fi
+
+# Check for TclpFinalizeThreadData()
+AC_CHECK_LIB($TCL_TEST_LIB, TclpFinalizeThreadData, egg_cv_var_tcl_threaded="yes", egg_cv_var_tcl_threaded="no", $TCL_TEST_OTHERLIBS)
+
+if test "$egg_cv_var_tcl_threaded" = "yes"
+then
+  if test "$enable_tcl_threads" = "no"
+  then
+
+    cat << 'EOF' >&2
+configure: warning:
+
+  You have disabled threads support on a system with a threaded Tcl library.
+  Tcl features that rely on scheduled events may not function properly.
+
+EOF
+  else
+    AC_DEFINE(HAVE_TCL_THREADS)dnl
+  fi
+
+  # Add pthread library to $LIBS if we need it
+  if test ! "${ac_cv_lib_pthread-x}" = "x"
+  then
+    LIBS="$ac_cv_lib_pthread $LIBS"
+  fi
+fi
+])dnl
+
+
+dnl  EGG_TCL_LIB_REQS()
+dnl
+AC_DEFUN(EGG_TCL_LIB_REQS, [dnl
+if test "$ac_cv_cygwin" = "yes"
+then
+  TCL_REQS="$TCLLIB/lib$TCLLIBFN"
+  TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
+else
+if test ! "$TCLLIBEXT" = ".a"
+then
+  TCL_REQS="$TCLLIB/lib$TCLLIBFN"
+  TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
+else
+## FIXME: this needs to be changed so that it will error and exit saying
+##        you have to run ./configure --disable-shared
+  # Set default make as static for unshared Tcl library
+  if test ! "$DEFAULT_MAKE" = "static"
+  then
+    cat << 'EOF' >&2
+configure: warning:
+
+  Your Tcl library is not a shared lib.
+  configure will now set default make type to static...
+
+EOF
+    DEFAULT_MAKE=static
+    AC_SUBST(DEFAULT_MAKE)dnl
+  fi
+
+  # Are we using a pre 7.4 Tcl version ?
+  TCL_VER_PRE74=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 4)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
+  if test "$TCL_VER_PRE74" = "no"
+  then
+
+    # Was the --with-tcllib option given ?
+    if test ! "${tcllibname-x}" = "x"
+    then
+      TCL_REQS="$TCLLIB/lib$TCLLIBFN"
+      TCL_LIBS="$TCLLIB/lib$TCLLIBFN $EGG_MATH_LIB"
+    else
+      TCL_REQS="$TCLLIB/lib$TCLLIBFN"
+      TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
+    fi
+  else
+    cat << EOF >&2
+configure: warning:
+
+  Your Tcl version ($egg_cv_var_tcl_version) is older then 7.4.
+  There are known problems, but we will attempt to work around them.
+
+EOF
+    TCL_REQS="libtcle.a"
+    TCL_LIBS="-L`pwd` -ltcle $EGG_MATH_LIB"
+  fi
+fi
+fi
+AC_SUBST(TCL_REQS)dnl
+AC_SUBST(TCL_LIBS)dnl
+])dnl
+
+
+dnl  EGG_REPLACE_IF_CHANGED(FILE-NAME, CONTENTS-CMDS, INIT-CMDS)
+dnl
+dnl  Replace FILE-NAME if the newly created contents differs from the existing
+dnl  file contents.  Otherwise leave the file allone.  This avoids needless
+dnl  recompiles.
+dnl
+define(EGG_REPLACE_IF_CHANGED, [dnl
+  AC_OUTPUT_COMMANDS([
+egg_replace_file="$1"
+echo "creating $1"
+$2
+if test -f "$egg_replace_file" && cmp -s conftest.out $egg_replace_file
+then
+  echo "$1 is unchanged"
+else
+  mv conftest.out $egg_replace_file
+fi
+rm -f conftest.out], [$3])dnl
+])dnl
+
+
+dnl  EGG_TCL_LUSH()
+dnl
+AC_DEFUN(EGG_TCL_LUSH, [dnl
+    EGG_REPLACE_IF_CHANGED(lush.h, [
+cat > conftest.out << EGGEOF
+/* Ignore me but do not erase me.  I am a kludge. */
+
+#include "$egg_tclinc/$egg_tclincfn"
+EGGEOF], [
+    egg_tclinc="$TCLINC"
+    egg_tclincfn="$TCLINCFN"])dnl
+])dnl
+
+
+AC_DEFUN([AC_PROG_CC_WIN32], [
+AC_MSG_CHECKING([how to access the Win32 API])
+WIN32FLAGS=
+AC_TRY_COMPILE(,[
+#ifndef WIN32
+# ifndef _WIN32
+#  error WIN32 or _WIN32 not defined
+# endif
+#endif], [
+dnl found windows.h with the current config.
+AC_MSG_RESULT([present by default])
+], [
+dnl try -mwin32
+ac_compile_save="$ac_compile"
+dnl we change CC so config.log looks correct
+save_CC="$CC"
+ac_compile="$ac_compile -mwin32"
+CC="$CC -mwin32"
+AC_TRY_COMPILE(,[
+#ifndef WIN32
+# ifndef _WIN32
+#  error WIN32 or _WIN32 not defined
+# endif
+#endif], [
+dnl found windows.h using -mwin32
+AC_MSG_RESULT([found via -mwin32])
+ac_compile="$ac_compile_save"
+CC="$save_CC"
+WIN32FLAGS="-mwin32"
+], [
+ac_compile="$ac_compile_save"
+CC="$save_CC"
+AC_MSG_RESULT([not found])
+])
+])
+
+])
+dnl
+
+
+dnl  EGG_ENABLE_IPV6()
+dnl
+AC_DEFUN(EGG_ENABLE_IPV6, [dnl
+AC_MSG_CHECKING(whether you enabled IPv6 support)
+AC_ARG_ENABLE(ipv6,
+[  --enable-ipv6           Enable IPV6 support.
+  --disable-ipv6          Disable IPV6 support. ],
+[ ac_cv_ipv6=$enableval
+  AC_MSG_RESULT($ac_cv_ipv6)
+], [
+  if test "x$egg_cv_ipv6_supported" = "xyes"; then
+    ac_cv_ipv6='yes'
+  else
+    ac_cv_ipv6='no'
+  fi
+  AC_MSG_RESULT((default) $ac_cv_ipv6)
+])
+if test "$ac_cv_ipv6" = "yes" ; then
+        AC_DEFINE(IPV6)
+fi
+])dnl
+
+
+dnl EGG_TYPE_SOCKLEN_T
+dnl
+AC_DEFUN(EGG_TYPE_SOCKLEN_T, [dnl
+AC_CACHE_CHECK(for socklen_t, egg_cv_var_socklen_t, [
+AC_TRY_COMPILE([#include <sys/param.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+], [
+socklen_t x;
+x = 0;
+], egg_cv_var_socklen_t="yes", egg_cv_var_socklen_t="no")
+])
+if test "$egg_cv_var_socklen_t" = "no"
+then
+  AC_DEFINE(socklen_t, unsigned)dnl
+fi
+])dnl
+
+
+dnl EGG_INADDR_LOOPBACK
+dnl
+AC_DEFUN(EGG_INADDR_LOOPBACK, [dnl
+AC_MSG_CHECKING(for INADDR_LOOPBACK)
+AC_CACHE_VAL(adns_cv_decl_inaddrloopback,[
+ AC_TRY_COMPILE([
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+ ],[
+  INADDR_LOOPBACK;
+ ],
+ adns_cv_decl_inaddrloopback=yes,
+ adns_cv_decl_inaddrloopback=no)])
+if test "$adns_cv_decl_inaddrloopback" = yes; then
+ AC_MSG_RESULT(found)
+else
+ AC_MSG_RESULT([not in standard headers, urgh...])
+ AC_CHECK_HEADER(rpc/types.h,[
+  AC_DEFINE(HAVEUSE_RPCTYPES_H)
+ ],[
+  AC_MSG_ERROR([cannot find INADDR_LOOPBACK or rpc/types.h])
+ ])
+fi
+])dnl
+
+dnl EGG_IPV6_SUPPORTED
+dnl
+AC_DEFUN(EGG_IPV6_SUPPORTED, [dnl
+AC_MSG_CHECKING(for kernel IPv6 support)
+AC_CACHE_VAL(egg_cv_ipv6_supported,[
+ AC_TRY_RUN([
+#include <fcntl.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <unistd.h>
+#include <errno.h>
+#include <stdio.h>
+
+int main()
+{
+    struct sockaddr_in6 sin6;
+    int s = socket(AF_INET6, SOCK_STREAM, 0);
+    if (s != -1)
+	close(s);
+    return s == -1;
+}
+], egg_cv_ipv6_supported=yes, egg_cv_ipv6_supported=no,
+egg_cv_ipv6_supported=no)])
+if test "$egg_cv_ipv6_supported" = yes; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+])dnl
+
+dnl EGG_DEFINE_VERSION_NUM
+dnl
+AC_DEFUN(EGG_DEFINE_VERSION_NUM, [dnl
+egg_version_num=`echo $VERSION | $AWK 'BEGIN {FS = "."} {printf("%d%02d%02d00", [$]1, [$]2, [$]3)}'`
+AC_DEFINE_UNQUOTED(VERSION_NUM, $egg_version_num)
+])dnl
+
+dnl EGG_GNU_GETTEXT
+dnl
+AC_DEFUN(EGG_GNU_GETTEXT, [dnl
+AC_MSG_CHECKING(for avaible translations)
+ALL_LINGUAS=""
+cd po   
+for LOC in `ls *.po 2> /dev/null`; do
+  ALL_LINGUAS="$ALL_LINGUAS `echo $LOC | awk 'BEGIN {FS = "."} {printf("%s", [$]1)}'`"
+done
+cd ..
+AC_MSG_RESULT($ALL_LINGUAS)
+
+AM_GNU_GETTEXT
+])dnl
+
+# FIXME: make it optional
+dnl EGG_DEBUG_OPTIONS
+dnl
+AC_DEFUN(EGG_DEBUG_OPTIONS, [dnl
+EGG_DEBUG="-DDEBUG_MEM -DEBUG_ASSERT"
+AC_SUBST(EGG_DEBUG)
+])dnl
+
+dnl EGG_COMPRESS_MODULE
+dnl
+AC_DEFUN(EGG_COMPRESS_MODULE, [dnl
+
+egg_compress=false
+
+AC_CHECK_LIB(z, gzopen, ZLIB="-lz", )
+AC_CHECK_HEADER(zlib.h)
+
+# Disable the module if either the header file or the library
+# are missing.
+if test "x${ZLIB}" = x; then
+  cat >&2 <<EOF
+configure: warning:
+
+  Your system does not provide a working zlib compression library. The
+  compress module will therefore be disabled.
+
+EOF
+else
+  if test "${ac_cv_header_zlib_h}" != yes; then
+    cat >&2 <<EOF
+configure: warning:
+
+  Your system does not provide the necessary zlib header files. The
+  compress module will therefore be disabled.
+
+EOF
+  else
+    egg_compress=true
+    AC_FUNC_MMAP
+    AC_SUBST(ZLIB)
+  fi
+fi
+
+AM_CONDITIONAL(EGG_COMPRESS, test x$egg_compress = xtrue)
+
+])
+
Index: eggdrop1.7/aclocal.m4
diff -u eggdrop1.7/aclocal.m4:1.54 eggdrop1.7/aclocal.m4:removed
--- eggdrop1.7/aclocal.m4:1.54	Tue Aug 21 19:41:57 2001
+++ eggdrop1.7/aclocal.m4	Tue Oct  9 20:20:25 2001
@@ -1,1956 +0,0 @@
-dnl aclocal.m4
-dnl   macros autoconf uses when building configure from configure.in
-dnl
-dnl $Id: aclocal.m4,v 1.54 2001/08/22 00:41:57 ite Exp $
-dnl
-
-
-dnl  EGG_MSG_CONFIGURE_START()
-dnl
-AC_DEFUN(EGG_MSG_CONFIGURE_START, [dnl
-AC_MSG_RESULT()
-AC_MSG_RESULT(This is eggdrop's GNU configure script.)
-AC_MSG_RESULT(It's going to run a bunch of strange tests to hopefully)
-AC_MSG_RESULT(make your compile work without much twiddling.)
-AC_MSG_RESULT()
-])dnl
-
-
-dnl  EGG_MSG_CONFIGURE_END()
-dnl
-AC_DEFUN(EGG_MSG_CONFIGURE_END, [dnl
-AC_MSG_RESULT()
-AC_MSG_RESULT(Configure is done.)
-AC_MSG_RESULT()
-AC_MSG_RESULT(Type 'make config' to configure the modules. Or 'make iconfig' to)
-AC_MSG_RESULT(interactively choose which modules to compile.)
-AC_MSG_RESULT()
-if test -f "./$EGGEXEC"
-then
-  AC_MSG_RESULT([After that, type 'make clean' and then 'make' to create the bot.])
-else
-  AC_MSG_RESULT([After that, type 'make' to create the bot.])
-fi
-AC_MSG_RESULT()
-])dnl
-
-
-dnl  EGG_CHECK_CC()
-dnl
-dnl  FIXME: make a better test
-dnl
-AC_DEFUN(EGG_CHECK_CC, [dnl
-if test "${cross_compiling-x}" = "x"
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  This system does not appear to have a working C compiler.
-  A working C compiler is required to compile eggdrop.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_CHECK_CCPIPE()
-dnl
-dnl  Checks whether the compiler supports the `-pipe' flag, which
-dnl  speeds up the compilation.
-AC_DEFUN(EGG_CHECK_CCPIPE, [dnl
-if test -z "$no_pipe"
-then
-  if test -n "$GCC"
-  then
-    AC_CACHE_CHECK(whether the compiler understands -pipe, egg_cv_var_ccpipe, [dnl
-      ac_old_CC="$CC"
-      CC="$CC -pipe"
-      AC_TRY_COMPILE(,, egg_cv_var_ccpipe="yes", egg_cv_var_ccpipe="no")
-      CC="$ac_old_CC"
-    ])
-    if test "$egg_cv_var_ccpipe" = "yes"
-    then
-      CC="$CC -pipe"
-    fi
-  fi
-fi
-])dnl
-
-
-dnl  EGG_PROG_STRIP()
-dnl
-AC_DEFUN(EGG_PROG_STRIP, [dnl
-AC_CHECK_PROG(STRIP, strip, strip)
-if test "${STRIP-x}" = "x"
-then
-  STRIP=touch
-fi
-])dnl
-
-
-dnl  EGG_PROG_AWK()
-dnl
-AC_DEFUN(EGG_PROG_AWK, [dnl
-# awk is needed for Tcl library and header checks, and eggdrop version subst
-AC_PROG_AWK
-if test "${AWK-x}" = "x"
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  This system seems to lack a working 'awk' command.
-  A working 'awk' command is required to compile eggdrop.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_PROG_BASENAME()
-dnl
-AC_DEFUN(EGG_PROG_BASENAME, [dnl
-# basename is needed for Tcl library and header checks
-AC_CHECK_PROG(BASENAME, basename, basename)
-if test "${BASENAME-x}" = "x"
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  This system seems to lack a working 'basename' command.
-  A working 'basename' command is required to compile eggdrop.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_CHECK_OS()
-dnl
-dnl  FIXME/NOTICE:
-dnl    This function is obsolete. Any NEW code/checks should be written
-dnl    as individual tests that will be checked on ALL operating systems.
-dnl
-AC_DEFUN(EGG_CHECK_OS, [dnl
-LINUX=no
-IRIX=no
-SUNOS=no
-HPUX=no
-MOD_CC="$CC"
-MOD_LD="$CC"
-MOD_STRIP="$STRIP"
-SHLIB_CC="$CC"
-SHLIB_LD="$CC"
-SHLIB_STRIP="$STRIP"
-NEED_DL=1
-DEFAULT_MAKE=debug
-MOD_EXT=so
-
-AC_CACHE_CHECK(system type, egg_cv_var_system_type, egg_cv_var_system_type=`$UNAME -s`)
-AC_CACHE_CHECK(system release, egg_cv_var_system_release, egg_cv_var_system_release=`$UNAME -r`)
-
-case "$egg_cv_var_system_type" in
-  BSD/OS)
-    case "`echo $egg_cv_var_system_release | cut -d . -f 1`" in
-      2)
-        NEED_DL=0
-        DEFAULT_MAKE=static
-      ;;
-      3)
-        MOD_CC=shlicc
-        MOD_LD=shlicc
-        MOD_STRIP="$STRIP -d"
-        SHLIB_LD="shlicc -r"
-        SHLIB_STRIP=touch
-        AC_DEFINE(MODULES_OK)dnl
-      ;;
-      *)
-        CFLAGS="$CFLAGS -Wall"
-        MOD_LD="$CC"
-        MOD_STRIP="$STRIP -d"
-        SHLIB_CC="$CC -export-dynamic -fPIC"
-        SHLIB_LD="$CC -shared -nostartfiles"
-        AC_DEFINE(MODULES_OK)dnl
-      ;;
-    esac
-  ;;
-  CYGWIN*)
-    case "`echo $egg_cv_var_system_release | cut -c 1-3`" in
-      1.*)
-        NEED_DL=0
-        SHLIB_LD="$CC -shared"
-	AC_PROG_CC_WIN32
-	CC="$CC $WIN32FLAGS"
-        MOD_CC="$CC"
-        MOD_LD="$CC"
-        AC_MSG_CHECKING(for /usr/lib/binmode.o)
-        if test -r /usr/lib/binmode.o
-        then
-          AC_MSG_RESULT(yes)
-          LIBS="$LIBS /usr/lib/binmode.o"
-        else
-          AC_MSG_RESULT(no)
-          AC_MSG_WARN(Make sure the directory eggdrop is installed into is mounted in binary mode.)
-        fi
-        MOD_EXT=dll
-        AC_DEFINE(MODULES_OK)dnl
-      ;;
-      *)
-        NEED_DL=0
-        DEFAULT_MAKE=static
-        AC_MSG_WARN(Make sure the directory eggdrop is installed into is mounted in binary mode.)
-      ;;
-    esac
-  ;;
-  HP-UX)
-    HPUX=yes
-    MOD_LD="$CC -fPIC -shared"
-    SHLIB_CC="$CC -fPIC"
-    SHLIB_LD="ld -b"
-    NEED_DL=0
-    AC_DEFINE(MODULES_OK)dnl
-    AC_DEFINE(HPUX_HACKS)dnl
-    if test "`echo $egg_cv_var_system_release | cut -d . -f 2`" = "10"
-    then
-      AC_DEFINE(HPUX10_HACKS)dnl
-    fi
-  ;;
-  dell)
-    AC_MSG_RESULT(Dell SVR4)
-    SHLIB_STRIP=touch
-    NEED_DL=0
-    MOD_LD="$CC -lelf -lucb"
-  ;;
-  IRIX)
-    SHLIB_LD="ld -n32 -shared -rdata_shared"
-    IRIX=yes
-    SHLIB_STRIP=touch
-    NEED_DL=0
-    DEFAULT_MAKE=static
-  ;;
-  Ultrix)
-    NEED_DL=0
-    SHLIB_STRIP=touch
-    DEFAULT_MAKE=static
-    SHELL=/bin/sh5
-  ;;
-  SINIX*)
-    NEED_DL=0
-    SHLIB_STRIP=touch
-    DEFAULT_MAKE=static
-    SHLIB_CC="cc -G"
-  ;;
-  BeOS)
-    NEED_DL=0
-    SHLIB_STRIP=strip
-    DEFAULT_MAKE=static
-  ;;
-  Linux)
-    LINUX=yes
-    CFLAGS="$CFLAGS -Wall"
-    MOD_LD="$CC"
-    SHLIB_CC="$CC -fPIC"
-    SHLIB_LD="$CC -shared -nostartfiles"
-    AC_DEFINE(MODULES_OK)dnl
-  ;;
-  Lynx)
-    NEED_DL=0
-    DEFAULT_MAKE=static
-    SHLIB_STRIP=strip
-  ;;
-  QNX)
-    NEED_DL=0
-    DEFAULT_MAKE=static
-    SHLIB_LD="ld -shared"
-    SHLIB_STRIP=strip
-  ;;
-  OSF1)
-    case "`echo $egg_cv_var_system_release | cut -d . -f 1`" in
-      V*)
-        # FIXME: we should check this in a seperate test
-        # Digital OSF uses an ancient version of gawk
-        if test "$AWK" = "gawk"
-        then
-          AWK=awk
-        fi
-        MOD_CC=cc
-        MOD_LD=cc
-        SHLIB_CC=cc
-        SHLIB_LD="ld -shared -expect_unresolved \"'*'\""
-        SHLIB_STRIP=touch
-        AC_DEFINE(MODULES_OK)dnl
-      ;;
-      1.0|1.1|1.2)
-        SHLIB_LD="ld -R -export $@:"
-        AC_DEFINE(MODULES_OK)dnl
-        AC_DEFINE(OSF1_HACKS)dnl
-      ;;
-      1.*)
-        SHLIB_CC="$CC -fpic"
-        SHLIB_LD="ld -shared"
-        AC_DEFINE(MODULES_OK)dnl
-        AC_DEFINE(OSF1_HACKS)dnl
-      ;;
-      *)
-        NEED_DL=0
-        DEFAULT_MAKE=static
-      ;;
-    esac
-    AC_DEFINE(STOP_UAC)dnl
-  ;;
-  SunOS)
-    if test "`echo $egg_cv_var_system_release | cut -d . -f 1`" = "5"
-    then
-      # Solaris
-      if test -n "$GCC"
-      then
-        SHLIB_CC="$CC -fPIC"
-        SHLIB_LD="$CC"
-      else
-        SHLIB_CC="$CC -KPIC"
-        SHLIB_LD="$CC -G -z text"
-      fi
-    else
-      # SunOS 4
-      SUNOS=yes
-      SHLIB_LD=ld
-      SHLIB_CC="$CC -PIC"
-      AC_DEFINE(DLOPEN_1)dnl
-    fi
-    AC_DEFINE(MODULES_OK)dnl
-  ;;
-  *BSD)
-    # FreeBSD/OpenBSD/NetBSD
-    SHLIB_CC="$CC -fPIC"
-    SHLIB_LD="ld -Bshareable -x"
-    AC_DEFINE(MODULES_OK)dnl
-  ;;
-  *)
-    AC_MSG_CHECKING(if system is Mach based)
-    if test -r /mach
-    then
-      AC_MSG_RESULT(yes)
-      NEED_DL=0
-      DEFAULT_MAKE=static
-      AC_DEFINE(BORGCUBES)dnl
-    else
-      AC_MSG_RESULT(no)
-      AC_MSG_CHECKING(if system is QNX)
-      if test -r /cmds
-      then
-        AC_MSG_RESULT(yes)
-        SHLIB_STRIP=touch
-        NEED_DL=0
-        DEFAULT_MAKE=static
-      else
-        AC_MSG_RESULT(no)
-        AC_MSG_RESULT(Something unknown!)
-        AC_MSG_RESULT([If you get dynamic modules to work, be sure to let the devel team know HOW :)])
-        NEED_DL=0
-        DEFAULT_MAKE=static
-      fi
-    fi
-  ;;
-esac
-AC_SUBST(MOD_LD)dnl
-AC_SUBST(MOD_CC)dnl
-AC_SUBST(MOD_STRIP)dnl
-AC_SUBST(SHLIB_LD)dnl
-AC_SUBST(SHLIB_CC)dnl
-AC_SUBST(SHLIB_STRIP)dnl
-AC_SUBST(DEFAULT_MAKE)dnl
-AC_SUBST(MOD_EXT)dnl
-AC_DEFINE_UNQUOTED(EGG_MOD_EXT, "$MOD_EXT")dnl
-])dnl
-
-
-dnl  EGG_CHECK_LIBS()
-dnl
-AC_DEFUN(EGG_CHECK_LIBS, [dnl
-# FIXME: this needs to be fixed so that it works on IRIX
-if test "$IRIX" = "yes"
-then
-  AC_MSG_WARN(Skipping library tests because they CONFUSE Irix.)
-else
-  AC_CHECK_LIB(socket, socket)
-  AC_CHECK_LIB(nsl, connect)
-  AC_CHECK_LIB(dns, gethostbyname)
-  AC_CHECK_LIB(dl, dlopen)
-  AC_CHECK_LIB(m, tan, EGG_MATH_LIB="-lm")
-  # This is needed for Tcl libraries compiled with thread support
-  AC_CHECK_LIB(pthread, pthread_mutex_init, [dnl
-  ac_cv_lib_pthread_pthread_mutex_init=yes
-  ac_cv_lib_pthread="-lpthread"], [dnl
-    AC_CHECK_LIB(pthread, __pthread_mutex_init, [dnl
-    ac_cv_lib_pthread_pthread_mutex_init=yes
-    ac_cv_lib_pthread="-lpthread"], [dnl
-      AC_CHECK_LIB(pthreads, pthread_mutex_init, [dnl
-      ac_cv_lib_pthread_pthread_mutex_init=yes
-      ac_cv_lib_pthread="-lpthreads"], [dnl
-        AC_CHECK_FUNC(pthread_mutex_init, [dnl
-        ac_cv_lib_pthread_pthread_mutex_init=yes
-        ac_cv_lib_pthread=""],
-        ac_cv_lib_pthread_pthread_mutex_init=no)])])])
-  if test "$SUNOS" = "yes"
-  then
-    # For suns without yp or something like that
-    AC_CHECK_LIB(dl, main)
-  else
-    if test "$HPUX" = "yes"
-    then
-      AC_CHECK_LIB(dld, shl_load)
-    fi
-  fi
-fi
-])dnl
-
-
-dnl  EGG_CHECK_FUNC_VSPRINTF()
-dnl
-AC_DEFUN(EGG_CHECK_FUNC_VSPRINTF, [dnl
-AC_CHECK_FUNCS(vsprintf)
-if test "$ac_cv_func_vsprintf" = "no"
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  Your system does not have the sprintf/vsprintf libraries.
-  These are required to compile almost anything.  Sorry.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_HEADER_STDC()
-dnl
-AC_DEFUN(EGG_HEADER_STDC, [dnl
-if test "$ac_cv_header_stdc" = "no"
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  Your system must support ANSI C Header files.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_CHECK_LIBSAFE_SSCANF()
-dnl
-AC_DEFUN(EGG_CHECK_LIBSAFE_SSCANF, [dnl
-AC_CACHE_CHECK(for broken libsafe sscanf, egg_cv_var_libsafe_sscanf, [dnl
-  AC_TRY_RUN([
-#include <stdio.h>
-
-int main()
-{
-  char *src = "0x001,guppyism\n";
-  char dst[10];
-  int idx;
-  if (sscanf(src, "0x%x,%10c", &idx, dst) == 1)
-    exit(1);
-  return 0;
-}
-], egg_cv_var_libsafe_sscanf="no", egg_cv_var_libsafe_sscanf="yes",
-egg_cv_var_libsafe_sscanf="no")
-])
-if test "$egg_cv_var_libsafe_sscanf" = "yes"
-then
-  AC_DEFINE(LIBSAFE_HACKS)dnl
-fi
-])dnl
-
-
-dnl  EGG_CYGWIN()
-dnl
-dnl  Check for Cygwin support.
-AC_DEFUN(EGG_CYGWIN, [dnl
-AC_CYGWIN
-if test "$ac_cv_cygwin" = "yes"
-then
-  AC_DEFINE(CYGWIN_HACKS)dnl
-fi
-])dnl
-
-
-dnl  EGG_EXEEXT()
-dnl
-dnl  Test for executable suffix and define eggdrop's executable name
-dnl  accordingly.
-AC_DEFUN(EGG_EXEEXT, [dnl
-EGGEXEC=eggdrop
-AC_EXEEXT
-if test ! "${EXEEXT-x}" = "x"
-then
-  EGGEXEC="eggdrop$EXEEXT"
-fi
-AC_SUBST(EGGEXEC)dnl
-])dnl
-
-
-dnl  EGG_TCL_ARG_WITH()
-dnl
-AC_DEFUN(EGG_TCL_ARG_WITH, [dnl
-# oohh new configure --variables for those with multiple tcl libs
-AC_ARG_WITH(tcllib, [  --with-tcllib=PATH      full path to tcl library], tcllibname="$withval")
-AC_ARG_WITH(tclinc, [  --with-tclinc=PATH      full path to tcl header], tclincname="$withval")
-
-WARN=0
-# Make sure either both or neither $tcllibname and $tclincname are set
-if test ! "${tcllibname-x}" = "x"
-then
-  if test "${tclincname-x}" = "x"
-  then
-    WARN=1
-    tcllibname=""
-    TCLLIB=""
-    TCLINC=""
-  fi
-else
-  if test ! "${tclincname-x}" = "x"
-  then
-    WARN=1
-    tclincname=""
-    TCLLIB=""
-    TCLINC=""
-  fi
-fi
-if test "$WARN" = 1
-then
-  cat << 'EOF' >&2
-configure: warning:
-
-  You must specify both --with-tcllib and --with-tclinc for them to work.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-fi
-])dnl
-
-
-dnl  EGG_TCL_ENV()
-dnl
-AC_DEFUN(EGG_TCL_ENV, [dnl
-WARN=0
-# Make sure either both or neither $TCLLIB and $TCLINC are set
-if test ! "${TCLLIB-x}" = "x"
-then
-  if test "${TCLINC-x}" = "x"
-  then
-    WARN=1
-    WVAR1=TCLLIB
-    WVAR2=TCLINC
-    TCLLIB=""
-  fi
-else
-  if test ! "${TCLINC-x}" = "x"
-  then
-    WARN=1
-    WVAR1=TCLINC
-    WVAR2=TCLLIB
-    TCLINC=""
-  fi
-fi
-if test "$WARN" = 1
-then
-  cat << EOF >&2
-configure: warning:
-
-  Environment variable $WVAR1 was set, but I did not detect ${WVAR2}.
-  Please set both TCLLIB and TCLINC correctly if you wish to use them.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-fi
-])dnl
-
-
-dnl  EGG_TCL_WITH_TCLLIB()
-dnl
-AC_DEFUN(EGG_TCL_WITH_TCLLIB, [dnl
-# Look for Tcl library: if $tcllibname is set, check there first
-if test ! "${tcllibname-x}" = "x"
-then
-  if test -f "$tcllibname" && test -r "$tcllibname"
-  then
-    TCLLIB=`echo $tcllibname | sed 's%/[[^/]][[^/]]*$%%'`
-    TCLLIBFN=`$BASENAME $tcllibname | cut -c4-`
-    TCLLIBEXT=".`echo $TCLLIBFN | $AWK '{j=split([$]1, i, "."); print i[[j]]}'`"
-    TCLLIBFNS=`$BASENAME $tcllibname $TCLLIBEXT | cut -c4-`
-  else
-    cat << EOF >&2
-configure: warning:
-
-  The file '$tcllibname' given to option --with-tcllib is not valid.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-    tcllibname=""
-    tclincname=""
-    TCLLIB=""
-    TCLLIBFN=""
-    TCLINC=""
-    TCLINCFN=""
-  fi
-fi
-])dnl
-
-
-dnl  EGG_TCL_WITH_TCLINC()
-dnl
-AC_DEFUN(EGG_TCL_WITH_TCLINC, [dnl
-# Look for Tcl header: if $tclincname is set, check there first
-if test ! "${tclincname-x}" = "x"
-then
-  if test -f "$tclincname" && test -r "$tclincname"
-  then
-    TCLINC=`echo $tclincname | sed 's%/[[^/]][[^/]]*$%%'`
-    TCLINCFN=`$BASENAME $tclincname`
-  else
-    cat << EOF >&2
-configure: warning:
-
-  The file '$tclincname' given to option --with-tclinc is not valid.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-    tcllibname=""
-    tclincname=""
-    TCLLIB=""
-    TCLLIBFN=""
-    TCLINC=""
-    TCLINCFN=""
-  fi
-fi
-])dnl
-
-
-dnl  EGG_TCL_FIND_LIBRARY()
-dnl
-AC_DEFUN(EGG_TCL_FIND_LIBRARY, [dnl
-# Look for Tcl library: if $TCLLIB is set, check there first
-if test "${TCLLIBFN-x}" = "x"
-then
-  if test ! "${TCLLIB-x}" = "x"
-  then
-    if test -d "$TCLLIB"
-    then
-      for tcllibfns in $tcllibnames
-      do
-        for tcllibext in $tcllibextensions
-        do
-          if test -r "$TCLLIB/lib$tcllibfns$tcllibext"
-          then
-            TCLLIBFN="$tcllibfns$tcllibext"
-            TCLLIBEXT="$tcllibext"
-            TCLLIBFNS="$tcllibfns"
-            break 2
-          fi
-        done
-      done
-    fi
-    if test "${TCLLIBFN-x}" = "x"
-    then
-      cat << 'EOF' >&2
-configure: warning:
-
-  Environment variable TCLLIB was set, but incorrect.
-  Please set both TCLLIB and TCLINC correctly if you wish to use them.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-      TCLLIB=""
-      TCLLIBFN=""
-      TCLINC=""
-      TCLINCFN=""
-    fi
-  fi
-fi
-])dnl
-
-
-dnl  EGG_TCL_FIND_HEADER()
-dnl
-AC_DEFUN(EGG_TCL_FIND_HEADER, [dnl
-# Look for Tcl header: if $TCLINC is set, check there first
-if test "${TCLINCFN-x}" = "x"
-then
-  if test ! "${TCLINC-x}" = "x"
-  then
-    if test -d "$TCLINC"
-    then
-      for tclheaderfn in $tclheadernames
-      do
-        if test -r "$TCLINC/$tclheaderfn"
-        then
-          TCLINCFN="$tclheaderfn"
-          break
-        fi
-      done
-    fi
-    if test "${TCLINCFN-x}" = "x"
-    then
-      cat << 'EOF' >&2
-configure: warning:
-
-  Environment variable TCLINC was set, but incorrect.
-  Please set both TCLLIB and TCLINC correctly if you wish to use them.
-  configure will now attempt to autodetect both the Tcl library and header...
-
-EOF
-      TCLLIB=""
-      TCLLIBFN=""
-      TCLINC=""
-      TCLINCFN=""
-    fi
-  fi
-fi
-])dnl
-
-
-dnl  EGG_TCL_CHECK_LIBRARY()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_LIBRARY, [dnl
-AC_MSG_CHECKING(for Tcl library)
-
-# Attempt autodetect for $TCLLIBFN if it's not set
-if test ! "${TCLLIBFN-x}" = "x"
-then
-  AC_MSG_RESULT(using $TCLLIB/lib$TCLLIBFN)
-else
-  for tcllibfns in $tcllibnames
-  do
-    for tcllibext in $tcllibextensions
-    do
-      for tcllibpath in $tcllibpaths
-      do
-        if test -r "$tcllibpath/lib$tcllibfns$tcllibext"
-        then
-          AC_MSG_RESULT(found $tcllibpath/lib$tcllibfns$tcllibext)
-          TCLLIB="$tcllibpath"
-          TCLLIBFN="$tcllibfns$tcllibext"
-          TCLLIBEXT="$tcllibext"
-          TCLLIBFNS="$tcllibfns"
-          break 3
-        fi
-      done
-    done
-  done
-fi
-
-# Show if $TCLLIBFN wasn't found
-if test "${TCLLIBFN-x}" = "x"
-then
-  AC_MSG_RESULT(not found)
-fi
-AC_SUBST(TCLLIB)dnl
-AC_SUBST(TCLLIBFN)dnl
-])dnl
-
-
-dnl  EGG_TCL_CHECK_HEADER()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_HEADER, [dnl
-AC_MSG_CHECKING(for Tcl header)
-
-# Attempt autodetect for $TCLINCFN if it's not set
-if test ! "${TCLINCFN-x}" = "x"
-then
-  AC_MSG_RESULT(using $TCLINC/$TCLINCFN)
-else
-  for tclheaderpath in $tclheaderpaths
-  do
-    for tclheaderfn in $tclheadernames
-    do
-      if test -r "$tclheaderpath/$tclheaderfn"
-      then
-        AC_MSG_RESULT(found $tclheaderpath/$tclheaderfn)
-        TCLINC="$tclheaderpath"
-        TCLINCFN="$tclheaderfn"
-        break 2
-      fi
-    done
-  done
-  # FreeBSD hack ...
-  if test "${TCLINCFN-x}" = "x"
-  then
-    for tcllibfns in $tcllibnames
-    do
-      for tclheaderpath in $tclheaderpaths
-      do
-        for tclheaderfn in $tclheadernames
-        do
-          if test -r "$tclheaderpath/$tcllibfns/$tclheaderfn"
-          then
-            AC_MSG_RESULT(found $tclheaderpath/$tcllibfns/$tclheaderfn)
-            TCLINC="$tclheaderpath/$tcllibfns"
-            TCLINCFN="$tclheaderfn"
-            break 3
-          fi
-        done
-      done
-    done
-  fi
-fi
-
-# Show if $TCLINCFN wasn't found
-if test "${TCLINCFN-x}" = "x"
-then
-  AC_MSG_RESULT(not found)
-fi
-AC_SUBST(TCLINC)dnl
-AC_SUBST(TCLINCFN)dnl
-])dnl
-
-
-dnl  EGG_CACHE_UNSET(CACHE-ID)
-dnl
-dnl  Unsets a certain cache item. Typically called before using
-dnl  the AC_CACHE_*() macros.
-AC_DEFUN(EGG_CACHE_UNSET, [dnl
-  unset $1
-])
-
-
-dnl  EGG_TCL_DETECT_CHANGE()
-dnl
-dnl  Detect whether the tcl system has changed since our last
-dnl  configure run. Set egg_tcl_changed accordingly.
-dnl
-dnl  Tcl related feature and version checks should re-run their
-dnl  checks as soon as egg_tcl_changed is set to "yes".
-AC_DEFUN(EGG_TCL_DETECT_CHANGE, [dnl
-  AC_MSG_CHECKING(whether the tcl system has changed)
-  egg_tcl_changed=yes
-  egg_tcl_id="$TCLLIB:$TCLLIBFN:$TCLINC:$TCLINCFN"
-  if test ! "$egg_tcl_id" = ":::"
-  then
-    egg_tcl_cached=yes
-    AC_CACHE_VAL(egg_cv_var_tcl_id, [dnl
-      egg_cv_var_tcl_id="$egg_tcl_id"
-      egg_tcl_cached=no
-    ])
-    if test "$egg_tcl_cached" = "yes"
-    then
-      if test "${egg_cv_var_tcl_id-x}" = "${egg_tcl_id-x}"
-      then
-        egg_tcl_changed=no
-      else
-        egg_cv_var_tcl_id="$egg_tcl_id"
-      fi
-    fi
-  fi
-  if test "$egg_tcl_changed" = "yes"
-  then
-    AC_MSG_RESULT(yes)
-  else
-    AC_MSG_RESULT(no)
-  fi
-])
-
-
-dnl  EGG_TCL_CHECK_VERSION()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_VERSION, [dnl
-# Both TCLLIBFN & TCLINCFN must be set, or we bail
-TCL_FOUND=0
-if test ! "${TCLLIBFN-x}" = "x" && test ! "${TCLINCFN-x}" = "x"
-then
-  TCL_FOUND=1
-
-  # Check Tcl's version
-  if test "$egg_tcl_changed" = "yes"
-  then
-    EGG_CACHE_UNSET(egg_cv_var_tcl_version)
-  fi
-  AC_MSG_CHECKING(for Tcl version)
-  AC_CACHE_VAL(egg_cv_var_tcl_version, [dnl
-    egg_cv_var_tcl_version=`grep TCL_VERSION $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`
-  ])
-
-  if test ! "${egg_cv_var_tcl_version-x}" = "x"
-  then
-    AC_MSG_RESULT($egg_cv_var_tcl_version)
-  else
-    AC_MSG_RESULT(not found)
-    TCL_FOUND=0
-  fi
-
-  # Check Tcl's patch level (if avaliable)
-  if test "$egg_tcl_changed" = "yes"
-  then
-    EGG_CACHE_UNSET(egg_cv_var_tcl_patch_level)
-  fi
-  AC_MSG_CHECKING(for Tcl patch level)
-  AC_CACHE_VAL(egg_cv_var_tcl_patch_level, [dnl
-    eval "egg_cv_var_tcl_patch_level=`grep TCL_PATCH_LEVEL $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`"
-  ])
-
-  if test ! "${egg_cv_var_tcl_patch_level-x}" = "x"
-  then
-    AC_MSG_RESULT($egg_cv_var_tcl_patch_level)
-  else
-    egg_cv_var_tcl_patch_level="unknown"
-    AC_MSG_RESULT(unknown)
-  fi
-fi
-
-# Check if we found Tcl's version
-if test "$TCL_FOUND" = 0
-then
-  cat << 'EOF' >&2
-configure: error:
-
-  I can't find Tcl on this system.
-
-  Eggdrop requires Tcl to compile.  If you already have Tcl installed
-  on this system, and I just wasn't looking in the right place for it,
-  set the environment variables TCLLIB and TCLINC so I will know where
-  to find 'libtcl.a' (or 'libtcl.so') and 'tcl.h' (respectively). Then
-  run 'configure' again.
-
-  Read the README file if you don't know what Tcl is or how to get it
-  and install it.
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_TCL_CHECK_PRE70()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_PRE70, [dnl
-# Is this version of Tcl too old for us to use ?
-TCL_VER_PRE70=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (i[[1]] < 7) print "yes"; else print "no"}'`
-if test "$TCL_VER_PRE70" = "yes"
-then
-  cat << EOF >&2
-configure: error:
-
-  Your Tcl version is much too old for eggdrop to use.
-  I suggest you download and complie a more recent version.
-  The most reliable current version is $tclrecommendver and
-  can be downloaded from $tclrecommendsite
-
-EOF
-  exit 1
-fi
-])dnl
-
-
-dnl  EGG_TCL_CHECK_PRE75()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_PRE75, [dnl
-# Are we using a pre 7.5 Tcl version ?
-TCL_VER_PRE75=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 5)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
-if test "$TCL_VER_PRE75" = "yes"
-then
-  AC_DEFINE(HAVE_PRE7_5_TCL)dnl
-fi
-])dnl
-
-
-dnl  EGG_TCL_TESTLIBS()
-dnl
-AC_DEFUN(EGG_TCL_TESTLIBS, [dnl
-# Set variables for Tcl library tests
-TCL_TEST_LIB="$TCLLIBFNS"
-TCL_TEST_OTHERLIBS="-L$TCLLIB $EGG_MATH_LIB"
-
-if test ! "${ac_cv_lib_pthread-x}" = "x"
-then
-  TCL_TEST_OTHERLIBS="$TCL_TEST_OTHERLIBS $ac_cv_lib_pthread"
-fi
-])dnl
-
-
-dnl  EGG_TCL_CHECK_FREE()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_FREE, [dnl
-if test "$egg_tcl_changed" = "yes"
-then
-  EGG_CACHE_UNSET(egg_cv_var_tcl_free)
-fi
-
-# Check for Tcl_Free()
-AC_CHECK_LIB($TCL_TEST_LIB, Tcl_Free, egg_cv_var_tcl_free="yes", egg_cv_var_tcl_free="no", $TCL_TEST_OTHERLIBS)
-
-if test "$egg_cv_var_tcl_free" = "yes"
-then
-  AC_DEFINE(HAVE_TCL_FREE)dnl
-fi
-])dnl
-
-
-dnl  EGG_TCL_ENABLE_THREADS()
-dnl
-AC_DEFUN(EGG_TCL_ENABLE_THREADS, [dnl
-AC_ARG_ENABLE(tcl-threads,
-[  --disable-tcl-threads   Disable threaded tcl support if detected. (Ignore this
-                          option unless you know what you are doing)],
-enable_tcl_threads="$enableval",
-enable_tcl_threads=yes)
-])dnl
-
-
-dnl  EGG_TCL_CHECK_THREADS()
-dnl
-AC_DEFUN(EGG_TCL_CHECK_THREADS, [dnl
-if test "$egg_tcl_changed" = "yes"
-then
-  EGG_CACHE_UNSET(egg_cv_var_tcl_threaded)
-fi
-
-# Check for TclpFinalizeThreadData()
-AC_CHECK_LIB($TCL_TEST_LIB, TclpFinalizeThreadData, egg_cv_var_tcl_threaded="yes", egg_cv_var_tcl_threaded="no", $TCL_TEST_OTHERLIBS)
-
-if test "$egg_cv_var_tcl_threaded" = "yes"
-then
-  if test "$enable_tcl_threads" = "no"
-  then
-
-    cat << 'EOF' >&2
-configure: warning:
-
-  You have disabled threads support on a system with a threaded Tcl library.
-  Tcl features that rely on scheduled events may not function properly.
-
-EOF
-  else
-    AC_DEFINE(HAVE_TCL_THREADS)dnl
-  fi
-
-  # Add pthread library to $LIBS if we need it
-  if test ! "${ac_cv_lib_pthread-x}" = "x"
-  then
-    LIBS="$ac_cv_lib_pthread $LIBS"
-  fi
-fi
-])dnl
-
-
-dnl  EGG_TCL_LIB_REQS()
-dnl
-AC_DEFUN(EGG_TCL_LIB_REQS, [dnl
-if test "$ac_cv_cygwin" = "yes"
-then
-  TCL_REQS="$TCLLIB/lib$TCLLIBFN"
-  TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
-else
-if test ! "$TCLLIBEXT" = ".a"
-then
-  TCL_REQS="$TCLLIB/lib$TCLLIBFN"
-  TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
-else
-
-  # Set default make as static for unshared Tcl library
-  if test ! "$DEFAULT_MAKE" = "static"
-  then
-    cat << 'EOF' >&2
-configure: warning:
-
-  Your Tcl library is not a shared lib.
-  configure will now set default make type to static...
-
-EOF
-    DEFAULT_MAKE=static
-    AC_SUBST(DEFAULT_MAKE)dnl
-  fi
-
-  # Are we using a pre 7.4 Tcl version ?
-  TCL_VER_PRE74=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 4)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
-  if test "$TCL_VER_PRE74" = "no"
-  then
-
-    # Was the --with-tcllib option given ?
-    if test ! "${tcllibname-x}" = "x"
-    then
-      TCL_REQS="$TCLLIB/lib$TCLLIBFN"
-      TCL_LIBS="$TCLLIB/lib$TCLLIBFN $EGG_MATH_LIB"
-    else
-      TCL_REQS="$TCLLIB/lib$TCLLIBFN"
-      TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
-    fi
-  else
-    cat << EOF >&2
-configure: warning:
-
-  Your Tcl version ($egg_cv_var_tcl_version) is older then 7.4.
-  There are known problems, but we will attempt to work around them.
-
-EOF
-    TCL_REQS="libtcle.a"
-    TCL_LIBS="-L`pwd` -ltcle $EGG_MATH_LIB"
-  fi
-fi
-fi
-AC_SUBST(TCL_REQS)dnl
-AC_SUBST(TCL_LIBS)dnl
-])dnl
-
-
-dnl  EGG_FUNC_DLOPEN()
-dnl
-AC_DEFUN(EGG_FUNC_DLOPEN, [dnl
-if test "$NEED_DL" = 1 && test "$ac_cv_func_dlopen" = "no"
-then
-  if test "$LINUX" = "yes"
-  then
-    cat << 'EOF' >&2
-configure: warning:
-
-  Since you are on a Linux system, this has a known problem...
-  I know a kludge for it,
-EOF
-
-    if test -r "/lib/libdl.so.1"
-    then
-      cat << 'EOF' >&2
-  and you seem to have it, so we'll do that...
-
-EOF
-      AC_DEFINE(HAVE_DLOPEN)dnl
-      LIBS="/lib/libdl.so.1 $LIBS"
-    else
-      cat << 'EOF' >&2
-  which you DON'T seem to have... doh!
-  perhaps you may still have the stuff lying around somewhere
-  if you work out where it is, add it to your XLIBS= lines
-  and #define HAVE_DLOPEN in config.h
-
-  we'll proceed on anyway, but you probably won't be able
-  to 'make eggdrop' but you might be able to make the
-  static bot (I'll default your make to this version).
-
-EOF
-      DEFAULT_MAKE=static
-    fi
-  else
-    cat << 'EOF' >&2
-configure: warning:
-
-  You don't seem to have libdl anywhere I can find it, this will
-  prevent you from doing dynamic modules, I'll set your default
-  make to static linking.
-
-EOF
-    DEFAULT_MAKE=static
-  fi
-fi
-])dnl
-
-
-dnl  EGG_SUBST_MOD_UPDIR()
-dnl
-dnl  Since module's Makefiles aren't generated by configure, some
-dnl  paths in src/mod/Makefile.in take care of them. For correct
-dnl  path "calculation", we need to keep absolute paths in mind
-dnl  (which don't need a "../" pre-pended).
-AC_DEFUN(EGG_SUBST_MOD_UPDIR, [dnl
-case "$srcdir" in
-  [[\\/]]* | ?:[[\\/]]*)
-    MOD_UPDIR=""
-  ;;
-  *)
-    MOD_UPDIR="../"
-  ;;
-esac
-AC_SUBST(MOD_UPDIR)dnl
-])dnl
-
-
-dnl  EGG_REPLACE_IF_CHANGED(FILE-NAME, CONTENTS-CMDS, INIT-CMDS)
-dnl
-dnl  Replace FILE-NAME if the newly created contents differs from the existing
-dnl  file contents.  Otherwise leave the file allone.  This avoids needless
-dnl  recompiles.
-dnl
-define(EGG_REPLACE_IF_CHANGED, [dnl
-  AC_OUTPUT_COMMANDS([
-egg_replace_file="$1"
-echo "creating $1"
-$2
-if test -f "$egg_replace_file" && cmp -s conftest.out $egg_replace_file
-then
-  echo "$1 is unchanged"
-else
-  mv conftest.out $egg_replace_file
-fi
-rm -f conftest.out], [$3])dnl
-])dnl
-
-
-dnl  EGG_TCL_LUSH()
-dnl
-AC_DEFUN(EGG_TCL_LUSH, [dnl
-    EGG_REPLACE_IF_CHANGED(lush.h, [
-cat > conftest.out << EGGEOF
-/* Ignore me but do not erase me.  I am a kludge. */
-
-#include "$egg_tclinc/$egg_tclincfn"
-EGGEOF], [
-    egg_tclinc="$TCLINC"
-    egg_tclincfn="$TCLINCFN"])dnl
-])dnl
-
-
-dnl  EGG_CATCH_MAKEFILE_REBUILD()
-dnl
-AC_DEFUN(EGG_CATCH_MAKEFILE_REBUILD, [dnl
-  AC_OUTPUT_COMMANDS([
-if test -f .modules
-then
-  $ac_given_srcdir/misc/modconfig --top_srcdir="$ac_given_srcdir" Makefile
-fi])
-])dnl
-
-
-dnl  EGG_SAVE_PARAMETERS()
-dnl
-AC_DEFUN(EGG_SAVE_PARAMETERS, [dnl
-  dnl  Normally, we shouldn't use this level as it's not intended for this
-  dnl  type of code, but there's no other way to run it before the main
-  dnl  parameter loop in configure.
-  ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-                              [AC_DIVERT_PUSH(NOTICE)])dnl
-  egg_ac_parameters="[$]*"
-  AC_DIVERT_POP()dnl to NORMAL
-  AC_SUBST(egg_ac_parameters)dnl
-])dnl
-
-AC_DEFUN([AC_PROG_CC_WIN32], [
-AC_MSG_CHECKING([how to access the Win32 API])
-WIN32FLAGS=
-AC_TRY_COMPILE(,[
-#ifndef WIN32
-# ifndef _WIN32
-#  error WIN32 or _WIN32 not defined
-# endif
-#endif], [
-dnl found windows.h with the current config.
-AC_MSG_RESULT([present by default])
-], [
-dnl try -mwin32
-ac_compile_save="$ac_compile"
-dnl we change CC so config.log looks correct
-save_CC="$CC"
-ac_compile="$ac_compile -mwin32"
-CC="$CC -mwin32"
-AC_TRY_COMPILE(,[
-#ifndef WIN32
-# ifndef _WIN32
-#  error WIN32 or _WIN32 not defined
-# endif
-#endif], [
-dnl found windows.h using -mwin32
-AC_MSG_RESULT([found via -mwin32])
-ac_compile="$ac_compile_save"
-CC="$save_CC"
-WIN32FLAGS="-mwin32"
-], [
-ac_compile="$ac_compile_save"
-CC="$save_CC"
-AC_MSG_RESULT([not found])
-])
-])
-
-])
-dnl
-
-
-dnl  EGG_ENABLE_IPV6()
-dnl
-AC_DEFUN(EGG_ENABLE_IPV6, [dnl
-AC_MSG_CHECKING(whether you enabled IPv6 support)
-AC_ARG_ENABLE(ipv6,
-[  --enable-ipv6           Enable IPV6 support.
-  --disable-ipv6          Disable IPV6 support. ],
-[ ac_cv_ipv6=$enableval
-  AC_MSG_RESULT($ac_cv_ipv6)
-], [
-  if test "x$egg_cv_ipv6_supported" = "xyes"; then
-    ac_cv_ipv6='yes'
-  else
-    ac_cv_ipv6='no'
-  fi
-  AC_MSG_RESULT((default) $ac_cv_ipv6)
-])
-if test "$ac_cv_ipv6" = "yes" ; then
-        AC_DEFINE(IPV6)
-fi
-])dnl
-
-
-dnl EGG_TYPE_SOCKLEN_T
-dnl
-AC_DEFUN(EGG_TYPE_SOCKLEN_T, [dnl
-AC_CACHE_CHECK(for socklen_t, egg_cv_var_socklen_t, [
-AC_TRY_COMPILE([#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-], [
-socklen_t x;
-x = 0;
-], egg_cv_var_socklen_t="yes", egg_cv_var_socklen_t="no")
-])
-if test "$egg_cv_var_socklen_t" = "no"
-then
-  AC_DEFINE(socklen_t, unsigned)dnl
-fi
-])dnl
-
-
-dnl EGG_INADDR_LOOPBACK
-dnl
-AC_DEFUN(EGG_INADDR_LOOPBACK, [dnl
-AC_MSG_CHECKING(for INADDR_LOOPBACK)
-AC_CACHE_VAL(adns_cv_decl_inaddrloopback,[
- AC_TRY_COMPILE([
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
- ],[
-  INADDR_LOOPBACK;
- ],
- adns_cv_decl_inaddrloopback=yes,
- adns_cv_decl_inaddrloopback=no)])
-if test "$adns_cv_decl_inaddrloopback" = yes; then
- AC_MSG_RESULT(found)
-else
- AC_MSG_RESULT([not in standard headers, urgh...])
- AC_CHECK_HEADER(rpc/types.h,[
-  AC_DEFINE(HAVEUSE_RPCTYPES_H)
- ],[
-  AC_MSG_ERROR([cannot find INADDR_LOOPBACK or rpc/types.h])
- ])
-fi
-])dnl
-
-dnl EGG_IPV6_SUPPORTED
-dnl
-AC_DEFUN(EGG_IPV6_SUPPORTED, [dnl
-AC_MSG_CHECKING(for kernel IPv6 support)
-AC_CACHE_VAL(egg_cv_ipv6_supported,[
- AC_TRY_RUN([
-#include <fcntl.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-
-int main()
-{
-    struct sockaddr_in6 sin6;
-    int s = socket(AF_INET6, SOCK_STREAM, 0);
-    if (s != -1)
-	close(s);
-    return s == -1;
-}
-], egg_cv_ipv6_supported=yes, egg_cv_ipv6_supported=no,
-egg_cv_ipv6_supported=no)])
-if test "$egg_cv_ipv6_supported" = yes; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-])dnl
-
-dnl EGG_DEFINE_VERSION_NUM
-dnl
-AC_DEFUN(EGG_DEFINE_VERSION_NUM, [dnl
-egg_version_num=`echo $VERSION | $AWK 'BEGIN {FS = "."} {printf("%d%02d%02d00", [$]1, [$]2, [$]3)}'`
-AC_DEFINE_UNQUOTED(VERSION_NUM, $egg_version_num)
-])dnl
-
-dnl EGG_GNU_GETTEXT
-dnl
-AC_DEFUN(EGG_GNU_GETTEXT, [dnl
-AC_MSG_CHECKING(for avaible translations)
-ALL_LINGUAS=""
-cd po   
-for LOC in `ls *.po 2> /dev/null`; do
-  ALL_LINGUAS="$ALL_LINGUAS `echo $LOC | awk 'BEGIN {FS = "."} {printf("%s", [$]1)}'`"
-done
-cd ..
-AC_MSG_RESULT($ALL_LINGUAS)
-
-AM_GNU_GETTEXT
-])dnl
-
-#serial AM1
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
-  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-    [AC_TRY_LINK([#include <langinfo.h>],
-      [char* cs = nl_langinfo(CODESET);],
-      am_cv_langinfo_codeset=yes,
-      am_cv_langinfo_codeset=no)
-    ])
-  if test $am_cv_langinfo_codeset = yes; then
-    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-  fi
-])
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper at cygnus.com>, 1995.
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-# serial 10
-
-dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
-dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). Otherwise, a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.
-dnl LIBDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_WITH_NLS],
-  [AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      USE_NLS=$enableval, USE_NLS=yes)
-    AC_MSG_RESULT($USE_NLS)
-    AC_SUBST(USE_NLS)
-
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-    INTLLIBS=
-
-    dnl If we use NLS figure out what method
-    if test "$USE_NLS" = "yes"; then
-      AC_DEFINE(ENABLE_NLS, 1,
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH(included-gettext,
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-	CATOBJEXT=NONE
-
-        dnl Add a version number to the cache macros.
-        define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
-        define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
-
-	AC_CHECK_HEADER(libintl.h,
-	  [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-	    [AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
-	       [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-	       gt_cv_func_gnugettext_libc=yes,
-	       gt_cv_func_gnugettext_libc=no)])
-
-	   if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-	     AC_CACHE_CHECK([for GNU gettext in libintl],
-	       gt_cv_func_gnugettext_libintl,
-	       [gt_save_LIBS="$LIBS"
-		LIBS="$LIBS -lintl $LIBICONV"
-		AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
-		  [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-		  gt_cv_func_gnugettext_libintl=yes,
-		  gt_cv_func_gnugettext_libintl=no)
-		LIBS="$gt_save_LIBS"])
-	   fi
-
-	   dnl If an already present or preinstalled GNU gettext() is found,
-	   dnl use it.  But if this macro is used in GNU gettext, and GNU
-	   dnl gettext is already preinstalled in libintl, we update this
-	   dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-	   if test "$gt_cv_func_gnugettext_libc" = "yes" \
-	      || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-		   && test "$PACKAGE" != gettext; }; then
-	     AC_DEFINE(HAVE_GETTEXT, 1,
-               [Define if the GNU gettext() function is already present or preinstalled.])
-
-	     if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-	       dnl If iconv() is in a separate libiconv library, then anyone
-	       dnl linking with libintl{.a,.so} also needs to link with
-	       dnl libiconv.
-	       INTLLIBS="-lintl $LIBICONV"
-	     fi
-
-	     gt_save_LIBS="$LIBS"
-	     LIBS="$LIBS $INTLLIBS"
-	     AC_CHECK_FUNCS(dcgettext)
-	     LIBS="$gt_save_LIBS"
-
-	     dnl Search for GNU msgfmt in the PATH.
-	     AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-	       [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-	     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-	     dnl Search for GNU xgettext in the PATH.
-	     AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-	       [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
-
-	     CATOBJEXT=.gmo
-	   fi
-	])
-
-        if test "$CATOBJEXT" = "NONE"; then
-	  dnl GNU gettext is not found in the C library.
-	  dnl Fall back on GNU gettext library.
-	  nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        INTLOBJS="\$(GETTOBJS)"
-        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-	  [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-	  [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
-        AC_SUBST(MSGFMT)
-	BUILD_INCLUDED_LIBINTL=yes
-	USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-	INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
-	LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-      dnl Test whether we really found GNU msgfmt.
-      if test "$GMSGFMT" != ":"; then
-	dnl If it is no GNU msgfmt we define it as : so that the
-	dnl Makefiles still can work.
-	if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  AC_MSG_RESULT(
-	    [found msgfmt program is not GNU msgfmt; ignore it])
-	  GMSGFMT=":"
-	fi
-      fi
-
-      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-      dnl Test whether we really found GNU xgettext.
-      if test "$XGETTEXT" != ":"; then
-	dnl If it is no GNU xgettext we define it as : so that the
-	dnl Makefiles still can work.
-	if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  AC_MSG_RESULT(
-	    [found xgettext program is not GNU xgettext; ignore it])
-	  XGETTEXT=":"
-	fi
-      fi
-
-      dnl We need to process the po/ directory.
-      POSUB=po
-    fi
-    AC_OUTPUT_COMMANDS(
-     [for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-        esac
-        # PO directories have a Makefile.in generated from Makefile.in.in.
-        case "$ac_file" in */Makefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-          case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-          esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          fi
-          ;;
-        esac
-      done])
-
-
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-    dnl because plural.y uses bison specific features. It requires at least
-    dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-    dnl compile.
-    dnl bison is only needed for the maintainer (who touches plural.y). But in
-    dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-    dnl the rule in general Makefile. Now, some people carelessly touch the
-    dnl files or have a broken "make" program, hence the plural.c rule will
-    dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-    dnl present or too old.
-    AC_CHECK_PROGS([INTLBISON], [bison])
-    if test -z "$INTLBISON"; then
-      ac_verc_fail=yes
-    else
-      dnl Found it, now check the version.
-      AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
-      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-      case $ac_prog_version in
-        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
-           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-      esac
-      AC_MSG_RESULT([$ac_prog_version])
-    fi
-    if test $ac_verc_fail = yes; then
-      INTLBISON=:
-    fi
-
-    dnl These rules are solely for the distribution goal.  While doing this
-    dnl we only have to keep exactly one list of the available catalogs
-    dnl in configure.in.
-    for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST(BUILD_INCLUDED_LIBINTL)
-    AC_SUBST(USE_INCLUDED_LIBINTL)
-    AC_SUBST(CATALOGS)
-    AC_SUBST(CATOBJEXT)
-    AC_SUBST(GMOFILES)
-    AC_SUBST(INTLLIBS)
-    AC_SUBST(INTLOBJS)
-    AC_SUBST(POFILES)
-    AC_SUBST(POSUB)
-
-    dnl For backward compatibility. Some configure.ins may be using this.
-    nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST(DATADIRNAME)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST(INSTOBJEXT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST(GENCAT)
-  ])
-
-dnl Usage: Just like AM_WITH_NLS, which see.
-AC_DEFUN([AM_GNU_GETTEXT],
-  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-   AC_REQUIRE([AC_PROG_CC])dnl
-   AC_REQUIRE([AC_CANONICAL_HOST])dnl
-   AC_REQUIRE([AC_PROG_RANLIB])dnl
-   AC_REQUIRE([AC_ISC_POSIX])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
-   AC_REQUIRE([AC_C_CONST])dnl
-   AC_REQUIRE([AC_C_INLINE])dnl
-   AC_REQUIRE([AC_TYPE_OFF_T])dnl
-   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-   AC_REQUIRE([AC_FUNC_MMAP])dnl
-   AC_REQUIRE([jm_GLIBC21])dnl
-
-   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
-   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
-getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
-strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
-
-   AM_ICONV
-   AM_LANGINFO_CODESET
-   AM_LC_MESSAGES
-   AM_WITH_NLS([$1],[$2],[$3])
-
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       AC_MSG_CHECKING(for catalogs to be installed)
-       NEW_LINGUAS=
-       for presentlang in $ALL_LINGUAS; do
-         useit=no
-         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
-           # Use the presentlang catalog if desiredlang is
-           #   a. equal to presentlang, or
-           #   b. a variant of presentlang (because in this case,
-           #      presentlang can be used as a fallback for messages
-           #      which are not translated in the desiredlang catalog).
-           case "$desiredlang" in
-             "$presentlang"*) useit=yes;;
-           esac
-         done
-         if test $useit = yes; then
-           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
-         fi
-       done
-       LINGUAS=$NEW_LINGUAS
-       AC_MSG_RESULT($LINGUAS)
-     fi
-
-     dnl Construct list of names of catalog files to be constructed.
-     if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
-   fi
-
-   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-   dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-   dnl Try to locate is.
-   MKINSTALLDIRS=
-   if test -n "$ac_aux_dir"; then
-     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-   fi
-   if test -z "$MKINSTALLDIRS"; then
-     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-   fi
-   AC_SUBST(MKINSTALLDIRS)
-
-   dnl Enable libtool support if the surrounding package wishes it.
-   INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
-   AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
-  ])
-#serial 2
-
-# Test for the GNU C Library, version 2.1 or newer.
-# From Bruno Haible.
-
-AC_DEFUN([jm_GLIBC21],
-  [
-    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
-      ac_cv_gnu_library_2_1,
-      [AC_EGREP_CPP([Lucky GNU user],
-	[
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
-	],
-	ac_cv_gnu_library_2_1=yes,
-	ac_cv_gnu_library_2_1=no)
-      ]
-    )
-    AC_SUBST(GLIBC21)
-    GLIBC21="$ac_cv_gnu_library_2_1"
-  ]
-)
-#serial AM2
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-
-  AC_ARG_WITH([libiconv-prefix],
-[  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib], [
-    for dir in `echo "$withval" | tr : ' '`; do
-      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
-      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
-    done
-   ])
-
-  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS -liconv"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-      [Define as const if the declaration of iconv() needs const.])
-  fi
-  LIBICONV=
-  if test "$am_cv_lib_iconv" = yes; then
-    LIBICONV="-liconv"
-  fi
-  AC_SUBST(LIBICONV)
-])
-#serial 1
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
-  [
-    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
-    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
-  ]
-)
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper at cygnus.com>, 1995.
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-# serial 2
-
-AC_DEFUN([AM_LC_MESSAGES],
-  [if test $ac_cv_header_locale_h = yes; then
-    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-    if test $am_cv_val_LC_MESSAGES = yes; then
-      AC_DEFINE(HAVE_LC_MESSAGES, 1,
-        [Define if your <locale.h> file defines LC_MESSAGES.])
-    fi
-  fi])
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper at cygnus.com>, 1996.
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-# serial 2
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
-  /*)
-  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in ifelse([$5], , $PATH, [$5]); do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if [$3]; then
-	ac_cv_path_$1="$ac_dir/$ac_word"
-	break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-  ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
-else
-  AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
Index: eggdrop1.7/bootstrap
diff -u eggdrop1.7/bootstrap:1.4 eggdrop1.7/bootstrap:1.5
--- eggdrop1.7/bootstrap:1.4	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/bootstrap	Tue Oct  9 20:20:08 2001
@@ -1,13 +1,38 @@
 #! /bin/sh
+#
+# $Id: bootstrap,v 1.5 2001/10/10 01:20:08 ite Exp $
+#
+# Recommended development tools versions:
+#   autoconf 2.52
+#   automake 1.5
+#   libtool 1.4.2
+# Please note that it may happen that the bootstrap process reports errors.
+# This doesn't necessarily mean that something went wrong. Try if ./configure
+# and make run without any unexpected errors before reporting bugs. And of
+# course make sure you have the tool's versions above installed before
+# bootstrapping the package. If you don't have them, you can alternatively
+# download the prepackaged and already bootstrapped current CVS snapshot (
+# daily resynched) from ftp.eggheads.org.
+#
+# ITE
 
 set -x
 
 # Bring gettext files
-gettextize --copy --force
+#gettextize --copy --force
+
+# Generate aclocal.m4 from misc/*.m4 files
+aclocal -I .
+
+# Bring in libtool with libtdl abstraction
+libtoolize --force --copy --ltdl
 
 # Generate config.h.in from acconfig.h and configure.in
 autoheader
 
+# Generate Makefile.in from Makefile.am
+automake --add-missing --copy
+
 # Generate configure script
 autoconf
 
@@ -16,28 +41,4 @@
   rm -f config.cache
 fi
 
-
-## The part below will be necessary until we cleanup the actual mess in
-## module's build system
-## <MESS>
-
-set +x
-
-# Generate MODULE_config.h.in from configure.in
-for MODULEPATH in src/mod/*.mod; do
-	if [ -f $MODULEPATH/configure.in ]; then
-		set -x
-		cd $MODULEPATH
-		autoheader
-		cd ../../..
-		set +x
-	fi
-done
-
 set -x
-
-# Generate configure scripts for modules
-misc/modconfig --top_srcdir=. eggautoconf
-
-##</MESS>
-
Index: eggdrop1.7/codeset.m4
diff -u /dev/null eggdrop1.7/codeset.m4:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/codeset.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,17 @@
+#serial AM1
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+    [AC_TRY_LINK([#include <langinfo.h>],
+      [char* cs = nl_langinfo(CODESET);],
+      am_cv_langinfo_codeset=yes,
+      am_cv_langinfo_codeset=no)
+    ])
+  if test $am_cv_langinfo_codeset = yes; then
+    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+  fi
+])
Index: eggdrop1.7/config.guess
diff -u /dev/null eggdrop1.7/config.guess:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/config.guess	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,1317 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
+
+timestamp='2001-09-04'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner at cygnus.com>.
+# Please send patches to <config-patches at gnu.org>.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script.
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int dummy(){}" > $dummy.c ;
+	for c in cc gcc c89 ; do
+	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
+	  if test $? = 0 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	rm -f $dummy.c $dummy.o $dummy.rel ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# Netbsd (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	# Determine the machine/vendor (is the vendor relevant).
+	case "${UNAME_MACHINE}" in
+	    amiga) machine=m68k-unknown ;;
+	    arm32) machine=arm-unknown ;;
+	    atari*) machine=m68k-atari ;;
+	    sun3*) machine=m68k-sun ;;
+	    mac68k) machine=m68k-apple ;;
+	    macppc) machine=powerpc-apple ;;
+	    hp3[0-9][05]) machine=m68k-hp ;;
+	    ibmrt|romp-ibm) machine=romp-ibm ;;
+	    *) machine=${UNAME_MACHINE}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE}" in
+	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit 0 ;;
+    alpha:OSF1:*:*)
+	if test $UNAME_RELEASE = "V4.0"; then
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+	fi
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	cat <<EOF >$dummy.s
+	.data
+\$Lformat:
+	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
+
+	.text
+	.globl main
+	.align 4
+	.ent main
+main:
+	.frame \$30,16,\$26,0
+	ldgp \$29,0(\$27)
+	.prologue 1
+	.long 0x47e03d80 # implver \$0
+	lda \$2,-1
+	.long 0x47e20c21 # amask \$2,\$1
+	lda \$16,\$Lformat
+	mov \$0,\$17
+	not \$1,\$18
+	jsr \$26,printf
+	ldgp \$29,0(\$26)
+	mov 0,\$16
+	jsr \$26,exit
+	.end main
+EOF
+	eval $set_cc_for_build
+	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+	if test "$?" = 0 ; then
+		case `./$dummy` in
+			0-0)
+				UNAME_MACHINE="alpha"
+				;;
+			1-0)
+				UNAME_MACHINE="alphaev5"
+				;;
+			1-1)
+				UNAME_MACHINE="alphaev56"
+				;;
+			1-101)
+				UNAME_MACHINE="alphapca56"
+				;;
+			2-303)
+				UNAME_MACHINE="alphaev6"
+				;;
+			2-307)
+				UNAME_MACHINE="alphaev67"
+				;;
+			2-1307)
+				UNAME_MACHINE="alphaev68"
+				;;
+		esac
+	fi
+	rm -f $dummy.s $dummy
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit 0 ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit 0 ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit 0;;
+    amiga:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit 0 ;;
+    arc64:OpenBSD:*:*)
+	echo mips64el-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    arc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    hkmips:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    pmax:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sgi:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit 0;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit 0;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit 0 ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit 0 ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit 0 ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit 0 ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    sparc*:NetBSD:*)
+	echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit 0 ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit 0 ;;
+    sun3*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mac68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit 0 ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit 0 ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy \
+	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+	  && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit 0 ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit 0 ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit 0 ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit 0 ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit 0 ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit 0 ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit 0 ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit 0 ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit 0 ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit 0 ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit 0 ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+		rm -f $dummy.c $dummy
+		echo rs6000-ibm-aix3.2.5
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit 0 ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit 0 ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit 0 ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+              case "${HPUX_REV}" in
+                11.[0-9][0-9])
+                  if [ -x /usr/bin/getconf ]; then
+                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                        esac ;;
+                    esac
+                  fi ;;
+              esac
+              if [ "${HP_ARCH}" = "" ]; then
+	      eval $set_cc_for_build
+              sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+	    (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+	    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+	    rm -f $dummy.c $dummy
+	fi ;;
+	esac
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit 0 ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit 0 ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo unknown-hitachi-hiuxwe2
+	exit 0 ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit 0 ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit 0 ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit 0 ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit 0 ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit 0 ;;
+    hppa*:OpenBSD:*:*)
+	echo hppa-unknown-openbsd
+	exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit 0 ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit 0 ;;
+    CRAY*X-MP:*:*:*)
+	echo xmp-cray-unicos
+        exit 0 ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3D:*:*:*)
+	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY-2:*:*:*)
+	echo cray2-cray-unicos
+        exit 0 ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    hp300:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit 0 ;;
+    *:OpenBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	exit 0 ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit 0 ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit 0 ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit 0 ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i386-pc-interix
+	exit 0 ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit 0 ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit 0 ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    *:GNU:*:*)
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit 0 ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit 0 ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux
+	exit 0 ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    mips:Linux:*:*)
+	case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
+	  big)    echo mips-unknown-linux-gnu && exit 0 ;;
+	  little) echo mipsel-unknown-linux-gnu && exit 0 ;;
+	esac
+	;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit 0 ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit 0 ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit 0 ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit 0 ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit 0 ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit 0 ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit 0 ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	ld_supported_targets=`cd /; ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit 0 ;;		
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit 0 ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit 0 ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-pc-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-pc-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-pc-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit 0 ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit 0 ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit 0 ;;
+    i*86:*:5:[78]*)
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit 0 ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit 0 ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit 0 ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit 0 ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit 0 ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit 0 ;;
+    M68*:*:R3V[567]*:*)
+	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && echo i486-ncr-sysv4 && exit 0 ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit 0 ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit 0 ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit 0 ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit 0 ;;
+    *:VOS:*:*)
+	# From Paul.Green at stratus.com.
+	echo hppa1.1-stratus-vos
+	exit 0 ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit 0 ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit 0 ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit 0 ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit 0 ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit 0 ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit 0 ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Darwin:*:*)
+	echo `uname -p`-apple-darwin${UNAME_RELEASE}
+	exit 0 ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	if test "${UNAME_MACHINE}" = "x86pc"; then
+		UNAME_MACHINE=pc
+	fi
+	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+	exit 0 ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit 0 ;;
+    NSR-[KW]:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit 0 ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit 0 ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit 0 ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit 0 ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit 0 ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit 0 ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit 0 ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit 0 ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit 0 ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit 0 ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit 0 ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit 0 ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit 0 ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit 0 ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit 0 ;;
+    c34*)
+	echo c34-convex-bsd
+	exit 0 ;;
+    c38*)
+	echo c38-convex-bsd
+	exit 0 ;;
+    c4*)
+	echo c4-convex-bsd
+	exit 0 ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+    ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Index: eggdrop1.7/config.sub
diff -u /dev/null eggdrop1.7/config.sub:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/config.sub	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,1411 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
+
+timestamp='2001-09-07'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches at gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit 0;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| c4x | clipper \
+	| d10v | d30v | dsp16xx \
+	| fr30 \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| m32r | m68000 | m68k | m88k | mcore \
+	| mips16 | mips64 | mips64el | mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el | mips64vr4300 \
+	| mips64vr4300el | mips64vr5000 | mips64vr5000el \
+	| mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
+	| mipsisa32 \
+	| mn10200 | mn10300 \
+	| ns16k | ns32k \
+	| openrisc \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| s390 | s390x \
+	| sh | sh[34] | sh[34]eb | shbe | shle \
+	| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
+	| stormy16 | strongarm \
+	| tahoe | thumb | tic80 | tron \
+	| v850 \
+	| we32k \
+	| x86 | xscale \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alphapca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armv*-* \
+	| bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c54x-* \
+	| clipper-* | cray2-* | cydra-* \
+	| d10v-* | d30v-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| m32r-* \
+	| m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | mcore-* \
+	| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
+	| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
+	| mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| s390-* | s390x-* \
+	| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
+	| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
+	| sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \
+	| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
+	| v850-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	cray2)
+		basic_machine=cray2-cray
+		os=-unicos
+		;;
+	[cjt]90)
+		basic_machine=${basic_machine}-cray
+		os=-unicos
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mipsel*-linux*)
+		basic_machine=mipsel-unknown
+		os=-linux-gnu
+		;;
+	mips*-linux*)
+		basic_machine=mips-unknown
+		os=-linux-gnu
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	mmix*)
+		basic_machine=mmix-knuth
+		os=-mmixware
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+        pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2)
+		basic_machine=i686-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+	        ;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+	        ;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+	        ;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+	        ;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sparclite-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=t3e-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	windows32)
+		basic_machine=i386-pc
+		os=-windows32-msvcrt
+		;;
+	xmp)
+		basic_machine=xmp-cray
+		os=-unicos
+		;;
+        xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	mips)
+		if [ x$os = x-linux-gnu ]; then
+			basic_machine=mips-unknown
+		else
+			basic_machine=mips-mips
+		fi
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh3 | sh4 | sh3eb | sh4eb)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+        cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	c4x*)
+		basic_machine=c4x-none
+		os=-coff
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto*)
+		os=-nto-qnx
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-ns2 )
+	        os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+	        os=-mint
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+	pdp10-*)
+		os=-tops20
+		;;
+        pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+        *-gould)
+		os=-sysv
+		;;
+        *-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+        *-sgi)
+		os=-irix
+		;;
+        *-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-vxsim* | -vxworks*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Index: eggdrop1.7/configure.in
diff -u eggdrop1.7/configure.in:1.46 eggdrop1.7/configure.in:1.47
--- eggdrop1.7/configure.in:1.46	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/configure.in	Tue Oct  9 20:20:08 2001
@@ -1,18 +1,12 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(src/eggdrop.h)
-AC_CONFIG_AUX_DIR(misc)
-
-PACKAGE=eggdrop
-VERSION=1.7.0
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
+AC_CONFIG_AUX_DIR(.)
+AM_CONFIG_HEADER(config.h)
+EGG_MSG_CONFIGURE_START
+AM_INIT_AUTOMAKE(eggdrop, 1.7.0)
 
+# FIXME: optionally allow a system wide install by bypassing the macro below.
 AC_PREFIX_DEFAULT([\${HOME}/eggdrop])
-AC_CONFIG_HEADER(config.h)
-EGG_MSG_CONFIGURE_START
-EGG_SAVE_PARAMETERS
 
 # Setup build environment
 AC_PROG_CC
@@ -26,18 +20,25 @@
 # Gettext support
 EGG_GNU_GETTEXT
 
+# Libtool support
+AC_DISABLE_FAST_INSTALL
+AC_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AC_LIBLTDL_CONVENIENCE
+AC_SUBST(INCLTDL)
+AC_SUBST(LIBLTDL)
+AC_LIBTOOL_DLOPEN
+AM_PROG_LIBTOOL
+
 # Speedup compile
 EGG_CHECK_CCPIPE
 
 # Checks for programs
-AC_PROG_MAKE_SET
-AC_PROG_RANLIB
-AC_PROG_INSTALL
 AC_PROG_LN_S
 EGG_PROG_STRIP
 EGG_PROG_AWK
 EGG_PROG_BASENAME
-AC_CHECK_PROG(UNAME,uname,uname)
+AC_CHECK_PROG(EGG_UNAME,uname,uname)
 AC_CHECK_PROG(AR,ar,ar)
 
 # Test the os and set the module linking settings
@@ -71,12 +72,8 @@
 # Make sure we have stdc headers, since we can't compile without them
 EGG_HEADER_STDC
 
-# Make sure we are using the correct result from a broken libsafe sscanf
-EGG_CHECK_LIBSAFE_SSCANF
-
 # Checks for cygwin
 EGG_CYGWIN
-EGG_EXEEXT
 
 EGG_IPV6_SUPPORTED
 EGG_ENABLE_IPV6
@@ -134,12 +131,18 @@
 EGG_TCL_LUSH
 # ---------- end of (what used to be) robey's tcl thingies
 
-EGG_FUNC_DLOPEN
+EGG_DEBUG_OPTIONS
 
 EGG_DEFINE_VERSION_NUM
-EGG_SUBST_MOD_UPDIR
-EGG_CATCH_MAKEFILE_REBUILD
 
-AC_OUTPUT([Makefile doc/Makefile scripts/Makefile src/Makefile src/md5/Makefile src/compat/Makefile src/mod/Makefile src/adns/Makefile intl/Makefile po/Makefile.in])
+EGG_COMPRESS_MODULE
+
+AC_CONFIG_SUBDIRS(libltdl)
+
+AC_SUBST(ac_aux_dir)
+
+# FIXME: module's Makefiles list will prolly become dynamic
+AC_OUTPUT([Makefile doc/Makefile scripts/Makefile src/Makefile src/md5/Makefile src/compat/Makefile src/egglib/Makefile src/mod/Makefile src/adns/Makefile src/mod/Makefile intl/Makefile po/Makefile.in src/mod/assoc.mod/Makefile src/mod/blowfish.mod/Makefile src/mod/channels.mod/Makefile src/mod/compress.mod/Makefile src/mod/console.mod/Makefile src/mod/ctcp.mod/Makefile src/mod/filesys.mod/Makefile src/mod/irc.mod/Makefile src/mod/notes.mod/Makefile src/mod/server.mod/Makefile src/mod/share.mod/Makefile src/mod/transfer.mod/Makefile src/mod/uptime.mod/Makefile src/mod/woobie.mod/Makefile])
 
 EGG_MSG_CONFIGURE_END
+
Index: eggdrop1.7/disabled_modules
diff -u eggdrop1.7/disabled_modules:1.5 eggdrop1.7/disabled_modules:removed
--- eggdrop1.7/disabled_modules:1.5	Thu Jul 26 12:02:34 2001
+++ eggdrop1.7/disabled_modules	Tue Oct  9 20:20:25 2001
@@ -1,12 +0,0 @@
-#  disabled_modules -- File which lists all eggdrop modules that are
-#                      disabled by default.
-#
-#  $Id: disabled_modules,v 1.5 2001/07/26 17:02:34 guppy Exp $
-#
-# Note:
-#   -  Lines which start with a '#' character are ignored.
-#   -  Every module name needs to be on its own line
-
-# Woobie only serves as an example for module programming. No need to
-# compile it for normal bots ...
-woobie
Index: eggdrop1.7/doc/AUTHORS
diff -u eggdrop1.7/doc/AUTHORS:1.6 eggdrop1.7/doc/AUTHORS:removed
--- eggdrop1.7/doc/AUTHORS:1.6	Sat Aug 11 03:22:11 2001
+++ eggdrop1.7/doc/AUTHORS	Tue Oct  9 20:20:25 2001
@@ -1,61 +0,0 @@
-
-                        Developers and Contributors
-     _________________________________________________________________
-
-   This file attempts to list the majority of the eggdrop developers and
-   contributors who have devoted a lot of their time into making eggdrop
-   one of the best IRC bots ever.
-
-   Eggdrop was originally written by Robey Pointer.
-
-   Developers and Contributors (in alphabetical order):
-
-   arthur2   Jerome Carre
-   ButchBub
-   Beldin    Darrin Smith
-   Ben       Ben Dover
-   Cybah     Jonathan Miles
-   david     David Newhall II
-   drummer   Dobos Lorant
-   Dude/matt
-   dw        Per Johansson
-   Ernst     Ernesto Baschny
-   Eugene    Michael Ortmann
-   Eule      Axel Franke
-   Fabian    Fabian Knittel
-   FireEgl   Philip Moore
-   G`Quann   Florian Sander
-   guppy     Jeff Fisher
-   Ian       Ian Campbell
-   ITE       Federico Mennite
-   Jason     Jason Ede
-   Johoho    Wiktor Wodecki
-   Kirben    Travis Howell
-   Kirk      Ian Kaney
-   KingKurly
-   Lucas
-   nakee     Ely Levy
-   poptix    Matthew Hallacy
-   Raistlin  Jason Slagle
-   RebuM
-   rtc
-   SegFault  Ryan Butler
-   Shaun     Shaun Braun
-   slennox   Shayne Lennox
-   Sup       Teemu Hjelt
-   SuperS
-   TheGhost
-   TheUnknown
-   toot      Toby Verrall
-   Tothwolf
-
-   Thanks go to all the people who have made individual contributions to
-   the Eggdrop project by sending bug-reports, patches and otherwise have
-   supported the project. Patch contributors are listed in the UPDATES
-   files.
-
-   If you think that you are missing from this list contact the Eggheads
-   Development Team at eggdev at eggheads.org.
-     _________________________________________________________________
-
-   Copyright (C) 2000, 2001 Eggheads Development Team
Index: eggdrop1.7/gettext.m4
diff -u /dev/null eggdrop1.7/gettext.m4:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/gettext.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,370 @@
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+#
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 10
+
+dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
+dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). Otherwise, a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.
+dnl LIBDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_WITH_NLS],
+  [AC_MSG_CHECKING([whether NLS is requested])
+    dnl Default is enabled NLS
+    AC_ARG_ENABLE(nls,
+      [  --disable-nls           do not use Native Language Support],
+      USE_NLS=$enableval, USE_NLS=yes)
+    AC_MSG_RESULT($USE_NLS)
+    AC_SUBST(USE_NLS)
+
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+    INTLLIBS=
+
+    dnl If we use NLS figure out what method
+    if test "$USE_NLS" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+	CATOBJEXT=NONE
+
+        dnl Add a version number to the cache macros.
+        define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
+        define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
+
+	AC_CHECK_HEADER(libintl.h,
+	  [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+	    [AC_TRY_LINK([#include <libintl.h>
+extern int _nl_msg_cat_cntr;],
+	       [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+	       gt_cv_func_gnugettext_libc=yes,
+	       gt_cv_func_gnugettext_libc=no)])
+
+	   if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+	     AC_CACHE_CHECK([for GNU gettext in libintl],
+	       gt_cv_func_gnugettext_libintl,
+	       [gt_save_LIBS="$LIBS"
+		LIBS="$LIBS -lintl $LIBICONV"
+		AC_TRY_LINK([#include <libintl.h>
+extern int _nl_msg_cat_cntr;],
+		  [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+		  gt_cv_func_gnugettext_libintl=yes,
+		  gt_cv_func_gnugettext_libintl=no)
+		LIBS="$gt_save_LIBS"])
+	   fi
+
+	   dnl If an already present or preinstalled GNU gettext() is found,
+	   dnl use it.  But if this macro is used in GNU gettext, and GNU
+	   dnl gettext is already preinstalled in libintl, we update this
+	   dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+	   if test "$gt_cv_func_gnugettext_libc" = "yes" \
+	      || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+		   && test "$PACKAGE" != gettext; }; then
+	     AC_DEFINE(HAVE_GETTEXT, 1,
+               [Define if the GNU gettext() function is already present or preinstalled.])
+
+	     if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+	       dnl If iconv() is in a separate libiconv library, then anyone
+	       dnl linking with libintl{.a,.so} also needs to link with
+	       dnl libiconv.
+	       INTLLIBS="-lintl $LIBICONV"
+	     fi
+
+	     gt_save_LIBS="$LIBS"
+	     LIBS="$LIBS $INTLLIBS"
+	     AC_CHECK_FUNCS(dcgettext)
+	     LIBS="$gt_save_LIBS"
+
+	     dnl Search for GNU msgfmt in the PATH.
+	     AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+	       [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+	     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+	     dnl Search for GNU xgettext in the PATH.
+	     AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+	       [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+
+	     CATOBJEXT=.gmo
+	   fi
+	])
+
+        if test "$CATOBJEXT" = "NONE"; then
+	  dnl GNU gettext is not found in the C library.
+	  dnl Fall back on GNU gettext library.
+	  nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        INTLOBJS="\$(GETTOBJS)"
+        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+	  [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+	  [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+        AC_SUBST(MSGFMT)
+	BUILD_INCLUDED_LIBINTL=yes
+	USE_INCLUDED_LIBINTL=yes
+        CATOBJEXT=.gmo
+	INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
+	LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+      dnl Test whether we really found GNU msgfmt.
+      if test "$GMSGFMT" != ":"; then
+	dnl If it is no GNU msgfmt we define it as : so that the
+	dnl Makefiles still can work.
+	if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found msgfmt program is not GNU msgfmt; ignore it])
+	  GMSGFMT=":"
+	fi
+      fi
+
+      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+      dnl Test whether we really found GNU xgettext.
+      if test "$XGETTEXT" != ":"; then
+	dnl If it is no GNU xgettext we define it as : so that the
+	dnl Makefiles still can work.
+	if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found xgettext program is not GNU xgettext; ignore it])
+	  XGETTEXT=":"
+	fi
+      fi
+
+      dnl We need to process the po/ directory.
+      POSUB=po
+    fi
+    AC_OUTPUT_COMMANDS(
+     [for ac_file in $CONFIG_FILES; do
+        # Support "outfile[:infile[:infile...]]"
+        case "$ac_file" in
+          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+        esac
+        # PO directories have a Makefile.in generated from Makefile.in.in.
+        case "$ac_file" in */Makefile.in)
+          # Adjust a relative srcdir.
+          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+          # In autoconf-2.13 it is called $ac_given_srcdir.
+          # In autoconf-2.50 it is called $srcdir.
+          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+          case "$ac_given_srcdir" in
+            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+            /*) top_srcdir="$ac_given_srcdir" ;;
+            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+          esac
+          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+            rm -f "$ac_dir/POTFILES"
+            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+            sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+            test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+            sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          fi
+          ;;
+        esac
+      done])
+
+
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+    dnl because plural.y uses bison specific features. It requires at least
+    dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+    dnl compile.
+    dnl bison is only needed for the maintainer (who touches plural.y). But in
+    dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+    dnl the rule in general Makefile. Now, some people carelessly touch the
+    dnl files or have a broken "make" program, hence the plural.c rule will
+    dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+    dnl present or too old.
+    AC_CHECK_PROGS([INTLBISON], [bison])
+    if test -z "$INTLBISON"; then
+      ac_verc_fail=yes
+    else
+      dnl Found it, now check the version.
+      AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+      case $ac_prog_version in
+        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+      esac
+      AC_MSG_RESULT([$ac_prog_version])
+    fi
+    if test $ac_verc_fail = yes; then
+      INTLBISON=:
+    fi
+
+    dnl These rules are solely for the distribution goal.  While doing this
+    dnl we only have to keep exactly one list of the available catalogs
+    dnl in configure.in.
+    for lang in $ALL_LINGUAS; do
+      GMOFILES="$GMOFILES $lang.gmo"
+      POFILES="$POFILES $lang.po"
+    done
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATALOGS)
+    AC_SUBST(CATOBJEXT)
+    AC_SUBST(GMOFILES)
+    AC_SUBST(INTLLIBS)
+    AC_SUBST(INTLOBJS)
+    AC_SUBST(POFILES)
+    AC_SUBST(POSUB)
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST(DATADIRNAME)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST(INSTOBJEXT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST(GENCAT)
+  ])
+
+dnl Usage: Just like AM_WITH_NLS, which see.
+AC_DEFUN([AM_GNU_GETTEXT],
+  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+   AC_REQUIRE([AC_PROG_CC])dnl
+   AC_REQUIRE([AC_CANONICAL_HOST])dnl
+   AC_REQUIRE([AC_PROG_RANLIB])dnl
+   AC_REQUIRE([AC_ISC_POSIX])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   AC_REQUIRE([AC_C_CONST])dnl
+   AC_REQUIRE([AC_C_INLINE])dnl
+   AC_REQUIRE([AC_TYPE_OFF_T])dnl
+   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+   AC_REQUIRE([AC_FUNC_MMAP])dnl
+   AC_REQUIRE([jm_GLIBC21])dnl
+
+   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
+getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
+strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
+
+   AM_ICONV
+   AM_LANGINFO_CODESET
+   AM_LC_MESSAGES
+   AM_WITH_NLS([$1],[$2],[$3])
+
+   if test "x$CATOBJEXT" != "x"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for presentlang in $ALL_LINGUAS; do
+         useit=no
+         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
+           # Use the presentlang catalog if desiredlang is
+           #   a. equal to presentlang, or
+           #   b. a variant of presentlang (because in this case,
+           #      presentlang can be used as a fallback for messages
+           #      which are not translated in the desiredlang catalog).
+           case "$desiredlang" in
+             "$presentlang"*) useit=yes;;
+           esac
+         done
+         if test $useit = yes; then
+           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+         fi
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+   dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+   dnl Try to locate is.
+   MKINSTALLDIRS=
+   if test -n "$ac_aux_dir"; then
+     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+   fi
+   if test -z "$MKINSTALLDIRS"; then
+     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+   fi
+   AC_SUBST(MKINSTALLDIRS)
+
+   dnl Enable libtool support if the surrounding package wishes it.
+   INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
+   AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
Index: eggdrop1.7/glibc21.m4
diff -u /dev/null eggdrop1.7/glibc21.m4:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/glibc21.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,26 @@
+#serial 2
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([jm_GLIBC21],
+  [
+    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+      ac_cv_gnu_library_2_1,
+      [AC_EGREP_CPP([Lucky GNU user],
+	[
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+  Lucky GNU user
+ #endif
+#endif
+	],
+	ac_cv_gnu_library_2_1=yes,
+	ac_cv_gnu_library_2_1=no)
+      ]
+    )
+    AC_SUBST(GLIBC21)
+    GLIBC21="$ac_cv_gnu_library_2_1"
+  ]
+)
Index: eggdrop1.7/iconv.m4
diff -u /dev/null eggdrop1.7/iconv.m4:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/iconv.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,69 @@
+#serial AM2
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  AC_ARG_WITH([libiconv-prefix],
+[  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib], [
+    for dir in `echo "$withval" | tr : ' '`; do
+      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
+      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
+    done
+   ])
+
+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      am_cv_func_iconv=yes)
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS -liconv"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes)
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([$]{ac_t:-
+         }[$]am_cv_proto_iconv)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+  LIBICONV=
+  if test "$am_cv_lib_iconv" = yes; then
+    LIBICONV="-liconv"
+  fi
+  AC_SUBST(LIBICONV)
+])
Index: eggdrop1.7/intl/ChangeLog
diff -u /dev/null eggdrop1.7/intl/ChangeLog:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/ChangeLog	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,4 @@
+2001-09-13  GNU  <bug-gnu-utils at gnu.org>
+
+	* Version 0.10.40 released.
+
Index: eggdrop1.7/intl/Makefile.in
diff -u /dev/null eggdrop1.7/intl/Makefile.in:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/Makefile.in	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,313 @@
+# Makefile for directory with message catalog handling in GNU NLS Utilities.
+# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = ..
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+transform = @program_transform_name@
+libdir = @libdir@
+includedir = @includedir@
+datadir = @datadir@
+localedir = $(datadir)/locale
+gettextsrcdir = $(datadir)/gettext/intl
+aliaspath = $(localedir)
+subdir = intl
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
+
+l = @INTL_LIBTOOL_SUFFIX_PREFIX@
+
+AR = ar
+CC = @CC@
+LIBTOOL = @LIBTOOL@
+RANLIB = @RANLIB@
+YACC = @INTLBISON@ -y -d
+YFLAGS = --name-prefix=__gettext
+
+DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
+-DLIBDIR=\"$(libdir)\" @DEFS@
+CPPFLAGS = @CPPFLAGS@
+CFLAGS = @CFLAGS@
+LDFLAGS = @LDFLAGS@
+
+COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h
+COMHDRS = gettext.h gettextP.h hash-string.h
+SOURCES = $(COMSRCS) intl-compat.c
+COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
+finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
+explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \
+localcharset.c
+OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
+finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
+explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \
+plural.$lo localcharset.$lo
+GETTOBJS = intl-compat.$lo
+DISTFILES.common = Makefile.in \
+config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
+DISTFILES.generated = plural.c
+DISTFILES.normal = VERSION
+DISTFILES.gettext = COPYING.LIB-2 COPYING.LIB-2.1 libintl.glibc
+DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c
+
+# Libtool's library version information for libintl.
+# Before making a gettext release, the gettext maintainer must change this
+# according to the libtool documentation, section "Library interface versions".
+# Maintainers of other packages that include the intl directory must *not*
+# change these values.
+LTV_CURRENT=1
+LTV_REVISION=1
+LTV_AGE=0
+
+.SUFFIXES:
+.SUFFIXES: .c .y .o .lo .sin .sed
+.c.o:
+	$(COMPILE) $<
+.c.lo:
+	$(LIBTOOL) --mode=compile $(COMPILE) $<
+
+.y.c:
+	$(YACC) $(YFLAGS) --output $@ $<
+	rm -f $*.h
+
+.sin.sed:
+	sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
+	mv t-$@ $@
+
+INCLUDES = -I.. -I. -I$(top_srcdir)/intl
+
+all: all- at USE_INCLUDED_LIBINTL@
+all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
+all-no: all-no- at BUILD_INCLUDED_LIBINTL@
+all-no-yes: libgnuintl.$la
+all-no-no:
+
+libintl.a libgnuintl.a: $(OBJECTS)
+	rm -f $@
+	$(AR) cru $@ $(OBJECTS)
+	$(RANLIB) $@
+
+libintl.la libgnuintl.la: $(OBJECTS)
+	$(LIBTOOL) --mode=link \
+	  $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
+	  $(OBJECTS) @LIBICONV@ \
+	  -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
+	  -rpath $(libdir) \
+	  -no-undefined
+
+libintl.h: libgnuintl.h
+	cp $(srcdir)/libgnuintl.h libintl.h
+
+charset.alias: config.charset
+	$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
+	mv t-$@ $@
+
+check: all
+
+# This installation goal is only used in GNU gettext.  Packages which
+# only use the library should use install instead.
+
+# We must not install the libintl.h/libintl.a files if we are on a
+# system which has the GNU gettext() function in its C library or in a
+# separate library.
+# If you want to use the one which comes with this version of the
+# package, you have to use `configure --with-included-gettext'.
+install: install-exec install-data
+install-exec: all
+	if test "$(PACKAGE)" = "gettext" \
+	   && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
+	  $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+	  $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
+	  $(LIBTOOL) --mode=install \
+	    $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
+	else \
+	  : ; \
+	fi
+	if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+	  $(mkinstalldirs) $(DESTDIR)$(libdir); \
+	  temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+	  dest=$(DESTDIR)$(libdir)/charset.alias; \
+	  if test -f $(DESTDIR)$(libdir)/charset.alias; then \
+	    orig=$(DESTDIR)$(libdir)/charset.alias; \
+	    sed -f ref-add.sed $$orig > $$temp; \
+	    $(INSTALL_DATA) $$temp $$dest; \
+	    rm -f $$temp; \
+	  else \
+	    if test @GLIBC21@ = no; then \
+	      orig=charset.alias; \
+	      sed -f ref-add.sed $$orig > $$temp; \
+	      $(INSTALL_DATA) $$temp $$dest; \
+	      rm -f $$temp; \
+	    fi; \
+	  fi; \
+	  $(mkinstalldirs) $(DESTDIR)$(localedir); \
+	  test -f $(DESTDIR)$(localedir)/locale.alias \
+	    && orig=$(DESTDIR)$(localedir)/locale.alias \
+	    || orig=$(srcdir)/locale.alias; \
+	  temp=$(DESTDIR)$(localedir)/t-locale.alias; \
+	  dest=$(DESTDIR)$(localedir)/locale.alias; \
+	  sed -f ref-add.sed $$orig > $$temp; \
+	  $(INSTALL_DATA) $$temp $$dest; \
+	  rm -f $$temp; \
+	else \
+	  : ; \
+	fi
+install-data: all
+	if test "$(PACKAGE)" = "gettext"; then \
+	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+	  $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
+	  $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
+	  dists="COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common)"; \
+	  for file in $$dists; do \
+	    $(INSTALL_DATA) $(srcdir)/$$file \
+			    $(DESTDIR)$(gettextsrcdir)/$$file; \
+	  done; \
+	  chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
+	  dists="$(DISTFILES.generated)"; \
+	  for file in $$dists; do \
+	    if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
+	    $(INSTALL_DATA) $$dir/$$file \
+			    $(DESTDIR)$(gettextsrcdir)/$$file; \
+	  done; \
+	  dists="$(DISTFILES.obsolete)"; \
+	  for file in $$dists; do \
+	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+	  done; \
+	else \
+	  : ; \
+	fi
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall:
+	if test "$(PACKAGE)" = "gettext" \
+	   && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
+	  rm -f $(DESTDIR)$(includedir)/libintl.h; \
+	  $(LIBTOOL) --mode=uninstall \
+	    rm -f $(DESTDIR)$(libdir)/libintl.$la; \
+	else \
+	  : ; \
+	fi
+	if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+	  if test -f $(DESTDIR)$(libdir)/charset.alias; then \
+	    temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+	    dest=$(DESTDIR)$(libdir)/charset.alias; \
+	    sed -f ref-del.sed $$dest > $$temp; \
+	    if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
+	      rm -f $$dest; \
+	    else \
+	      $(INSTALL_DATA) $$temp $$dest; \
+	    fi; \
+	    rm -f $$temp; \
+	  fi; \
+	  if test -f $(DESTDIR)$(localedir)/locale.alias; then \
+	    temp=$(DESTDIR)$(localedir)/t-locale.alias; \
+	    dest=$(DESTDIR)$(localedir)/locale.alias; \
+	    sed -f ref-del.sed $$dest > $$temp; \
+	    if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
+	      rm -f $$dest; \
+	    else \
+	      $(INSTALL_DATA) $$temp $$dest; \
+	    fi; \
+	    rm -f $$temp; \
+	  fi; \
+	else \
+	  : ; \
+	fi
+	if test "$(PACKAGE)" = "gettext"; then \
+	  for file in VERSION ChangeLog COPYING.LIB-2 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
+	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+	  done; \
+	else \
+	  : ; \
+	fi
+
+info dvi:
+
+$(OBJECTS): ../config.h libgnuintl.h
+bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
+dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
+
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES)
+	here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
+
+id: ID
+
+ID: $(HEADERS) $(SOURCES)
+	here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
+
+
+mostlyclean:
+	rm -f *.a *.la *.o *.lo core core.*
+	rm -f libintl.h charset.alias ref-add.sed ref-del.sed
+	rm -f -r .libs _libs
+
+clean: mostlyclean
+
+distclean: clean
+	rm -f Makefile ID TAGS
+	if test "$(PACKAGE)" = gettext; then \
+	  rm -f ChangeLog.inst $(DISTFILES.normal); \
+	else \
+	  : ; \
+	fi
+
+maintainer-clean: distclean
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+
+
+# GNU gettext needs not contain the file `VERSION' but contains some
+# other files which should not be distributed in other packages.
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: Makefile
+	if test "$(PACKAGE)" = gettext; then \
+	  additional="$(DISTFILES.gettext)"; \
+	else \
+	  additional="$(DISTFILES.normal)"; \
+	fi; \
+	$(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
+	for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
+	  if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
+	  ln $$dir/$$file $(distdir) 2> /dev/null \
+	    || cp -p $$dir/$$file $(distdir); \
+	done
+
+Makefile: Makefile.in ../config.status
+	cd .. \
+	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: eggdrop1.7/intl/VERSION
diff -u /dev/null eggdrop1.7/intl/VERSION:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/VERSION	Tue Oct  9 20:20:09 2001
@@ -0,0 +1 @@
+GNU gettext library from gettext-0.10.40
Index: eggdrop1.7/intl/bindtextdom.c
diff -u /dev/null eggdrop1.7/intl/bindtextdom.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/bindtextdom.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,369 @@
+/* Implementation of the bindtextdomain(3) function
+   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+#include "gettextP.h"
+
+#ifdef _LIBC
+/* We have to handle multi-threaded applications.  */
+# include <bits/libc-lock.h>
+#else
+/* Provide dummy implementation if this is outside glibc.  */
+# define __libc_rwlock_define(CLASS, NAME)
+# define __libc_rwlock_wrlock(NAME)
+# define __libc_rwlock_unlock(NAME)
+#endif
+
+/* The internal variables in the standalone libintl.a must have different
+   names than the internal variables in GNU libc, otherwise programs
+   using libintl.a cannot be linked statically.  */
+#if !defined _LIBC
+# define _nl_default_dirname _nl_default_dirname__
+# define _nl_domain_bindings _nl_domain_bindings__
+#endif
+
+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
+#ifndef offsetof
+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Contains the default location of the message catalogs.  */
+extern const char _nl_default_dirname[];
+
+/* List with bindings of specific domains.  */
+extern struct binding *_nl_domain_bindings;
+
+/* Lock variable to protect the global data in the gettext implementation.  */
+__libc_rwlock_define (extern, _nl_state_lock)
+
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define BINDTEXTDOMAIN __bindtextdomain
+# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
+# ifndef strdup
+#  define strdup(str) __strdup (str)
+# endif
+#else
+# define BINDTEXTDOMAIN bindtextdomain__
+# define BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset__
+#endif
+
+/* Prototypes for local functions.  */
+static void set_binding_values PARAMS ((const char *domainname,
+					const char **dirnamep,
+					const char **codesetp));
+     
+/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
+   to be used for the DOMAINNAME message catalog.
+   If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
+   modified, only the current value is returned.
+   If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
+   modified nor returned.  */
+static void
+set_binding_values (domainname, dirnamep, codesetp)
+     const char *domainname;
+     const char **dirnamep;
+     const char **codesetp;
+{
+  struct binding *binding;
+  int modified;
+
+  /* Some sanity checks.  */
+  if (domainname == NULL || domainname[0] == '\0')
+    {
+      if (dirnamep)
+	*dirnamep = NULL;
+      if (codesetp)
+	*codesetp = NULL;
+      return;
+    }
+
+  __libc_rwlock_wrlock (_nl_state_lock);
+
+  modified = 0;
+
+  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
+    {
+      int compare = strcmp (domainname, binding->domainname);
+      if (compare == 0)
+	/* We found it!  */
+	break;
+      if (compare < 0)
+	{
+	  /* It is not in the list.  */
+	  binding = NULL;
+	  break;
+	}
+    }
+
+  if (binding != NULL)
+    {
+      if (dirnamep)
+	{
+	  const char *dirname = *dirnamep;
+
+	  if (dirname == NULL)
+	    /* The current binding has be to returned.  */
+	    *dirnamep = binding->dirname;
+	  else
+	    {
+	      /* The domain is already bound.  If the new value and the old
+		 one are equal we simply do nothing.  Otherwise replace the
+		 old binding.  */
+	      char *result = binding->dirname;
+	      if (strcmp (dirname, result) != 0)
+		{
+		  if (strcmp (dirname, _nl_default_dirname) == 0)
+		    result = (char *) _nl_default_dirname;
+		  else
+		    {
+#if defined _LIBC || defined HAVE_STRDUP
+		      result = strdup (dirname);
+#else
+		      size_t len = strlen (dirname) + 1;
+		      result = (char *) malloc (len);
+		      if (__builtin_expect (result != NULL, 1))
+			memcpy (result, dirname, len);
+#endif
+		    }
+
+		  if (__builtin_expect (result != NULL, 1))
+		    {
+		      if (binding->dirname != _nl_default_dirname)
+			free (binding->dirname);
+
+		      binding->dirname = result;
+		      modified = 1;
+		    }
+		}
+	      *dirnamep = result;
+	    }
+	}
+
+      if (codesetp)
+	{
+	  const char *codeset = *codesetp;
+
+	  if (codeset == NULL)
+	    /* The current binding has be to returned.  */
+	    *codesetp = binding->codeset;
+	  else
+	    {
+	      /* The domain is already bound.  If the new value and the old
+		 one are equal we simply do nothing.  Otherwise replace the
+		 old binding.  */
+	      char *result = binding->codeset;
+	      if (result == NULL || strcmp (codeset, result) != 0)
+		{
+#if defined _LIBC || defined HAVE_STRDUP
+		  result = strdup (codeset);
+#else
+		  size_t len = strlen (codeset) + 1;
+		  result = (char *) malloc (len);
+		  if (__builtin_expect (result != NULL, 1))
+		    memcpy (result, codeset, len);
+#endif
+
+		  if (__builtin_expect (result != NULL, 1))
+		    {
+		      if (binding->codeset != NULL)
+			free (binding->codeset);
+
+		      binding->codeset = result;
+		      binding->codeset_cntr++;
+		      modified = 1;
+		    }
+		}
+	      *codesetp = result;
+	    }
+	}
+    }
+  else if ((dirnamep == NULL || *dirnamep == NULL)
+	   && (codesetp == NULL || *codesetp == NULL))
+    {
+      /* Simply return the default values.  */
+      if (dirnamep)
+	*dirnamep = _nl_default_dirname;
+      if (codesetp)
+	*codesetp = NULL;
+    }
+  else
+    {
+      /* We have to create a new binding.  */
+      size_t len = strlen (domainname) + 1;
+      struct binding *new_binding =
+	(struct binding *) malloc (offsetof (struct binding, domainname) + len);
+
+      if (__builtin_expect (new_binding == NULL, 0))
+	goto failed;
+
+      memcpy (new_binding->domainname, domainname, len);
+
+      if (dirnamep)
+	{
+	  const char *dirname = *dirnamep;
+
+	  if (dirname == NULL)
+	    /* The default value.  */
+	    dirname = _nl_default_dirname;
+	  else
+	    {
+	      if (strcmp (dirname, _nl_default_dirname) == 0)
+		dirname = _nl_default_dirname;
+	      else
+		{
+		  char *result;
+#if defined _LIBC || defined HAVE_STRDUP
+		  result = strdup (dirname);
+		  if (__builtin_expect (result == NULL, 0))
+		    goto failed_dirname;
+#else
+		  size_t len = strlen (dirname) + 1;
+		  result = (char *) malloc (len);
+		  if (__builtin_expect (result == NULL, 0))
+		    goto failed_dirname;
+		  memcpy (result, dirname, len);
+#endif
+		  dirname = result;
+		}
+	    }
+	  *dirnamep = dirname;
+	  new_binding->dirname = (char *) dirname;
+	}
+      else
+	/* The default value.  */
+	new_binding->dirname = (char *) _nl_default_dirname;
+
+      new_binding->codeset_cntr = 0;
+
+      if (codesetp)
+	{
+	  const char *codeset = *codesetp;
+
+	  if (codeset != NULL)
+	    {
+	      char *result;
+
+#if defined _LIBC || defined HAVE_STRDUP
+	      result = strdup (codeset);
+	      if (__builtin_expect (result == NULL, 0))
+		goto failed_codeset;
+#else
+	      size_t len = strlen (codeset) + 1;
+	      result = (char *) malloc (len);
+	      if (__builtin_expect (result == NULL, 0))
+		goto failed_codeset;
+	      memcpy (result, codeset, len);
+#endif
+	      codeset = result;
+	      new_binding->codeset_cntr++;
+	    }
+	  *codesetp = codeset;
+	  new_binding->codeset = (char *) codeset;
+	}
+      else
+	new_binding->codeset = NULL;
+
+      /* Now enqueue it.  */
+      if (_nl_domain_bindings == NULL
+	  || strcmp (domainname, _nl_domain_bindings->domainname) < 0)
+	{
+	  new_binding->next = _nl_domain_bindings;
+	  _nl_domain_bindings = new_binding;
+	}
+      else
+	{
+	  binding = _nl_domain_bindings;
+	  while (binding->next != NULL
+		 && strcmp (domainname, binding->next->domainname) > 0)
+	    binding = binding->next;
+
+	  new_binding->next = binding->next;
+	  binding->next = new_binding;
+	}
+
+      modified = 1;
+
+      /* Here we deal with memory allocation failures.  */
+      if (0)
+	{
+	failed_codeset:
+	  if (new_binding->dirname != _nl_default_dirname)
+	    free (new_binding->dirname);
+	failed_dirname:
+	  free (new_binding);
+	failed:
+	  if (dirnamep)
+	    *dirnamep = NULL;
+	  if (codesetp)
+	    *codesetp = NULL;
+	}
+    }
+
+  /* If we modified any binding, we flush the caches.  */
+  if (modified)
+    ++_nl_msg_cat_cntr;
+
+  __libc_rwlock_unlock (_nl_state_lock);
+}
+
+/* Specify that the DOMAINNAME message catalog will be found
+   in DIRNAME rather than in the system locale data base.  */
+char *
+BINDTEXTDOMAIN (domainname, dirname)
+     const char *domainname;
+     const char *dirname;
+{
+  set_binding_values (domainname, &dirname, NULL);
+  return (char *) dirname;
+}
+
+/* Specify the character encoding in which the messages from the
+   DOMAINNAME message catalog will be returned.  */
+char *
+BIND_TEXTDOMAIN_CODESET (domainname, codeset)
+     const char *domainname;
+     const char *codeset;
+{
+  set_binding_values (domainname, NULL, &codeset);
+  return (char *) codeset;
+}
+
+#ifdef _LIBC
+/* Aliases for function names in GNU C Library.  */
+weak_alias (__bindtextdomain, bindtextdomain);
+weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
+#endif
Index: eggdrop1.7/intl/config.charset
diff -u /dev/null eggdrop1.7/intl/config.charset:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/config.charset	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,438 @@
+#! /bin/sh
+# Output a system dependent table of character encoding aliases.
+#
+#   Copyright (C) 2000-2001 Free Software Foundation, Inc.
+#
+#   This program is free software; you can redistribute it and/or modify it
+#   under the terms of the GNU Library General Public License as published
+#   by the Free Software Foundation; either version 2, or (at your option)
+#   any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#   Library General Public License for more details.
+#
+#   You should have received a copy of the GNU Library General Public
+#   License along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+#   USA.
+#
+# The table consists of lines of the form
+#    ALIAS  CANONICAL
+#
+# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
+# ALIAS is compared in a case sensitive way.
+#
+# CANONICAL is the GNU canonical name for this character encoding.
+# It must be an encoding supported by libiconv. Support by GNU libc is
+# also desirable. CANONICAL is case insensitive. Usually an upper case
+# MIME charset name is preferred.
+# The current list of GNU canonical charset names is as follows.
+#
+#       name                         used by which systems         a MIME name?
+#   ASCII, ANSI_X3.4-1968     glibc solaris freebsd
+#   ISO-8859-1                glibc aix hpux irix osf solaris freebsd   yes
+#   ISO-8859-2                glibc aix hpux irix osf solaris freebsd   yes
+#   ISO-8859-3                glibc                                     yes
+#   ISO-8859-4                osf solaris freebsd                       yes
+#   ISO-8859-5                glibc aix hpux irix osf solaris freebsd   yes
+#   ISO-8859-6                glibc aix hpux solaris                    yes
+#   ISO-8859-7                glibc aix hpux irix osf solaris           yes
+#   ISO-8859-8                glibc aix hpux osf solaris                yes
+#   ISO-8859-9                glibc aix hpux irix osf solaris           yes
+#   ISO-8859-13               glibc
+#   ISO-8859-15               glibc aix osf solaris freebsd
+#   KOI8-R                    glibc solaris freebsd                     yes
+#   KOI8-U                    glibc freebsd                             yes
+#   CP437                     dos
+#   CP775                     dos
+#   CP850                     aix osf dos
+#   CP852                     dos
+#   CP855                     dos
+#   CP856                     aix
+#   CP857                     dos
+#   CP861                     dos
+#   CP862                     dos
+#   CP864                     dos
+#   CP865                     dos
+#   CP866                     freebsd dos
+#   CP869                     dos
+#   CP874                     win32 dos
+#   CP922                     aix
+#   CP932                     aix win32 dos
+#   CP943                     aix
+#   CP949                     osf win32 dos
+#   CP950                     win32 dos
+#   CP1046                    aix
+#   CP1124                    aix
+#   CP1129                    aix
+#   CP1250                    win32
+#   CP1251                    glibc win32
+#   CP1252                    aix win32
+#   CP1253                    win32
+#   CP1254                    win32
+#   CP1255                    win32
+#   CP1256                    win32
+#   CP1257                    win32
+#   GB2312                    glibc aix hpux irix solaris freebsd       yes
+#   EUC-JP                    glibc aix hpux irix osf solaris freebsd   yes
+#   EUC-KR                    glibc aix hpux irix osf solaris freebsd   yes
+#   EUC-TW                    glibc aix hpux irix osf solaris
+#   BIG5                      glibc aix hpux osf solaris freebsd        yes
+#   BIG5-HKSCS                glibc
+#   GBK                       aix osf win32 dos
+#   GB18030                   glibc
+#   SHIFT_JIS                 hpux osf solaris freebsd                  yes
+#   JOHAB                     glibc win32
+#   TIS-620                   glibc aix hpux osf solaris
+#   VISCII                    glibc                                     yes
+#   HP-ROMAN8                 hpux
+#   HP-ARABIC8                hpux
+#   HP-GREEK8                 hpux
+#   HP-HEBREW8                hpux
+#   HP-TURKISH8               hpux
+#   HP-KANA8                  hpux
+#   DEC-KANJI                 osf
+#   DEC-HANYU                 osf
+#   UTF-8                     glibc aix hpux osf solaris                yes
+#
+# Note: Names which are not marked as being a MIME name should not be used in
+# Internet protocols for information interchange (mail, news, etc.).
+#
+# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
+# must understand both names and treat them as equivalent.
+#
+# The first argument passed to this file is the canonical host specification,
+#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+
+host="$1"
+os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
+echo "# This file contains a table of character encoding aliases,"
+echo "# suitable for operating system '${os}'."
+echo "# It was automatically generated from config.charset."
+# List of references, updated during installation:
+echo "# Packages using this file: "
+case "$os" in
+    linux* | *-gnu*)
+	# With glibc-2.1 or newer, we don't need any canonicalization,
+	# because glibc has iconv and both glibc and libiconv support all
+	# GNU canonical names directly. Therefore, the Makefile does not
+	# need to install the alias file at all.
+	# The following applies only to glibc-2.0.x and older libcs.
+	echo "ISO_646.IRV:1983 ASCII"
+	;;
+    aix*)
+	echo "ISO8859-1 ISO-8859-1"
+	echo "ISO8859-2 ISO-8859-2"
+	echo "ISO8859-5 ISO-8859-5"
+	echo "ISO8859-6 ISO-8859-6"
+	echo "ISO8859-7 ISO-8859-7"
+	echo "ISO8859-8 ISO-8859-8"
+	echo "ISO8859-9 ISO-8859-9"
+	echo "ISO8859-15 ISO-8859-15"
+	echo "IBM-850 CP850"
+	echo "IBM-856 CP856"
+	echo "IBM-921 ISO-8859-13"
+	echo "IBM-922 CP922"
+	echo "IBM-932 CP932"
+	echo "IBM-943 CP943"
+	echo "IBM-1046 CP1046"
+	echo "IBM-1124 CP1124"
+	echo "IBM-1129 CP1129"
+	echo "IBM-1252 CP1252"
+	echo "IBM-eucCN GB2312"
+	echo "IBM-eucJP EUC-JP"
+	echo "IBM-eucKR EUC-KR"
+	echo "IBM-eucTW EUC-TW"
+	echo "big5 BIG5"
+	echo "GBK GBK"
+	echo "TIS-620 TIS-620"
+	echo "UTF-8 UTF-8"
+	;;
+    hpux*)
+	echo "iso88591 ISO-8859-1"
+	echo "iso88592 ISO-8859-2"
+	echo "iso88595 ISO-8859-5"
+	echo "iso88596 ISO-8859-6"
+	echo "iso88597 ISO-8859-7"
+	echo "iso88598 ISO-8859-8"
+	echo "iso88599 ISO-8859-9"
+	echo "iso885915 ISO-8859-15"
+	echo "roman8 HP-ROMAN8"
+	echo "arabic8 HP-ARABIC8"
+	echo "greek8 HP-GREEK8"
+	echo "hebrew8 HP-HEBREW8"
+	echo "turkish8 HP-TURKISH8"
+	echo "kana8 HP-KANA8"
+	echo "tis620 TIS-620"
+	echo "big5 BIG5"
+	echo "eucJP EUC-JP"
+	echo "eucKR EUC-KR"
+	echo "eucTW EUC-TW"
+	echo "hp15CN GB2312"
+	#echo "ccdc ?" # what is this?
+	echo "SJIS SHIFT_JIS"
+	echo "utf8 UTF-8"
+	;;
+    irix*)
+	echo "ISO8859-1 ISO-8859-1"
+	echo "ISO8859-2 ISO-8859-2"
+	echo "ISO8859-5 ISO-8859-5"
+	echo "ISO8859-7 ISO-8859-7"
+	echo "ISO8859-9 ISO-8859-9"
+	echo "eucCN GB2312"
+	echo "eucJP EUC-JP"
+	echo "eucKR EUC-KR"
+	echo "eucTW EUC-TW"
+	;;
+    osf*)
+	echo "ISO8859-1 ISO-8859-1"
+	echo "ISO8859-2 ISO-8859-2"
+	echo "ISO8859-4 ISO-8859-4"
+	echo "ISO8859-5 ISO-8859-5"
+	echo "ISO8859-7 ISO-8859-7"
+	echo "ISO8859-8 ISO-8859-8"
+	echo "ISO8859-9 ISO-8859-9"
+	echo "ISO8859-15 ISO-8859-15"
+	echo "cp850 CP850"
+	echo "big5 BIG5"
+	echo "dechanyu DEC-HANYU"
+	echo "dechanzi GB2312"
+	echo "deckanji DEC-KANJI"
+	echo "deckorean EUC-KR"
+	echo "eucJP EUC-JP"
+	echo "eucKR EUC-KR"
+	echo "eucTW EUC-TW"
+	echo "GBK GBK"
+	echo "KSC5601 CP949"
+	echo "sdeckanji EUC-JP"
+	echo "SJIS SHIFT_JIS"
+	echo "TACTIS TIS-620"
+	echo "UTF-8 UTF-8"
+	;;
+    solaris*)
+	echo "646 ASCII"
+	echo "ISO8859-1 ISO-8859-1"
+	echo "ISO8859-2 ISO-8859-2"
+	echo "ISO8859-4 ISO-8859-4"
+	echo "ISO8859-5 ISO-8859-5"
+	echo "ISO8859-6 ISO-8859-6"
+	echo "ISO8859-7 ISO-8859-7"
+	echo "ISO8859-8 ISO-8859-8"
+	echo "ISO8859-9 ISO-8859-9"
+	echo "ISO8859-15 ISO-8859-15"
+	echo "koi8-r KOI8-R"
+	echo "BIG5 BIG5"
+	echo "gb2312 GB2312"
+	echo "cns11643 EUC-TW"
+	echo "5601 EUC-KR"
+	echo "eucJP EUC-JP"
+	echo "PCK SHIFT_JIS"
+	echo "TIS620.2533 TIS-620"
+	#echo "sun_eu_greek ?" # what is this?
+	echo "UTF-8 UTF-8"
+	;;
+    freebsd*)
+	# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
+	# localcharset.c falls back to using the full locale name
+	# from the environment variables.
+	echo "C ASCII"
+	echo "US-ASCII ASCII"
+	for l in la_LN lt_LN; do
+	  echo "$l.ASCII ASCII"
+	done
+	for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
+	         fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
+	         lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
+	  echo "$l.ISO_8859-1 ISO-8859-1"
+	  echo "$l.DIS_8859-15 ISO-8859-15"
+	done
+	for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
+	  echo "$l.ISO_8859-2 ISO-8859-2"
+	done
+	for l in la_LN lt_LT; do
+	  echo "$l.ISO_8859-4 ISO-8859-4"
+	done
+	for l in ru_RU ru_SU; do
+	  echo "$l.KOI8-R KOI8-R"
+	  echo "$l.ISO_8859-5 ISO-8859-5"
+	  echo "$l.CP866 CP866"
+	done
+	echo "uk_UA.KOI8-U KOI8-U"
+	echo "zh_TW.BIG5 BIG5"
+	echo "zh_TW.Big5 BIG5"
+	echo "zh_CN.EUC GB2312"
+	echo "ja_JP.EUC EUC-JP"
+	echo "ja_JP.SJIS SHIFT_JIS"
+	echo "ja_JP.Shift_JIS SHIFT_JIS"
+	echo "ko_KR.EUC EUC-KR"
+	;;
+    beos*)
+	# BeOS has a single locale, and it has UTF-8 encoding.
+	echo "* UTF-8"
+	;;
+    msdosdjgpp*)
+	# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
+	# localcharset.c falls back to using the full locale name
+	# from the environment variables.
+	echo "#"
+	echo "# The encodings given here may not all be correct."
+	echo "# If you find that the encoding given for your language and"
+	echo "# country is not the one your DOS machine actually uses, just"
+	echo "# correct it in this file, and send a mail to"
+	echo "# Juan Manuel Guerrero <st001906 at hrz1.hrz.tu-darmstadt.de>"
+	echo "# and Bruno Haible <haible at clisp.cons.org>."
+	echo "#"
+	echo "C ASCII"
+	# ISO-8859-1 languages
+	echo "ca CP850"
+	echo "ca_ES CP850"
+	echo "da CP865"    # not CP850 ??
+	echo "da_DK CP865" # not CP850 ??
+	echo "de CP850"
+	echo "de_AT CP850"
+	echo "de_CH CP850"
+	echo "de_DE CP850"
+	echo "en CP850"
+	echo "en_AU CP850" # not CP437 ??
+	echo "en_CA CP850"
+	echo "en_GB CP850"
+	echo "en_NZ CP437"
+	echo "en_US CP437"
+	echo "en_ZA CP850" # not CP437 ??
+	echo "es CP850"
+	echo "es_AR CP850"
+	echo "es_BO CP850"
+	echo "es_CL CP850"
+	echo "es_CO CP850"
+	echo "es_CR CP850"
+	echo "es_CU CP850"
+	echo "es_DO CP850"
+	echo "es_EC CP850"
+	echo "es_ES CP850"
+	echo "es_GT CP850"
+	echo "es_HN CP850"
+	echo "es_MX CP850"
+	echo "es_NI CP850"
+	echo "es_PA CP850"
+	echo "es_PY CP850"
+	echo "es_PE CP850"
+	echo "es_SV CP850"
+	echo "es_UY CP850"
+	echo "es_VE CP850"
+	echo "et CP850"
+	echo "et_EE CP850"
+	echo "eu CP850"
+	echo "eu_ES CP850"
+	echo "fi CP850"
+	echo "fi_FI CP850"
+	echo "fr CP850"
+	echo "fr_BE CP850"
+	echo "fr_CA CP850"
+	echo "fr_CH CP850"
+	echo "fr_FR CP850"
+	echo "ga CP850"
+	echo "ga_IE CP850"
+	echo "gd CP850"
+	echo "gd_GB CP850"
+	echo "gl CP850"
+	echo "gl_ES CP850"
+	echo "id CP850"    # not CP437 ??
+	echo "id_ID CP850" # not CP437 ??
+	echo "is CP861"    # not CP850 ??
+	echo "is_IS CP861" # not CP850 ??
+	echo "it CP850"
+	echo "it_CH CP850"
+	echo "it_IT CP850"
+	echo "lt CP775"
+	echo "lt_LT CP775"
+	echo "lv CP775"
+	echo "lv_LV CP775"
+	echo "nb CP865"    # not CP850 ??
+	echo "nb_NO CP865" # not CP850 ??
+	echo "nl CP850"
+	echo "nl_BE CP850"
+	echo "nl_NL CP850"
+	echo "nn CP865"    # not CP850 ??
+	echo "nn_NO CP865" # not CP850 ??
+	echo "no CP865"    # not CP850 ??
+	echo "no_NO CP865" # not CP850 ??
+	echo "pt CP850"
+	echo "pt_BR CP850"
+	echo "pt_PT CP850"
+	echo "sv CP850"
+	echo "sv_SE CP850"
+	# ISO-8859-2 languages
+	echo "cs CP852"
+	echo "cs_CZ CP852"
+	echo "hr CP852"
+	echo "hr_HR CP852"
+	echo "hu CP852"
+	echo "hu_HU CP852"
+	echo "pl CP852"
+	echo "pl_PL CP852"
+	echo "ro CP852"
+	echo "ro_RO CP852"
+	echo "sk CP852"
+	echo "sk_SK CP852"
+	echo "sl CP852"
+	echo "sl_SI CP852"
+	echo "sq CP852"
+	echo "sq_AL CP852"
+	echo "sr CP852"    # CP852 or CP866 or CP855 ??
+	echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
+	# ISO-8859-3 languages
+	echo "mt CP850"
+	echo "mt_MT CP850"
+	# ISO-8859-5 languages
+	echo "be CP866"
+	echo "be_BE CP866"
+	echo "bg CP866"    # not CP855 ??
+	echo "bg_BG CP866" # not CP855 ??
+	echo "mk CP866"    # not CP855 ??
+	echo "mk_MK CP866" # not CP855 ??
+	echo "ru KOI8-R"    # not CP866 ??
+	echo "ru_RU KOI8-R" # not CP866 ??
+	# ISO-8859-6 languages
+	echo "ar CP864"
+	echo "ar_AE CP864"
+	echo "ar_DZ CP864"
+	echo "ar_EG CP864"
+	echo "ar_IQ CP864"
+	echo "ar_IR CP864"
+	echo "ar_JO CP864"
+	echo "ar_KW CP864"
+	echo "ar_MA CP864"
+	echo "ar_OM CP864"
+	echo "ar_QA CP864"
+	echo "ar_SA CP864"
+	echo "ar_SY CP864"
+	# ISO-8859-7 languages
+	echo "el CP869"
+	echo "el_GR CP869"
+	# ISO-8859-8 languages
+	echo "he CP862"
+	echo "he_IL CP862"
+	# ISO-8859-9 languages
+	echo "tr CP857"
+	echo "tr_TR CP857"
+	# Japanese
+	echo "ja CP932"
+	echo "ja_JP CP932"
+	# Chinese
+	echo "zh_CN GBK"
+	echo "zh_TW CP950" # not CP938 ??
+	# Korean
+	echo "kr CP949"    # not CP934 ??
+	echo "kr_KR CP949" # not CP934 ??
+	# Thai
+	echo "th CP874"
+	echo "th_TH CP874"
+	# Other
+	echo "eo CP850"
+	echo "eo_EO CP850"
+	;;
+esac
Index: eggdrop1.7/intl/dcgettext.c
diff -u /dev/null eggdrop1.7/intl/dcgettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/dcgettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,58 @@
+/* Implementation of the dcgettext(3) function.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define DCGETTEXT __dcgettext
+# define DCIGETTEXT __dcigettext
+#else
+# define DCGETTEXT dcgettext__
+# define DCIGETTEXT dcigettext__
+#endif
+
+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+   locale.  */
+char *
+DCGETTEXT (domainname, msgid, category)
+     const char *domainname;
+     const char *msgid;
+     int category;
+{
+  return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__dcgettext, dcgettext);
+#endif
Index: eggdrop1.7/intl/dcigettext.c
diff -u /dev/null eggdrop1.7/intl/dcigettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/dcigettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,1259 @@
+/* Implementation of the internal dcigettext function.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
+   This must come before <config.h> because <config.h> may include
+   <features.h>, and once <features.h> has been included, it's too late.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE	1
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+# define HAVE_ALLOCA 1
+#else
+# if defined HAVE_ALLOCA_H || defined _LIBC
+#  include <alloca.h>
+# else
+#  ifdef _AIX
+ #pragma alloca
+#  else
+#   ifndef alloca
+char *alloca ();
+#   endif
+#  endif
+# endif
+#endif
+
+#include <errno.h>
+#ifndef errno
+extern int errno;
+#endif
+#ifndef __set_errno
+# define __set_errno(val) errno = (val)
+#endif
+
+#include <stddef.h>
+#include <stdlib.h>
+
+#include <string.h>
+#if !HAVE_STRCHR && !defined _LIBC
+# ifndef strchr
+#  define strchr index
+# endif
+#endif
+
+#if defined HAVE_UNISTD_H || defined _LIBC
+# include <unistd.h>
+#endif
+
+#include <locale.h>
+
+#if defined HAVE_SYS_PARAM_H || defined _LIBC
+# include <sys/param.h>
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+#include "hash-string.h"
+
+/* Thread safetyness.  */
+#ifdef _LIBC
+# include <bits/libc-lock.h>
+#else
+/* Provide dummy implementation if this is outside glibc.  */
+# define __libc_lock_define_initialized(CLASS, NAME)
+# define __libc_lock_lock(NAME)
+# define __libc_lock_unlock(NAME)
+# define __libc_rwlock_define_initialized(CLASS, NAME)
+# define __libc_rwlock_rdlock(NAME)
+# define __libc_rwlock_unlock(NAME)
+#endif
+
+/* Alignment of types.  */
+#if defined __GNUC__ && __GNUC__ >= 2
+# define alignof(TYPE) __alignof__ (TYPE)
+#else
+# define alignof(TYPE) \
+    ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)
+#endif
+
+/* The internal variables in the standalone libintl.a must have different
+   names than the internal variables in GNU libc, otherwise programs
+   using libintl.a cannot be linked statically.  */
+#if !defined _LIBC
+# define _nl_default_default_domain _nl_default_default_domain__
+# define _nl_current_default_domain _nl_current_default_domain__
+# define _nl_default_dirname _nl_default_dirname__
+# define _nl_domain_bindings _nl_domain_bindings__
+#endif
+
+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
+#ifndef offsetof
+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
+#endif
+
+/* @@ end of prolog @@ */
+
+#ifdef _LIBC
+/* Rename the non ANSI C functions.  This is required by the standard
+   because some ANSI C functions will require linking with this object
+   file and the name space must not be polluted.  */
+# define getcwd __getcwd
+# ifndef stpcpy
+#  define stpcpy __stpcpy
+# endif
+# define tfind __tfind
+#else
+# if !defined HAVE_GETCWD
+char *getwd ();
+#  define getcwd(buf, max) getwd (buf)
+# else
+char *getcwd ();
+# endif
+# ifndef HAVE_STPCPY
+static char *stpcpy PARAMS ((char *dest, const char *src));
+# endif
+# ifndef HAVE_MEMPCPY
+static void *mempcpy PARAMS ((void *dest, const void *src, size_t n));
+# endif
+#endif
+
+/* Amount to increase buffer size by in each try.  */
+#define PATH_INCR 32
+
+/* The following is from pathmax.h.  */
+/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
+   PATH_MAX but might cause redefinition warnings when sys/param.h is
+   later included (as on MORE/BSD 4.3).  */
+#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)
+# include <limits.h>
+#endif
+
+#ifndef _POSIX_PATH_MAX
+# define _POSIX_PATH_MAX 255
+#endif
+
+#if !defined PATH_MAX && defined _PC_PATH_MAX
+# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
+#endif
+
+/* Don't include sys/param.h if it already has been.  */
+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+# include <sys/param.h>
+#endif
+
+#if !defined PATH_MAX && defined MAXPATHLEN
+# define PATH_MAX MAXPATHLEN
+#endif
+
+#ifndef PATH_MAX
+# define PATH_MAX _POSIX_PATH_MAX
+#endif
+
+/* Pathname support.
+   ISSLASH(C)           tests whether C is a directory separator character.
+   IS_ABSOLUTE_PATH(P)  tests whether P is an absolute path.  If it is not,
+                        it may be concatenated to a directory pathname.
+   IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
+ */
+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+  /* Win32, OS/2, DOS */
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+# define HAS_DEVICE(P) \
+    ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
+     && (P)[1] == ':')
+# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
+# define IS_PATH_WITH_DIR(P) \
+    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
+#else
+  /* Unix */
+# define ISSLASH(C) ((C) == '/')
+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
+#endif
+
+/* XPG3 defines the result of `setlocale (category, NULL)' as:
+   ``Directs `setlocale()' to query `category' and return the current
+     setting of `local'.''
+   However it does not specify the exact format.  Neither do SUSV2 and
+   ISO C 99.  So we can use this feature only on selected systems (e.g.
+   those using GNU C Library).  */
+#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
+# define HAVE_LOCALE_NULL
+#endif
+
+/* This is the type used for the search tree where known translations
+   are stored.  */
+struct known_translation_t
+{
+  /* Domain in which to search.  */
+  char *domainname;
+
+  /* The category.  */
+  int category;
+
+  /* State of the catalog counter at the point the string was found.  */
+  int counter;
+
+  /* Catalog where the string was found.  */
+  struct loaded_l10nfile *domain;
+
+  /* And finally the translation.  */
+  const char *translation;
+  size_t translation_length;
+
+  /* Pointer to the string in question.  */
+  char msgid[ZERO];
+};
+
+/* Root of the search tree with known translations.  We can use this
+   only if the system provides the `tsearch' function family.  */
+#if defined HAVE_TSEARCH || defined _LIBC
+# include <search.h>
+
+static void *root;
+
+# ifdef _LIBC
+#  define tsearch __tsearch
+# endif
+
+/* Function to compare two entries in the table of known translations.  */
+static int transcmp PARAMS ((const void *p1, const void *p2));
+static int
+transcmp (p1, p2)
+     const void *p1;
+     const void *p2;
+{
+  const struct known_translation_t *s1;
+  const struct known_translation_t *s2;
+  int result;
+
+  s1 = (const struct known_translation_t *) p1;
+  s2 = (const struct known_translation_t *) p2;
+
+  result = strcmp (s1->msgid, s2->msgid);
+  if (result == 0)
+    {
+      result = strcmp (s1->domainname, s2->domainname);
+      if (result == 0)
+	/* We compare the category last (though this is the cheapest
+	   operation) since it is hopefully always the same (namely
+	   LC_MESSAGES).  */
+	result = s1->category - s2->category;
+    }
+
+  return result;
+}
+#endif
+
+/* Name of the default domain used for gettext(3) prior any call to
+   textdomain(3).  The default value for this is "messages".  */
+const char _nl_default_default_domain[] = "messages";
+
+/* Value used as the default domain for gettext(3).  */
+const char *_nl_current_default_domain = _nl_default_default_domain;
+
+/* Contains the default location of the message catalogs.  */
+const char _nl_default_dirname[] = LOCALEDIR;
+
+/* List with bindings of specific domains created by bindtextdomain()
+   calls.  */
+struct binding *_nl_domain_bindings;
+
+/* Prototypes for local functions.  */
+static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain,
+				    unsigned long int n,
+				    const char *translation,
+				    size_t translation_len))
+     internal_function;
+static unsigned long int plural_eval PARAMS ((struct expression *pexp,
+					      unsigned long int n))
+     internal_function;
+static const char *category_to_name PARAMS ((int category)) internal_function;
+static const char *guess_category_value PARAMS ((int category,
+						 const char *categoryname))
+     internal_function;
+
+
+/* For those loosing systems which don't have `alloca' we have to add
+   some additional code emulating it.  */
+#ifdef HAVE_ALLOCA
+/* Nothing has to be done.  */
+# define ADD_BLOCK(list, address) /* nothing */
+# define FREE_BLOCKS(list) /* nothing */
+#else
+struct block_list
+{
+  void *address;
+  struct block_list *next;
+};
+# define ADD_BLOCK(list, addr)						      \
+  do {									      \
+    struct block_list *newp = (struct block_list *) malloc (sizeof (*newp));  \
+    /* If we cannot get a free block we cannot add the new element to	      \
+       the list.  */							      \
+    if (newp != NULL) {							      \
+      newp->address = (addr);						      \
+      newp->next = (list);						      \
+      (list) = newp;							      \
+    }									      \
+  } while (0)
+# define FREE_BLOCKS(list)						      \
+  do {									      \
+    while (list != NULL) {						      \
+      struct block_list *old = list;					      \
+      list = list->next;						      \
+      free (old);							      \
+    }									      \
+  } while (0)
+# undef alloca
+# define alloca(size) (malloc (size))
+#endif	/* have alloca */
+
+
+#ifdef _LIBC
+/* List of blocks allocated for translations.  */
+typedef struct transmem_list
+{
+  struct transmem_list *next;
+  char data[ZERO];
+} transmem_block_t;
+static struct transmem_list *transmem_list;
+#else
+typedef unsigned char transmem_block_t;
+#endif
+
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define DCIGETTEXT __dcigettext
+#else
+# define DCIGETTEXT dcigettext__
+#endif
+
+/* Lock variable to protect the global data in the gettext implementation.  */
+#ifdef _LIBC
+__libc_rwlock_define_initialized (, _nl_state_lock)
+#endif
+
+/* Checking whether the binaries runs SUID must be done and glibc provides
+   easier methods therefore we make a difference here.  */
+#ifdef _LIBC
+# define ENABLE_SECURE __libc_enable_secure
+# define DETERMINE_SECURE
+#else
+# ifndef HAVE_GETUID
+#  define getuid() 0
+# endif
+# ifndef HAVE_GETGID
+#  define getgid() 0
+# endif
+# ifndef HAVE_GETEUID
+#  define geteuid() getuid()
+# endif
+# ifndef HAVE_GETEGID
+#  define getegid() getgid()
+# endif
+static int enable_secure;
+# define ENABLE_SECURE (enable_secure == 1)
+# define DETERMINE_SECURE \
+  if (enable_secure == 0)						      \
+    {									      \
+      if (getuid () != geteuid () || getgid () != getegid ())		      \
+	enable_secure = 1;						      \
+      else								      \
+	enable_secure = -1;						      \
+    }
+#endif
+
+/* Look up MSGID in the DOMAINNAME message catalog for the current
+   CATEGORY locale and, if PLURAL is nonzero, search over string
+   depending on the plural form determined by N.  */
+char *
+DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
+     const char *domainname;
+     const char *msgid1;
+     const char *msgid2;
+     int plural;
+     unsigned long int n;
+     int category;
+{
+#ifndef HAVE_ALLOCA
+  struct block_list *block_list = NULL;
+#endif
+  struct loaded_l10nfile *domain;
+  struct binding *binding;
+  const char *categoryname;
+  const char *categoryvalue;
+  char *dirname, *xdomainname;
+  char *single_locale;
+  char *retval;
+  size_t retlen;
+  int saved_errno;
+#if defined HAVE_TSEARCH || defined _LIBC
+  struct known_translation_t *search;
+  struct known_translation_t **foundp = NULL;
+  size_t msgid_len;
+#endif
+  size_t domainname_len;
+
+  /* If no real MSGID is given return NULL.  */
+  if (msgid1 == NULL)
+    return NULL;
+
+  __libc_rwlock_rdlock (_nl_state_lock);
+
+  /* If DOMAINNAME is NULL, we are interested in the default domain.  If
+     CATEGORY is not LC_MESSAGES this might not make much sense but the
+     definition left this undefined.  */
+  if (domainname == NULL)
+    domainname = _nl_current_default_domain;
+
+#if defined HAVE_TSEARCH || defined _LIBC
+  msgid_len = strlen (msgid1) + 1;
+
+  /* Try to find the translation among those which we found at
+     some time.  */
+  search = (struct known_translation_t *)
+	   alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
+  memcpy (search->msgid, msgid1, msgid_len);
+  search->domainname = (char *) domainname;
+  search->category = category;
+
+  foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
+  if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
+    {
+      /* Now deal with plural.  */
+      if (plural)
+	retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation,
+				(*foundp)->translation_length);
+      else
+	retval = (char *) (*foundp)->translation;
+
+      __libc_rwlock_unlock (_nl_state_lock);
+      return retval;
+    }
+#endif
+
+  /* Preserve the `errno' value.  */
+  saved_errno = errno;
+
+  /* See whether this is a SUID binary or not.  */
+  DETERMINE_SECURE;
+
+  /* First find matching binding.  */
+  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
+    {
+      int compare = strcmp (domainname, binding->domainname);
+      if (compare == 0)
+	/* We found it!  */
+	break;
+      if (compare < 0)
+	{
+	  /* It is not in the list.  */
+	  binding = NULL;
+	  break;
+	}
+    }
+
+  if (binding == NULL)
+    dirname = (char *) _nl_default_dirname;
+  else if (IS_ABSOLUTE_PATH (binding->dirname))
+    dirname = binding->dirname;
+  else
+    {
+      /* We have a relative path.  Make it absolute now.  */
+      size_t dirname_len = strlen (binding->dirname) + 1;
+      size_t path_max;
+      char *ret;
+
+      path_max = (unsigned int) PATH_MAX;
+      path_max += 2;		/* The getcwd docs say to do this.  */
+
+      for (;;)
+	{
+	  dirname = (char *) alloca (path_max + dirname_len);
+	  ADD_BLOCK (block_list, dirname);
+
+	  __set_errno (0);
+	  ret = getcwd (dirname, path_max);
+	  if (ret != NULL || errno != ERANGE)
+	    break;
+
+	  path_max += path_max / 2;
+	  path_max += PATH_INCR;
+	}
+
+      if (ret == NULL)
+	{
+	  /* We cannot get the current working directory.  Don't signal an
+	     error but simply return the default string.  */
+	  FREE_BLOCKS (block_list);
+	  __libc_rwlock_unlock (_nl_state_lock);
+	  __set_errno (saved_errno);
+	  return (plural == 0
+		  ? (char *) msgid1
+		  /* Use the Germanic plural rule.  */
+		  : n == 1 ? (char *) msgid1 : (char *) msgid2);
+	}
+
+      stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
+    }
+
+  /* Now determine the symbolic name of CATEGORY and its value.  */
+  categoryname = category_to_name (category);
+  categoryvalue = guess_category_value (category, categoryname);
+
+  domainname_len = strlen (domainname);
+  xdomainname = (char *) alloca (strlen (categoryname)
+				 + domainname_len + 5);
+  ADD_BLOCK (block_list, xdomainname);
+
+  stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
+		  domainname, domainname_len),
+	  ".mo");
+
+  /* Creating working area.  */
+  single_locale = (char *) alloca (strlen (categoryvalue) + 1);
+  ADD_BLOCK (block_list, single_locale);
+
+
+  /* Search for the given string.  This is a loop because we perhaps
+     got an ordered list of languages to consider for the translation.  */
+  while (1)
+    {
+      /* Make CATEGORYVALUE point to the next element of the list.  */
+      while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
+	++categoryvalue;
+      if (categoryvalue[0] == '\0')
+	{
+	  /* The whole contents of CATEGORYVALUE has been searched but
+	     no valid entry has been found.  We solve this situation
+	     by implicitly appending a "C" entry, i.e. no translation
+	     will take place.  */
+	  single_locale[0] = 'C';
+	  single_locale[1] = '\0';
+	}
+      else
+	{
+	  char *cp = single_locale;
+	  while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
+	    *cp++ = *categoryvalue++;
+	  *cp = '\0';
+
+	  /* When this is a SUID binary we must not allow accessing files
+	     outside the dedicated directories.  */
+	  if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))
+	    /* Ingore this entry.  */
+	    continue;
+	}
+
+      /* If the current locale value is C (or POSIX) we don't load a
+	 domain.  Return the MSGID.  */
+      if (strcmp (single_locale, "C") == 0
+	  || strcmp (single_locale, "POSIX") == 0)
+	{
+	  FREE_BLOCKS (block_list);
+	  __libc_rwlock_unlock (_nl_state_lock);
+	  __set_errno (saved_errno);
+	  return (plural == 0
+		  ? (char *) msgid1
+		  /* Use the Germanic plural rule.  */
+		  : n == 1 ? (char *) msgid1 : (char *) msgid2);
+	}
+
+
+      /* Find structure describing the message catalog matching the
+	 DOMAINNAME and CATEGORY.  */
+      domain = _nl_find_domain (dirname, single_locale, xdomainname, binding);
+
+      if (domain != NULL)
+	{
+	  retval = _nl_find_msg (domain, binding, msgid1, &retlen);
+
+	  if (retval == NULL)
+	    {
+	      int cnt;
+
+	      for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
+		{
+		  retval = _nl_find_msg (domain->successor[cnt], binding,
+					 msgid1, &retlen);
+
+		  if (retval != NULL)
+		    {
+		      domain = domain->successor[cnt];
+		      break;
+		    }
+		}
+	    }
+
+	  if (retval != NULL)
+	    {
+	      /* Found the translation of MSGID1 in domain DOMAIN:
+		 starting at RETVAL, RETLEN bytes.  */
+	      FREE_BLOCKS (block_list);
+	      __set_errno (saved_errno);
+#if defined HAVE_TSEARCH || defined _LIBC
+	      if (foundp == NULL)
+		{
+		  /* Create a new entry and add it to the search tree.  */
+		  struct known_translation_t *newp;
+
+		  newp = (struct known_translation_t *)
+		    malloc (offsetof (struct known_translation_t, msgid)
+			    + msgid_len + domainname_len + 1);
+		  if (newp != NULL)
+		    {
+		      newp->domainname =
+			mempcpy (newp->msgid, msgid1, msgid_len);
+		      memcpy (newp->domainname, domainname, domainname_len + 1);
+		      newp->category = category;
+		      newp->counter = _nl_msg_cat_cntr;
+		      newp->domain = domain;
+		      newp->translation = retval;
+		      newp->translation_length = retlen;
+
+		      /* Insert the entry in the search tree.  */
+		      foundp = (struct known_translation_t **)
+			tsearch (newp, &root, transcmp);
+		      if (foundp == NULL
+			  || __builtin_expect (*foundp != newp, 0))
+			/* The insert failed.  */
+			free (newp);
+		    }
+		}
+	      else
+		{
+		  /* We can update the existing entry.  */
+		  (*foundp)->counter = _nl_msg_cat_cntr;
+		  (*foundp)->domain = domain;
+		  (*foundp)->translation = retval;
+		  (*foundp)->translation_length = retlen;
+		}
+#endif
+	      /* Now deal with plural.  */
+	      if (plural)
+		retval = plural_lookup (domain, n, retval, retlen);
+
+	      __libc_rwlock_unlock (_nl_state_lock);
+	      return retval;
+	    }
+	}
+    }
+  /* NOTREACHED */
+}
+
+
+char *
+internal_function
+_nl_find_msg (domain_file, domainbinding, msgid, lengthp)
+     struct loaded_l10nfile *domain_file;
+     struct binding *domainbinding;
+     const char *msgid;
+     size_t *lengthp;
+{
+  struct loaded_domain *domain;
+  size_t act;
+  char *result;
+  size_t resultlen;
+
+  if (domain_file->decided == 0)
+    _nl_load_domain (domain_file, domainbinding);
+
+  if (domain_file->data == NULL)
+    return NULL;
+
+  domain = (struct loaded_domain *) domain_file->data;
+
+  /* Locate the MSGID and its translation.  */
+  if (domain->hash_size > 2 && domain->hash_tab != NULL)
+    {
+      /* Use the hashing table.  */
+      nls_uint32 len = strlen (msgid);
+      nls_uint32 hash_val = hash_string (msgid);
+      nls_uint32 idx = hash_val % domain->hash_size;
+      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
+
+      while (1)
+	{
+	  nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
+
+	  if (nstr == 0)
+	    /* Hash table entry is empty.  */
+	    return NULL;
+
+	  /* Compare msgid with the original string at index nstr-1.
+	     We compare the lengths with >=, not ==, because plural entries
+	     are represented by strings with an embedded NUL.  */
+	  if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len
+	      && (strcmp (msgid,
+			  domain->data + W (domain->must_swap,
+					    domain->orig_tab[nstr - 1].offset))
+		  == 0))
+	    {
+	      act = nstr - 1;
+	      goto found;
+	    }
+
+	  if (idx >= domain->hash_size - incr)
+	    idx -= domain->hash_size - incr;
+	  else
+	    idx += incr;
+	}
+      /* NOTREACHED */
+    }
+  else
+    {
+      /* Try the default method:  binary search in the sorted array of
+	 messages.  */
+      size_t top, bottom;
+
+      bottom = 0;
+      top = domain->nstrings;
+      while (bottom < top)
+	{
+	  int cmp_val;
+
+	  act = (bottom + top) / 2;
+	  cmp_val = strcmp (msgid, (domain->data
+				    + W (domain->must_swap,
+					 domain->orig_tab[act].offset)));
+	  if (cmp_val < 0)
+	    top = act;
+	  else if (cmp_val > 0)
+	    bottom = act + 1;
+	  else
+	    goto found;
+	}
+      /* No translation was found.  */
+      return NULL;
+    }
+
+ found:
+  /* The translation was found at index ACT.  If we have to convert the
+     string to use a different character set, this is the time.  */
+  result = ((char *) domain->data
+	    + W (domain->must_swap, domain->trans_tab[act].offset));
+  resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
+
+#if defined _LIBC || HAVE_ICONV
+  if (domain->codeset_cntr
+      != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
+    {
+      /* The domain's codeset has changed through bind_textdomain_codeset()
+	 since the message catalog was initialized or last accessed.  We
+	 have to reinitialize the converter.  */
+      _nl_free_domain_conv (domain);
+      _nl_init_domain_conv (domain_file, domain, domainbinding);
+    }
+
+  if (
+# ifdef _LIBC
+      domain->conv != (__gconv_t) -1
+# else
+#  if HAVE_ICONV
+      domain->conv != (iconv_t) -1
+#  endif
+# endif
+      )
+    {
+      /* We are supposed to do a conversion.  First allocate an
+	 appropriate table with the same structure as the table
+	 of translations in the file, where we can put the pointers
+	 to the converted strings in.
+	 There is a slight complication with plural entries.  They
+	 are represented by consecutive NUL terminated strings.  We
+	 handle this case by converting RESULTLEN bytes, including
+	 NULs.  */
+
+      if (domain->conv_tab == NULL
+	  && ((domain->conv_tab = (char **) calloc (domain->nstrings,
+						    sizeof (char *)))
+	      == NULL))
+	/* Mark that we didn't succeed allocating a table.  */
+	domain->conv_tab = (char **) -1;
+
+      if (__builtin_expect (domain->conv_tab == (char **) -1, 0))
+	/* Nothing we can do, no more memory.  */
+	goto converted;
+
+      if (domain->conv_tab[act] == NULL)
+	{
+	  /* We haven't used this string so far, so it is not
+	     translated yet.  Do this now.  */
+	  /* We use a bit more efficient memory handling.
+	     We allocate always larger blocks which get used over
+	     time.  This is faster than many small allocations.   */
+	  __libc_lock_define_initialized (static, lock)
+# define INITIAL_BLOCK_SIZE	4080
+	  static unsigned char *freemem;
+	  static size_t freemem_size;
+
+	  const unsigned char *inbuf;
+	  unsigned char *outbuf;
+	  int malloc_count;
+# ifndef _LIBC
+	  transmem_block_t *transmem_list = NULL;
+# endif
+
+	  __libc_lock_lock (lock);
+
+	  inbuf = (const unsigned char *) result;
+	  outbuf = freemem + sizeof (size_t);
+
+	  malloc_count = 0;
+	  while (1)
+	    {
+	      transmem_block_t *newmem;
+# ifdef _LIBC
+	      size_t non_reversible;
+	      int res;
+
+	      if (freemem_size < sizeof (size_t))
+		goto resize_freemem;
+
+	      res = __gconv (domain->conv,
+			     &inbuf, inbuf + resultlen,
+			     &outbuf,
+			     outbuf + freemem_size - sizeof (size_t),
+			     &non_reversible);
+
+	      if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
+		break;
+
+	      if (res != __GCONV_FULL_OUTPUT)
+		{
+		  __libc_lock_unlock (lock);
+		  goto converted;
+		}
+
+	      inbuf = result;
+# else
+#  if HAVE_ICONV
+	      const char *inptr = (const char *) inbuf;
+	      size_t inleft = resultlen;
+	      char *outptr = (char *) outbuf;
+	      size_t outleft;
+
+	      if (freemem_size < sizeof (size_t))
+		goto resize_freemem;
+
+	      outleft = freemem_size - sizeof (size_t);
+	      if (iconv (domain->conv,
+			 (ICONV_CONST char **) &inptr, &inleft,
+			 &outptr, &outleft)
+		  != (size_t) (-1))
+		{
+		  outbuf = (unsigned char *) outptr;
+		  break;
+		}
+	      if (errno != E2BIG)
+		{
+		  __libc_lock_unlock (lock);
+		  goto converted;
+		}
+#  endif
+# endif
+
+	    resize_freemem:
+	      /* We must allocate a new buffer or resize the old one.  */
+	      if (malloc_count > 0)
+		{
+		  ++malloc_count;
+		  freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
+		  newmem = (transmem_block_t *) realloc (transmem_list,
+							 freemem_size);
+# ifdef _LIBC
+		  if (newmem != NULL)
+		    transmem_list = transmem_list->next;
+		  else
+		    {
+		      struct transmem_list *old = transmem_list;
+
+		      transmem_list = transmem_list->next;
+		      free (old);
+		    }
+# endif
+		}
+	      else
+		{
+		  malloc_count = 1;
+		  freemem_size = INITIAL_BLOCK_SIZE;
+		  newmem = (transmem_block_t *) malloc (freemem_size);
+		}
+	      if (__builtin_expect (newmem == NULL, 0))
+		{
+		  freemem = NULL;
+		  freemem_size = 0;
+		  __libc_lock_unlock (lock);
+		  goto converted;
+		}
+
+# ifdef _LIBC
+	      /* Add the block to the list of blocks we have to free
+                 at some point.  */
+	      newmem->next = transmem_list;
+	      transmem_list = newmem;
+
+	      freemem = newmem->data;
+	      freemem_size -= offsetof (struct transmem_list, data);
+# else
+	      transmem_list = newmem;
+	      freemem = newmem;
+# endif
+
+	      outbuf = freemem + sizeof (size_t);
+	    }
+
+	  /* We have now in our buffer a converted string.  Put this
+	     into the table of conversions.  */
+	  *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
+	  domain->conv_tab[act] = (char *) freemem;
+	  /* Shrink freemem, but keep it aligned.  */
+	  freemem_size -= outbuf - freemem;
+	  freemem = outbuf;
+	  freemem += freemem_size & (alignof (size_t) - 1);
+	  freemem_size = freemem_size & ~ (alignof (size_t) - 1);
+
+	  __libc_lock_unlock (lock);
+	}
+
+      /* Now domain->conv_tab[act] contains the translation of all
+	 the plural variants.  */
+      result = domain->conv_tab[act] + sizeof (size_t);
+      resultlen = *(size_t *) domain->conv_tab[act];
+    }
+
+ converted:
+  /* The result string is converted.  */
+
+#endif /* _LIBC || HAVE_ICONV */
+
+  *lengthp = resultlen;
+  return result;
+}
+
+
+/* Look up a plural variant.  */
+static char *
+internal_function
+plural_lookup (domain, n, translation, translation_len)
+     struct loaded_l10nfile *domain;
+     unsigned long int n;
+     const char *translation;
+     size_t translation_len;
+{
+  struct loaded_domain *domaindata = (struct loaded_domain *) domain->data;
+  unsigned long int index;
+  const char *p;
+
+  index = plural_eval (domaindata->plural, n);
+  if (index >= domaindata->nplurals)
+    /* This should never happen.  It means the plural expression and the
+       given maximum value do not match.  */
+    index = 0;
+
+  /* Skip INDEX strings at TRANSLATION.  */
+  p = translation;
+  while (index-- > 0)
+    {
+#ifdef _LIBC
+      p = __rawmemchr (p, '\0');
+#else
+      p = strchr (p, '\0');
+#endif
+      /* And skip over the NUL byte.  */
+      p++;
+
+      if (p >= translation + translation_len)
+	/* This should never happen.  It means the plural expression
+	   evaluated to a value larger than the number of variants
+	   available for MSGID1.  */
+	return (char *) translation;
+    }
+  return (char *) p;
+}
+
+
+/* Function to evaluate the plural expression and return an index value.  */
+static unsigned long int
+internal_function
+plural_eval (pexp, n)
+     struct expression *pexp;
+     unsigned long int n;
+{
+  switch (pexp->nargs)
+    {
+    case 0:
+      switch (pexp->operation)
+	{
+	case var:
+	  return n;
+	case num:
+	  return pexp->val.num;
+	default:
+	  break;
+	}
+      /* NOTREACHED */
+      break;
+    case 1:
+      {
+	/* pexp->operation must be lnot.  */
+	unsigned long int arg = plural_eval (pexp->val.args[0], n);
+	return ! arg;
+      }
+    case 2:
+      {
+	unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
+	if (pexp->operation == lor)
+	  return leftarg || plural_eval (pexp->val.args[1], n);
+	else if (pexp->operation == land)
+	  return leftarg && plural_eval (pexp->val.args[1], n);
+	else
+	  {
+	    unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
+
+	    switch (pexp->operation)
+	      {
+	      case mult:
+		return leftarg * rightarg;
+	      case divide:
+		return leftarg / rightarg;
+	      case module:
+		return leftarg % rightarg;
+	      case plus:
+		return leftarg + rightarg;
+	      case minus:
+		return leftarg - rightarg;
+	      case less_than:
+		return leftarg < rightarg;
+	      case greater_than:
+		return leftarg > rightarg;
+	      case less_or_equal:
+		return leftarg <= rightarg;
+	      case greater_or_equal:
+		return leftarg >= rightarg;
+	      case equal:
+		return leftarg == rightarg;
+	      case not_equal:
+		return leftarg != rightarg;
+	      default:
+		break;
+	      }
+	  }
+	/* NOTREACHED */
+	break;
+      }
+    case 3:
+      {
+	/* pexp->operation must be qmop.  */
+	unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
+	return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
+      }
+    }
+  /* NOTREACHED */
+  return 0;
+}
+
+
+/* Return string representation of locale CATEGORY.  */
+static const char *
+internal_function
+category_to_name (category)
+     int category;
+{
+  const char *retval;
+
+  switch (category)
+  {
+#ifdef LC_COLLATE
+  case LC_COLLATE:
+    retval = "LC_COLLATE";
+    break;
+#endif
+#ifdef LC_CTYPE
+  case LC_CTYPE:
+    retval = "LC_CTYPE";
+    break;
+#endif
+#ifdef LC_MONETARY
+  case LC_MONETARY:
+    retval = "LC_MONETARY";
+    break;
+#endif
+#ifdef LC_NUMERIC
+  case LC_NUMERIC:
+    retval = "LC_NUMERIC";
+    break;
+#endif
+#ifdef LC_TIME
+  case LC_TIME:
+    retval = "LC_TIME";
+    break;
+#endif
+#ifdef LC_MESSAGES
+  case LC_MESSAGES:
+    retval = "LC_MESSAGES";
+    break;
+#endif
+#ifdef LC_RESPONSE
+  case LC_RESPONSE:
+    retval = "LC_RESPONSE";
+    break;
+#endif
+#ifdef LC_ALL
+  case LC_ALL:
+    /* This might not make sense but is perhaps better than any other
+       value.  */
+    retval = "LC_ALL";
+    break;
+#endif
+  default:
+    /* If you have a better idea for a default value let me know.  */
+    retval = "LC_XXX";
+  }
+
+  return retval;
+}
+
+/* Guess value of current locale from value of the environment variables.  */
+static const char *
+internal_function
+guess_category_value (category, categoryname)
+     int category;
+     const char *categoryname;
+{
+  const char *language;
+  const char *retval;
+
+  /* The highest priority value is the `LANGUAGE' environment
+     variable.  But we don't use the value if the currently selected
+     locale is the C locale.  This is a GNU extension.  */
+  language = getenv ("LANGUAGE");
+  if (language != NULL && language[0] == '\0')
+    language = NULL;
+
+  /* We have to proceed with the POSIX methods of looking to `LC_ALL',
+     `LC_xxx', and `LANG'.  On some systems this can be done by the
+     `setlocale' function itself.  */
+#if defined _LIBC || (defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL)
+  retval = setlocale (category, NULL);
+#else
+  /* Setting of LC_ALL overwrites all other.  */
+  retval = getenv ("LC_ALL");
+  if (retval == NULL || retval[0] == '\0')
+    {
+      /* Next comes the name of the desired category.  */
+      retval = getenv (categoryname);
+      if (retval == NULL || retval[0] == '\0')
+	{
+	  /* Last possibility is the LANG environment variable.  */
+	  retval = getenv ("LANG");
+	  if (retval == NULL || retval[0] == '\0')
+	    /* We use C as the default domain.  POSIX says this is
+	       implementation defined.  */
+	    return "C";
+	}
+    }
+#endif
+
+  return language != NULL && strcmp (retval, "C") != 0 ? language : retval;
+}
+
+/* @@ begin of epilog @@ */
+
+/* We don't want libintl.a to depend on any other library.  So we
+   avoid the non-standard function stpcpy.  In GNU C Library this
+   function is available, though.  Also allow the symbol HAVE_STPCPY
+   to be defined.  */
+#if !_LIBC && !HAVE_STPCPY
+static char *
+stpcpy (dest, src)
+     char *dest;
+     const char *src;
+{
+  while ((*dest++ = *src++) != '\0')
+    /* Do nothing. */ ;
+  return dest - 1;
+}
+#endif
+
+#if !_LIBC && !HAVE_MEMPCPY
+static void *
+mempcpy (dest, src, n)
+     void *dest;
+     const void *src;
+     size_t n;
+{
+  return (void *) ((char *) memcpy (dest, src, n) + n);
+}
+#endif
+
+
+#ifdef _LIBC
+/* If we want to free all resources we have to do some work at
+   program's end.  */
+static void __attribute__ ((unused))
+free_mem (void)
+{
+  void *old;
+
+  while (_nl_domain_bindings != NULL)
+    {
+      struct binding *oldp = _nl_domain_bindings;
+      _nl_domain_bindings = _nl_domain_bindings->next;
+      if (oldp->dirname != _nl_default_dirname)
+	/* Yes, this is a pointer comparison.  */
+	free (oldp->dirname);
+      free (oldp->codeset);
+      free (oldp);
+    }
+
+  if (_nl_current_default_domain != _nl_default_default_domain)
+    /* Yes, again a pointer comparison.  */
+    free ((char *) _nl_current_default_domain);
+
+  /* Remove the search tree with the known translations.  */
+  __tdestroy (root, free);
+  root = NULL;
+
+  while (transmem_list != NULL)
+    {
+      old = transmem_list;
+      transmem_list = transmem_list->next;
+      free (old);
+    }
+}
+
+text_set_element (__libc_subfreeres, free_mem);
+#endif
Index: eggdrop1.7/intl/dcngettext.c
diff -u /dev/null eggdrop1.7/intl/dcngettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/dcngettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,60 @@
+/* Implementation of the dcngettext(3) function.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define DCNGETTEXT __dcngettext
+# define DCIGETTEXT __dcigettext
+#else
+# define DCNGETTEXT dcngettext__
+# define DCIGETTEXT dcigettext__
+#endif
+
+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+   locale.  */
+char *
+DCNGETTEXT (domainname, msgid1, msgid2, n, category)
+     const char *domainname;
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+     int category;
+{
+  return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__dcngettext, dcngettext);
+#endif
Index: eggdrop1.7/intl/dgettext.c
diff -u /dev/null eggdrop1.7/intl/dgettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/dgettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,59 @@
+/* Implementation of the dgettext(3) function.
+   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <locale.h>
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define DGETTEXT __dgettext
+# define DCGETTEXT __dcgettext
+#else
+# define DGETTEXT dgettext__
+# define DCGETTEXT dcgettext__
+#endif
+
+/* Look up MSGID in the DOMAINNAME message catalog of the current
+   LC_MESSAGES locale.  */
+char *
+DGETTEXT (domainname, msgid)
+     const char *domainname;
+     const char *msgid;
+{
+  return DCGETTEXT (domainname, msgid, LC_MESSAGES);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__dgettext, dgettext);
+#endif
Index: eggdrop1.7/intl/dngettext.c
diff -u /dev/null eggdrop1.7/intl/dngettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/dngettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,61 @@
+/* Implementation of the dngettext(3) function.
+   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <locale.h>
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define DNGETTEXT __dngettext
+# define DCNGETTEXT __dcngettext
+#else
+# define DNGETTEXT dngettext__
+# define DCNGETTEXT dcngettext__
+#endif
+
+/* Look up MSGID in the DOMAINNAME message catalog of the current
+   LC_MESSAGES locale and skip message according to the plural form.  */
+char *
+DNGETTEXT (domainname, msgid1, msgid2, n)
+     const char *domainname;
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+{
+  return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__dngettext, dngettext);
+#endif
Index: eggdrop1.7/intl/explodename.c
diff -u /dev/null eggdrop1.7/intl/explodename.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/explodename.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,192 @@
+/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+   Contributed by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "loadinfo.h"
+
+/* On some strange systems still no definition of NULL is found.  Sigh!  */
+#ifndef NULL
+# if defined __STDC__ && __STDC__
+#  define NULL ((void *) 0)
+# else
+#  define NULL 0
+# endif
+#endif
+
+/* @@ end of prolog @@ */
+
+char *
+_nl_find_language (name)
+     const char *name;
+{
+  while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
+	 && name[0] != '+' && name[0] != ',')
+    ++name;
+
+  return (char *) name;
+}
+
+
+int
+_nl_explode_name (name, language, modifier, territory, codeset,
+		  normalized_codeset, special, sponsor, revision)
+     char *name;
+     const char **language;
+     const char **modifier;
+     const char **territory;
+     const char **codeset;
+     const char **normalized_codeset;
+     const char **special;
+     const char **sponsor;
+     const char **revision;
+{
+  enum { undecided, xpg, cen } syntax;
+  char *cp;
+  int mask;
+
+  *modifier = NULL;
+  *territory = NULL;
+  *codeset = NULL;
+  *normalized_codeset = NULL;
+  *special = NULL;
+  *sponsor = NULL;
+  *revision = NULL;
+
+  /* Now we determine the single parts of the locale name.  First
+     look for the language.  Termination symbols are `_' and `@' if
+     we use XPG4 style, and `_', `+', and `,' if we use CEN syntax.  */
+  mask = 0;
+  syntax = undecided;
+  *language = cp = name;
+  cp = _nl_find_language (*language);
+
+  if (*language == cp)
+    /* This does not make sense: language has to be specified.  Use
+       this entry as it is without exploding.  Perhaps it is an alias.  */
+    cp = strchr (*language, '\0');
+  else if (cp[0] == '_')
+    {
+      /* Next is the territory.  */
+      cp[0] = '\0';
+      *territory = ++cp;
+
+      while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
+	     && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
+	++cp;
+
+      mask |= TERRITORY;
+
+      if (cp[0] == '.')
+	{
+	  /* Next is the codeset.  */
+	  syntax = xpg;
+	  cp[0] = '\0';
+	  *codeset = ++cp;
+
+	  while (cp[0] != '\0' && cp[0] != '@')
+	    ++cp;
+
+	  mask |= XPG_CODESET;
+
+	  if (*codeset != cp && (*codeset)[0] != '\0')
+	    {
+	      *normalized_codeset = _nl_normalize_codeset (*codeset,
+							   cp - *codeset);
+	      if (strcmp (*codeset, *normalized_codeset) == 0)
+		free ((char *) *normalized_codeset);
+	      else
+		mask |= XPG_NORM_CODESET;
+	    }
+	}
+    }
+
+  if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
+    {
+      /* Next is the modifier.  */
+      syntax = cp[0] == '@' ? xpg : cen;
+      cp[0] = '\0';
+      *modifier = ++cp;
+
+      while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
+	     && cp[0] != ',' && cp[0] != '_')
+	++cp;
+
+      mask |= XPG_MODIFIER | CEN_AUDIENCE;
+    }
+
+  if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
+    {
+      syntax = cen;
+
+      if (cp[0] == '+')
+	{
+ 	  /* Next is special application (CEN syntax).  */
+	  cp[0] = '\0';
+	  *special = ++cp;
+
+	  while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
+	    ++cp;
+
+	  mask |= CEN_SPECIAL;
+	}
+
+      if (cp[0] == ',')
+	{
+ 	  /* Next is sponsor (CEN syntax).  */
+	  cp[0] = '\0';
+	  *sponsor = ++cp;
+
+	  while (cp[0] != '\0' && cp[0] != '_')
+	    ++cp;
+
+	  mask |= CEN_SPONSOR;
+	}
+
+      if (cp[0] == '_')
+	{
+ 	  /* Next is revision (CEN syntax).  */
+	  cp[0] = '\0';
+	  *revision = ++cp;
+
+	  mask |= CEN_REVISION;
+	}
+    }
+
+  /* For CEN syntax values it might be important to have the
+     separator character in the file name, not for XPG syntax.  */
+  if (syntax == xpg)
+    {
+      if (*territory != NULL && (*territory)[0] == '\0')
+	mask &= ~TERRITORY;
+
+      if (*codeset != NULL && (*codeset)[0] == '\0')
+	mask &= ~XPG_CODESET;
+
+      if (*modifier != NULL && (*modifier)[0] == '\0')
+	mask &= ~XPG_MODIFIER;
+    }
+
+  return mask;
+}
Index: eggdrop1.7/intl/finddomain.c
diff -u /dev/null eggdrop1.7/intl/finddomain.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/finddomain.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,198 @@
+/* Handle list of needed message catalogs
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+   Written by Ulrich Drepper <drepper at gnu.org>, 1995.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
+
+#if defined HAVE_UNISTD_H || defined _LIBC
+# include <unistd.h>
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+/* List of already loaded domains.  */
+static struct loaded_l10nfile *_nl_loaded_domains;
+
+
+/* Return a data structure describing the message catalog described by
+   the DOMAINNAME and CATEGORY parameters with respect to the currently
+   established bindings.  */
+struct loaded_l10nfile *
+internal_function
+_nl_find_domain (dirname, locale, domainname, domainbinding)
+     const char *dirname;
+     char *locale;
+     const char *domainname;
+     struct binding *domainbinding;
+{
+  struct loaded_l10nfile *retval;
+  const char *language;
+  const char *modifier;
+  const char *territory;
+  const char *codeset;
+  const char *normalized_codeset;
+  const char *special;
+  const char *sponsor;
+  const char *revision;
+  const char *alias_value;
+  int mask;
+
+  /* LOCALE can consist of up to four recognized parts for the XPG syntax:
+
+		language[_territory[.codeset]][@modifier]
+
+     and six parts for the CEN syntax:
+
+	language[_territory][+audience][+special][,[sponsor][_revision]]
+
+     Beside the first part all of them are allowed to be missing.  If
+     the full specified locale is not found, the less specific one are
+     looked for.  The various parts will be stripped off according to
+     the following order:
+		(1) revision
+		(2) sponsor
+		(3) special
+		(4) codeset
+		(5) normalized codeset
+		(6) territory
+		(7) audience/modifier
+   */
+
+  /* If we have already tested for this locale entry there has to
+     be one data set in the list of loaded domains.  */
+  retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
+			       strlen (dirname) + 1, 0, locale, NULL, NULL,
+			       NULL, NULL, NULL, NULL, NULL, domainname, 0);
+  if (retval != NULL)
+    {
+      /* We know something about this locale.  */
+      int cnt;
+
+      if (retval->decided == 0)
+	_nl_load_domain (retval, domainbinding);
+
+      if (retval->data != NULL)
+	return retval;
+
+      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+	{
+	  if (retval->successor[cnt]->decided == 0)
+	    _nl_load_domain (retval->successor[cnt], domainbinding);
+
+	  if (retval->successor[cnt]->data != NULL)
+	    break;
+	}
+      return cnt >= 0 ? retval : NULL;
+      /* NOTREACHED */
+    }
+
+  /* See whether the locale value is an alias.  If yes its value
+     *overwrites* the alias name.  No test for the original value is
+     done.  */
+  alias_value = _nl_expand_alias (locale);
+  if (alias_value != NULL)
+    {
+#if defined _LIBC || defined HAVE_STRDUP
+      locale = strdup (alias_value);
+      if (locale == NULL)
+	return NULL;
+#else
+      size_t len = strlen (alias_value) + 1;
+      locale = (char *) malloc (len);
+      if (locale == NULL)
+	return NULL;
+
+      memcpy (locale, alias_value, len);
+#endif
+    }
+
+  /* Now we determine the single parts of the locale name.  First
+     look for the language.  Termination symbols are `_' and `@' if
+     we use XPG4 style, and `_', `+', and `,' if we use CEN syntax.  */
+  mask = _nl_explode_name (locale, &language, &modifier, &territory,
+			   &codeset, &normalized_codeset, &special,
+			   &sponsor, &revision);
+
+  /* Create all possible locale entries which might be interested in
+     generalization.  */
+  retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
+			       strlen (dirname) + 1, mask, language, territory,
+			       codeset, normalized_codeset, modifier, special,
+			       sponsor, revision, domainname, 1);
+  if (retval == NULL)
+    /* This means we are out of core.  */
+    return NULL;
+
+  if (retval->decided == 0)
+    _nl_load_domain (retval, domainbinding);
+  if (retval->data == NULL)
+    {
+      int cnt;
+      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+	{
+	  if (retval->successor[cnt]->decided == 0)
+	    _nl_load_domain (retval->successor[cnt], domainbinding);
+	  if (retval->successor[cnt]->data != NULL)
+	    break;
+	}
+    }
+
+  /* The room for an alias was dynamically allocated.  Free it now.  */
+  if (alias_value != NULL)
+    free (locale);
+
+  /* The space for normalized_codeset is dynamically allocated.  Free it.  */
+  if (mask & XPG_NORM_CODESET)
+    free ((void *) normalized_codeset);
+
+  return retval;
+}
+
+
+#ifdef _LIBC
+static void __attribute__ ((unused))
+free_mem (void)
+{
+  struct loaded_l10nfile *runp = _nl_loaded_domains;
+
+  while (runp != NULL)
+    {
+      struct loaded_l10nfile *here = runp;
+      if (runp->data != NULL)
+	_nl_unload_domain ((struct loaded_domain *) runp->data);
+      runp = runp->next;
+      free ((char *) here->filename);
+      free (here);
+    }
+}
+
+text_set_element (__libc_subfreeres, free_mem);
+#endif
Index: eggdrop1.7/intl/gettext.c
diff -u /dev/null eggdrop1.7/intl/gettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/gettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,64 @@
+/* Implementation of gettext(3) function.
+   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef _LIBC
+# define __need_NULL
+# include <stddef.h>
+#else
+# include <stdlib.h>		/* Just for NULL.  */
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define GETTEXT __gettext
+# define DCGETTEXT __dcgettext
+#else
+# define GETTEXT gettext__
+# define DCGETTEXT dcgettext__
+#endif
+
+/* Look up MSGID in the current default message catalog for the current
+   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
+   text).  */
+char *
+GETTEXT (msgid)
+     const char *msgid;
+{
+  return DCGETTEXT (NULL, msgid, LC_MESSAGES);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__gettext, gettext);
+#endif
Index: eggdrop1.7/intl/gettext.h
diff -u /dev/null eggdrop1.7/intl/gettext.h:1.1
--- /dev/null	Tue Oct  9 20:20:25 2001
+++ eggdrop1.7/intl/gettext.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,102 @@
+/* Description of GNU message catalog format: general file layout.
+   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _GETTEXT_H
+#define _GETTEXT_H 1
+
+#if HAVE_LIMITS_H || _LIBC
+# include <limits.h>
+#endif
+
+/* @@ end of prolog @@ */
+
+/* The magic number of the GNU message catalog format.  */
+#define _MAGIC 0x950412de
+#define _MAGIC_SWAPPED 0xde120495
+
+/* Revision number of the currently used .mo (binary) file format.  */
+#define MO_REVISION_NUMBER 0
+
+/* The following contortions are an attempt to use the C preprocessor
+   to determine an unsigned integral type that is 32 bits wide.  An
+   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
+   as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
+   when cross-compiling.  */
+
+#if __STDC__
+# define UINT_MAX_32_BITS 4294967295U
+#else
+# define UINT_MAX_32_BITS 0xFFFFFFFF
+#endif
+
+/* If UINT_MAX isn't defined, assume it's a 32-bit type.
+   This should be valid for all systems GNU cares about because
+   that doesn't include 16-bit systems, and only modern systems
+   (that certainly have <limits.h>) have 64+-bit integral types.  */
+
+#ifndef UINT_MAX
+# define UINT_MAX UINT_MAX_32_BITS
+#endif
+
+#if UINT_MAX == UINT_MAX_32_BITS
+typedef unsigned nls_uint32;
+#else
+# if USHRT_MAX == UINT_MAX_32_BITS
+typedef unsigned short nls_uint32;
+# else
+#  if ULONG_MAX == UINT_MAX_32_BITS
+typedef unsigned long nls_uint32;
+#  else
+  /* The following line is intended to throw an error.  Using #error is
+     not portable enough.  */
+  "Cannot determine unsigned 32-bit data type."
+#  endif
+# endif
+#endif
+
+
+/* Header for binary .mo file format.  */
+struct mo_file_header
+{
+  /* The magic number.  */
+  nls_uint32 magic;
+  /* The revision number of the file format.  */
+  nls_uint32 revision;
+  /* The number of strings pairs.  */
+  nls_uint32 nstrings;
+  /* Offset of table with start offsets of original strings.  */
+  nls_uint32 orig_tab_offset;
+  /* Offset of table with start offsets of translation strings.  */
+  nls_uint32 trans_tab_offset;
+  /* Size of hashing table.  */
+  nls_uint32 hash_tab_size;
+  /* Offset of first hashing entry.  */
+  nls_uint32 hash_tab_offset;
+};
+
+struct string_desc
+{
+  /* Length of addressed string.  */
+  nls_uint32 length;
+  /* Offset of string in file.  */
+  nls_uint32 offset;
+};
+
+/* @@ begin of epilog @@ */
+
+#endif	/* gettext.h  */
Index: eggdrop1.7/intl/gettextP.h
diff -u /dev/null eggdrop1.7/intl/gettextP.h:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/gettextP.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,252 @@
+/* Header describing internals of libintl library.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+   Written by Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _GETTEXTP_H
+#define _GETTEXTP_H
+
+#include <stddef.h>		/* Get size_t.  */
+
+#ifdef _LIBC
+# include "../iconv/gconv_int.h"
+#else
+# if HAVE_ICONV
+#  include <iconv.h>
+# endif
+#endif
+
+#include "loadinfo.h"
+
+#include "gettext.h"		/* Get nls_uint32.  */
+
+/* @@ end of prolog @@ */
+
+#ifndef PARAMS
+# if __STDC__
+#  define PARAMS(args) args
+# else
+#  define PARAMS(args) ()
+# endif
+#endif
+
+#ifndef internal_function
+# define internal_function
+#endif
+
+/* Tell the compiler when a conditional or integer expression is
+   almost always true or almost always false.  */
+#ifndef HAVE_BUILTIN_EXPECT
+# define __builtin_expect(expr, val) (expr)
+#endif
+
+#ifndef W
+# define W(flag, data) ((flag) ? SWAP (data) : (data))
+#endif
+
+
+#ifdef _LIBC
+# include <byteswap.h>
+# define SWAP(i) bswap_32 (i)
+#else
+static inline nls_uint32
+SWAP (i)
+     nls_uint32 i;
+{
+  return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
+}
+#endif
+
+
+/* This is the representation of the expressions to determine the
+   plural form.  */
+struct expression
+{
+  int nargs;			/* Number of arguments.  */
+  enum operator
+  {
+    /* Without arguments:  */
+    var,			/* The variable "n".  */
+    num,			/* Decimal number.  */
+    /* Unary operators:  */
+    lnot,			/* Logical NOT.  */
+    /* Binary operators:  */
+    mult,			/* Multiplication.  */
+    divide,			/* Division.  */
+    module,			/* Module operation.  */
+    plus,			/* Addition.  */
+    minus,			/* Subtraction.  */
+    less_than,			/* Comparison.  */
+    greater_than,		/* Comparison.  */
+    less_or_equal,		/* Comparison.  */
+    greater_or_equal,		/* Comparison.  */
+    equal,			/* Comparision for equality.  */
+    not_equal,			/* Comparision for inequality.  */
+    land,			/* Logical AND.  */
+    lor,			/* Logical OR.  */
+    /* Ternary operators:  */
+    qmop			/* Question mark operator.  */
+  } operation;
+  union
+  {
+    unsigned long int num;	/* Number value for `num'.  */
+    struct expression *args[3];	/* Up to three arguments.  */
+  } val;
+};
+
+/* This is the data structure to pass information to the parser and get
+   the result in a thread-safe way.  */
+struct parse_args
+{
+  const char *cp;
+  struct expression *res;
+};
+
+
+/* The representation of an opened message catalog.  */
+struct loaded_domain
+{
+  const char *data;
+  int use_mmap;
+  size_t mmap_size;
+  int must_swap;
+  nls_uint32 nstrings;
+  struct string_desc *orig_tab;
+  struct string_desc *trans_tab;
+  nls_uint32 hash_size;
+  nls_uint32 *hash_tab;
+  int codeset_cntr;
+#ifdef _LIBC
+  __gconv_t conv;
+#else
+# if HAVE_ICONV
+  iconv_t conv;
+# endif
+#endif
+  char **conv_tab;
+
+  struct expression *plural;
+  unsigned long int nplurals;
+};
+
+/* We want to allocate a string at the end of the struct.  But ISO C
+   doesn't allow zero sized arrays.  */
+#ifdef __GNUC__
+# define ZERO 0
+#else
+# define ZERO 1
+#endif
+
+/* A set of settings bound to a message domain.  Used to store settings
+   from bindtextdomain() and bind_textdomain_codeset().  */
+struct binding
+{
+  struct binding *next;
+  char *dirname;
+  int codeset_cntr;	/* Incremented each time codeset changes.  */
+  char *codeset;
+  char domainname[ZERO];
+};
+
+/* A counter which is incremented each time some previous translations
+   become invalid.
+   This variable is part of the external ABI of the GNU libintl.  */
+extern int _nl_msg_cat_cntr;
+
+struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
+						 char *__locale,
+						 const char *__domainname,
+					      struct binding *__domainbinding))
+     internal_function;
+void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain,
+			      struct binding *__domainbinding))
+     internal_function;
+void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
+     internal_function;
+const char *_nl_init_domain_conv PARAMS ((struct loaded_l10nfile *__domain_file,
+					  struct loaded_domain *__domain,
+					  struct binding *__domainbinding))
+     internal_function;
+void _nl_free_domain_conv PARAMS ((struct loaded_domain *__domain))
+     internal_function;
+
+char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
+			    struct binding *domainbinding,
+			    const char *msgid, size_t *lengthp))
+     internal_function;
+
+#ifdef _LIBC
+extern char *__gettext PARAMS ((const char *__msgid));
+extern char *__dgettext PARAMS ((const char *__domainname,
+				 const char *__msgid));
+extern char *__dcgettext PARAMS ((const char *__domainname,
+				  const char *__msgid, int __category));
+extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
+				 unsigned long int __n));
+extern char *__dngettext PARAMS ((const char *__domainname,
+				  const char *__msgid1, const char *__msgid2,
+				  unsigned long int n));
+extern char *__dcngettext PARAMS ((const char *__domainname,
+				   const char *__msgid1, const char *__msgid2,
+				   unsigned long int __n, int __category));
+extern char *__dcigettext PARAMS ((const char *__domainname,
+				   const char *__msgid1, const char *__msgid2,
+				   int __plural, unsigned long int __n,
+				   int __category));
+extern char *__textdomain PARAMS ((const char *__domainname));
+extern char *__bindtextdomain PARAMS ((const char *__domainname,
+				       const char *__dirname));
+extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
+						const char *__codeset));
+#else
+extern char *gettext__ PARAMS ((const char *__msgid));
+extern char *dgettext__ PARAMS ((const char *__domainname,
+				 const char *__msgid));
+extern char *dcgettext__ PARAMS ((const char *__domainname,
+				  const char *__msgid, int __category));
+extern char *ngettext__ PARAMS ((const char *__msgid1, const char *__msgid2,
+				 unsigned long int __n));
+extern char *dngettext__ PARAMS ((const char *__domainname,
+				  const char *__msgid1, const char *__msgid2,
+				  unsigned long int __n));
+extern char *dcngettext__ PARAMS ((const char *__domainname,
+				   const char *__msgid1, const char *__msgid2,
+				   unsigned long int __n, int __category));
+extern char *dcigettext__ PARAMS ((const char *__domainname,
+				   const char *__msgid1, const char *__msgid2,
+				   int __plural, unsigned long int __n,
+				   int __category));
+extern char *textdomain__ PARAMS ((const char *__domainname));
+extern char *bindtextdomain__ PARAMS ((const char *__domainname,
+				       const char *__dirname));
+extern char *bind_textdomain_codeset__ PARAMS ((const char *__domainname,
+						const char *__codeset));
+#endif
+
+#ifdef _LIBC
+extern void __gettext_free_exp PARAMS ((struct expression *exp))
+     internal_function;
+extern int __gettextparse PARAMS ((void *arg));
+#else
+extern void gettext_free_exp__ PARAMS ((struct expression *exp))
+     internal_function;
+extern int gettextparse__ PARAMS ((void *arg));
+#endif
+
+/* @@ begin of epilog @@ */
+
+#endif /* gettextP.h  */
Index: eggdrop1.7/intl/hash-string.h
diff -u /dev/null eggdrop1.7/intl/hash-string.h:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/hash-string.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,59 @@
+/* Description of GNU message catalog format: string hashing function.
+   Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* @@ end of prolog @@ */
+
+#ifndef PARAMS
+# if __STDC__
+#  define PARAMS(Args) Args
+# else
+#  define PARAMS(Args) ()
+# endif
+#endif
+
+/* We assume to have `unsigned long int' value with at least 32 bits.  */
+#define HASHWORDBITS 32
+
+
+/* Defines the so called `hashpjw' function by P.J. Weinberger
+   [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
+   1986, 1987 Bell Telephone Laboratories, Inc.]  */
+static unsigned long int hash_string PARAMS ((const char *__str_param));
+
+static inline unsigned long int
+hash_string (str_param)
+     const char *str_param;
+{
+  unsigned long int hval, g;
+  const char *str = str_param;
+
+  /* Compute the hash value for the given string.  */
+  hval = 0;
+  while (*str != '\0')
+    {
+      hval <<= 4;
+      hval += (unsigned long int) *str++;
+      g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
+      if (g != 0)
+	{
+	  hval ^= g >> (HASHWORDBITS - 8);
+	  hval ^= g;
+	}
+    }
+  return hval;
+}
Index: eggdrop1.7/intl/intl-compat.c
diff -u /dev/null eggdrop1.7/intl/intl-compat.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/intl-compat.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,166 @@
+/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
+   Library.
+   Copyright (C) 1995, 2000, 2001 Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "libgnuintl.h"
+#include "gettextP.h"
+
+/* @@ end of prolog @@ */
+
+/* This file redirects the gettext functions (without prefix or suffix) to
+   those defined in the included GNU gettext library (with "__" suffix).
+   It is compiled into libintl when the included GNU gettext library is
+   configured --with-included-gettext.
+
+   This redirection works also in the case that the system C library or
+   the system libintl library contain gettext/textdomain/... functions.
+   If it didn't, we would need to add preprocessor level redirections to
+   libgnuintl.h of the following form:
+
+#    define gettext gettext__
+#    define dgettext dgettext__
+#    define dcgettext dcgettext__
+#    define ngettext ngettext__
+#    define dngettext dngettext__
+#    define dcngettext dcngettext__
+#    define textdomain textdomain__
+#    define bindtextdomain bindtextdomain__
+#    define bind_textdomain_codeset bind_textdomain_codeset__
+
+   How does this redirection work? There are two cases.
+   A. When libintl.a is linked into an executable, it works because
+      functions defined in the executable always override functions in
+      the shared libraries.
+   B. When libintl.so is used, it works because
+      1. those systems defining gettext/textdomain/... in the C library
+         (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are
+         ELF systems and define these symbols as weak, thus explicitly
+         letting other shared libraries override it.
+      2. those systems defining gettext/textdomain/... in a standalone
+         libintl.so library (namely, Solaris 2.3 and newer) have this
+         shared library in /usr/lib, and the linker will search /usr/lib
+         *after* the directory where the GNU gettext library is installed.
+
+   A third case, namely when libintl.a is linked into a shared library
+   whose name is not libintl.so, is not supported. In this case, on
+   Solaris, when -lintl precedes the linker option for the shared library
+   containing GNU gettext, the system's gettext would indeed override
+   the GNU gettext. Anyone doing this kind of stuff must be clever enough
+   to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker
+   command line.  */
+
+
+#undef gettext
+#undef dgettext
+#undef dcgettext
+#undef ngettext
+#undef dngettext
+#undef dcngettext
+#undef textdomain
+#undef bindtextdomain
+#undef bind_textdomain_codeset
+
+
+char *
+gettext (msgid)
+     const char *msgid;
+{
+  return gettext__ (msgid);
+}
+
+
+char *
+dgettext (domainname, msgid)
+     const char *domainname;
+     const char *msgid;
+{
+  return dgettext__ (domainname, msgid);
+}
+
+
+char *
+dcgettext (domainname, msgid, category)
+     const char *domainname;
+     const char *msgid;
+     int category;
+{
+  return dcgettext__ (domainname, msgid, category);
+}
+
+
+char *
+ngettext (msgid1, msgid2, n)
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+{
+  return ngettext__ (msgid1, msgid2, n);
+}
+
+
+char *
+dngettext (domainname, msgid1, msgid2, n)
+     const char *domainname;
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+{
+  return dngettext__ (domainname, msgid1, msgid2, n);
+}
+
+
+char *
+dcngettext (domainname, msgid1, msgid2, n, category)
+     const char *domainname;
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+     int category;
+{
+  return dcngettext__ (domainname, msgid1, msgid2, n, category);
+}
+
+
+char *
+textdomain (domainname)
+     const char *domainname;
+{
+  return textdomain__ (domainname);
+}
+
+
+char *
+bindtextdomain (domainname, dirname)
+     const char *domainname;
+     const char *dirname;
+{
+  return bindtextdomain__ (domainname, dirname);
+}
+
+
+char *
+bind_textdomain_codeset (domainname, codeset)
+     const char *domainname;
+     const char *codeset;
+{
+  return bind_textdomain_codeset__ (domainname, codeset);
+}
Index: eggdrop1.7/intl/l10nflist.c
diff -u /dev/null eggdrop1.7/intl/l10nflist.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/l10nflist.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,405 @@
+/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+   Contributed by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Tell glibc's <string.h> to provide a prototype for stpcpy().
+   This must come before <config.h> because <config.h> may include
+   <features.h>, and once <features.h> has been included, it's too late.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE	1
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+#if !HAVE_STRCHR && !defined _LIBC
+# ifndef strchr
+#  define strchr index
+# endif
+#endif
+
+#if defined _LIBC || defined HAVE_ARGZ_H
+# include <argz.h>
+#endif
+#include <ctype.h>
+#include <sys/types.h>
+#include <stdlib.h>
+
+#include "loadinfo.h"
+
+/* On some strange systems still no definition of NULL is found.  Sigh!  */
+#ifndef NULL
+# if defined __STDC__ && __STDC__
+#  define NULL ((void *) 0)
+# else
+#  define NULL 0
+# endif
+#endif
+
+/* @@ end of prolog @@ */
+
+#ifdef _LIBC
+/* Rename the non ANSI C functions.  This is required by the standard
+   because some ANSI C functions will require linking with this object
+   file and the name space must not be polluted.  */
+# ifndef stpcpy
+#  define stpcpy(dest, src) __stpcpy(dest, src)
+# endif
+#else
+# ifndef HAVE_STPCPY
+static char *stpcpy PARAMS ((char *dest, const char *src));
+# endif
+#endif
+
+/* Define function which are usually not available.  */
+
+#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
+/* Returns the number of strings in ARGZ.  */
+static size_t argz_count__ PARAMS ((const char *argz, size_t len));
+
+static size_t
+argz_count__ (argz, len)
+     const char *argz;
+     size_t len;
+{
+  size_t count = 0;
+  while (len > 0)
+    {
+      size_t part_len = strlen (argz);
+      argz += part_len + 1;
+      len -= part_len + 1;
+      count++;
+    }
+  return count;
+}
+# undef __argz_count
+# define __argz_count(argz, len) argz_count__ (argz, len)
+#endif	/* !_LIBC && !HAVE___ARGZ_COUNT */
+
+#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
+/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
+   except the last into the character SEP.  */
+static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
+
+static void
+argz_stringify__ (argz, len, sep)
+     char *argz;
+     size_t len;
+     int sep;
+{
+  while (len > 0)
+    {
+      size_t part_len = strlen (argz);
+      argz += part_len;
+      len -= part_len + 1;
+      if (len > 0)
+	*argz++ = sep;
+    }
+}
+# undef __argz_stringify
+# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
+#endif	/* !_LIBC && !HAVE___ARGZ_STRINGIFY */
+
+#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
+static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
+				  const char *entry));
+
+static char *
+argz_next__ (argz, argz_len, entry)
+     char *argz;
+     size_t argz_len;
+     const char *entry;
+{
+  if (entry)
+    {
+      if (entry < argz + argz_len)
+        entry = strchr (entry, '\0') + 1;
+
+      return entry >= argz + argz_len ? NULL : (char *) entry;
+    }
+  else
+    if (argz_len > 0)
+      return argz;
+    else
+      return 0;
+}
+# undef __argz_next
+# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
+#endif	/* !_LIBC && !HAVE___ARGZ_NEXT */
+
+
+/* Return number of bits set in X.  */
+static int pop PARAMS ((int x));
+
+static inline int
+pop (x)
+     int x;
+{
+  /* We assume that no more than 16 bits are used.  */
+  x = ((x & ~0x5555) >> 1) + (x & 0x5555);
+  x = ((x & ~0x3333) >> 2) + (x & 0x3333);
+  x = ((x >> 4) + x) & 0x0f0f;
+  x = ((x >> 8) + x) & 0xff;
+
+  return x;
+}
+
+
+struct loaded_l10nfile *
+_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
+		    territory, codeset, normalized_codeset, modifier, special,
+		    sponsor, revision, filename, do_allocate)
+     struct loaded_l10nfile **l10nfile_list;
+     const char *dirlist;
+     size_t dirlist_len;
+     int mask;
+     const char *language;
+     const char *territory;
+     const char *codeset;
+     const char *normalized_codeset;
+     const char *modifier;
+     const char *special;
+     const char *sponsor;
+     const char *revision;
+     const char *filename;
+     int do_allocate;
+{
+  char *abs_filename;
+  struct loaded_l10nfile *last = NULL;
+  struct loaded_l10nfile *retval;
+  char *cp;
+  size_t entries;
+  int cnt;
+
+  /* Allocate room for the full file name.  */
+  abs_filename = (char *) malloc (dirlist_len
+				  + strlen (language)
+				  + ((mask & TERRITORY) != 0
+				     ? strlen (territory) + 1 : 0)
+				  + ((mask & XPG_CODESET) != 0
+				     ? strlen (codeset) + 1 : 0)
+				  + ((mask & XPG_NORM_CODESET) != 0
+				     ? strlen (normalized_codeset) + 1 : 0)
+				  + (((mask & XPG_MODIFIER) != 0
+				      || (mask & CEN_AUDIENCE) != 0)
+				     ? strlen (modifier) + 1 : 0)
+				  + ((mask & CEN_SPECIAL) != 0
+				     ? strlen (special) + 1 : 0)
+				  + (((mask & CEN_SPONSOR) != 0
+				      || (mask & CEN_REVISION) != 0)
+				     ? (1 + ((mask & CEN_SPONSOR) != 0
+					     ? strlen (sponsor) + 1 : 0)
+					+ ((mask & CEN_REVISION) != 0
+					   ? strlen (revision) + 1 : 0)) : 0)
+				  + 1 + strlen (filename) + 1);
+
+  if (abs_filename == NULL)
+    return NULL;
+
+  retval = NULL;
+  last = NULL;
+
+  /* Construct file name.  */
+  memcpy (abs_filename, dirlist, dirlist_len);
+  __argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR);
+  cp = abs_filename + (dirlist_len - 1);
+  *cp++ = '/';
+  cp = stpcpy (cp, language);
+
+  if ((mask & TERRITORY) != 0)
+    {
+      *cp++ = '_';
+      cp = stpcpy (cp, territory);
+    }
+  if ((mask & XPG_CODESET) != 0)
+    {
+      *cp++ = '.';
+      cp = stpcpy (cp, codeset);
+    }
+  if ((mask & XPG_NORM_CODESET) != 0)
+    {
+      *cp++ = '.';
+      cp = stpcpy (cp, normalized_codeset);
+    }
+  if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
+    {
+      /* This component can be part of both syntaces but has different
+	 leading characters.  For CEN we use `+', else `@'.  */
+      *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
+      cp = stpcpy (cp, modifier);
+    }
+  if ((mask & CEN_SPECIAL) != 0)
+    {
+      *cp++ = '+';
+      cp = stpcpy (cp, special);
+    }
+  if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
+    {
+      *cp++ = ',';
+      if ((mask & CEN_SPONSOR) != 0)
+	cp = stpcpy (cp, sponsor);
+      if ((mask & CEN_REVISION) != 0)
+	{
+	  *cp++ = '_';
+	  cp = stpcpy (cp, revision);
+	}
+    }
+
+  *cp++ = '/';
+  stpcpy (cp, filename);
+
+  /* Look in list of already loaded domains whether it is already
+     available.  */
+  last = NULL;
+  for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
+    if (retval->filename != NULL)
+      {
+	int compare = strcmp (retval->filename, abs_filename);
+	if (compare == 0)
+	  /* We found it!  */
+	  break;
+	if (compare < 0)
+	  {
+	    /* It's not in the list.  */
+	    retval = NULL;
+	    break;
+	  }
+
+	last = retval;
+      }
+
+  if (retval != NULL || do_allocate == 0)
+    {
+      free (abs_filename);
+      return retval;
+    }
+
+  retval = (struct loaded_l10nfile *)
+    malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
+				* (1 << pop (mask))
+				* sizeof (struct loaded_l10nfile *)));
+  if (retval == NULL)
+    return NULL;
+
+  retval->filename = abs_filename;
+  retval->decided = (__argz_count (dirlist, dirlist_len) != 1
+		     || ((mask & XPG_CODESET) != 0
+			 && (mask & XPG_NORM_CODESET) != 0));
+  retval->data = NULL;
+
+  if (last == NULL)
+    {
+      retval->next = *l10nfile_list;
+      *l10nfile_list = retval;
+    }
+  else
+    {
+      retval->next = last->next;
+      last->next = retval;
+    }
+
+  entries = 0;
+  /* If the DIRLIST is a real list the RETVAL entry corresponds not to
+     a real file.  So we have to use the DIRLIST separation mechanism
+     of the inner loop.  */
+  cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
+  for (; cnt >= 0; --cnt)
+    if ((cnt & ~mask) == 0
+	&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
+	&& ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
+      {
+	/* Iterate over all elements of the DIRLIST.  */
+	char *dir = NULL;
+
+	while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
+	       != NULL)
+	  retval->successor[entries++]
+	    = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
+				  language, territory, codeset,
+				  normalized_codeset, modifier, special,
+				  sponsor, revision, filename, 1);
+      }
+  retval->successor[entries] = NULL;
+
+  return retval;
+}
+
+/* Normalize codeset name.  There is no standard for the codeset
+   names.  Normalization allows the user to use any of the common
+   names.  The return value is dynamically allocated and has to be
+   freed by the caller.  */
+const char *
+_nl_normalize_codeset (codeset, name_len)
+     const char *codeset;
+     size_t name_len;
+{
+  int len = 0;
+  int only_digit = 1;
+  char *retval;
+  char *wp;
+  size_t cnt;
+
+  for (cnt = 0; cnt < name_len; ++cnt)
+    if (isalnum (codeset[cnt]))
+      {
+	++len;
+
+	if (isalpha (codeset[cnt]))
+	  only_digit = 0;
+      }
+
+  retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
+
+  if (retval != NULL)
+    {
+      if (only_digit)
+	wp = stpcpy (retval, "iso");
+      else
+	wp = retval;
+
+      for (cnt = 0; cnt < name_len; ++cnt)
+	if (isalpha (codeset[cnt]))
+	  *wp++ = tolower (codeset[cnt]);
+	else if (isdigit (codeset[cnt]))
+	  *wp++ = codeset[cnt];
+
+      *wp = '\0';
+    }
+
+  return (const char *) retval;
+}
+
+
+/* @@ begin of epilog @@ */
+
+/* We don't want libintl.a to depend on any other library.  So we
+   avoid the non-standard function stpcpy.  In GNU C Library this
+   function is available, though.  Also allow the symbol HAVE_STPCPY
+   to be defined.  */
+#if !_LIBC && !HAVE_STPCPY
+static char *
+stpcpy (dest, src)
+     char *dest;
+     const char *src;
+{
+  while ((*dest++ = *src++) != '\0')
+    /* Do nothing. */ ;
+  return dest - 1;
+}
+#endif
Index: eggdrop1.7/intl/libgettext.h
diff -u /dev/null eggdrop1.7/intl/libgettext.h:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/libgettext.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,49 @@
+/* Convenience header for conditional use of GNU <libintl.h>.
+   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _LIBGETTEXT_H
+#define _LIBGETTEXT_H 1
+
+/* NLS can be disabled through the configure --disable-nls option.  */
+#if ENABLE_NLS
+
+/* Get declarations of GNU message catalog functions.  */
+# include <libintl.h>
+
+#else
+
+# define gettext(Msgid) (Msgid)
+# define dgettext(Domainname, Msgid) (Msgid)
+# define dcgettext(Domainname, Msgid, Category) (Msgid)
+# define ngettext(Msgid1, Msgid2, N) \
+    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
+    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+    ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+# define textdomain(Domainname) ((char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname))
+# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset))
+
+#endif
+
+/* For automatical extraction of messages sometimes no real
+   translation is needed.  Instead the string itself is the result.  */
+#define gettext_noop(Str) (Str)
+
+#endif /* _LIBGETTEXT_H */
Index: eggdrop1.7/intl/libgnuintl.h
diff -u /dev/null eggdrop1.7/intl/libgnuintl.h:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/libgnuintl.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,128 @@
+/* Message catalogs for internationalization.
+   Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _LIBINTL_H
+#define _LIBINTL_H	1
+
+#include <locale.h>
+
+/* The LC_MESSAGES locale category is the category used by the functions
+   gettext() and dgettext().  It is specified in POSIX, but not in ANSI C.
+   On systems that don't define it, use an arbitrary value instead.
+   On Solaris, <locale.h> defines __LOCALE_H then includes <libintl.h> (i.e.
+   this file!) and then only defines LC_MESSAGES.  To avoid a redefinition
+   warning, don't define LC_MESSAGES in this case.  */
+#if !defined LC_MESSAGES && !defined __LOCALE_H
+# define LC_MESSAGES 1729
+#endif
+
+/* We define an additional symbol to signal that we use the GNU
+   implementation of gettext.  */
+#define __USE_GNU_GETTEXT 1
+
+/* Resolve a platform specific conflict on DJGPP.  GNU gettext takes
+   precedence over _conio_gettext.  */
+#ifdef __DJGPP__
+# undef gettext
+# define gettext gettext
+#endif
+
+#ifndef PARAMS
+# if __STDC__ || defined __cplusplus
+#  define PARAMS(args) args
+# else
+#  define PARAMS(args) ()
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Look up MSGID in the current default message catalog for the current
+   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
+   text).  */
+extern char *gettext PARAMS ((const char *__msgid));
+
+/* Look up MSGID in the DOMAINNAME message catalog for the current
+   LC_MESSAGES locale.  */
+extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
+
+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+   locale.  */
+extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
+				int __category));
+
+
+/* Similar to `gettext' but select the plural form corresponding to the
+   number N.  */
+extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
+			       unsigned long int __n));
+
+/* Similar to `dgettext' but select the plural form corresponding to the
+   number N.  */
+extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1,
+				const char *__msgid2, unsigned long int __n));
+
+/* Similar to `dcgettext' but select the plural form corresponding to the
+   number N.  */
+extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1,
+				 const char *__msgid2, unsigned long int __n,
+				 int __category));
+
+
+/* Set the current default message catalog to DOMAINNAME.
+   If DOMAINNAME is null, return the current default.
+   If DOMAINNAME is "", reset to the default of "messages".  */
+extern char *textdomain PARAMS ((const char *__domainname));
+
+/* Specify that the DOMAINNAME message catalog will be found
+   in DIRNAME rather than in the system locale data base.  */
+extern char *bindtextdomain PARAMS ((const char *__domainname,
+				     const char *__dirname));
+
+/* Specify the character encoding in which the messages from the
+   DOMAINNAME message catalog will be returned.  */
+extern char *bind_textdomain_codeset PARAMS ((const char *__domainname,
+					      const char *__codeset));
+
+
+/* Optimized version of the functions above.  */
+#if defined __OPTIMIZED
+/* These are macros, but could also be inline functions.  */
+
+# define gettext(msgid)							      \
+  dgettext (NULL, msgid)
+
+# define dgettext(domainname, msgid)					      \
+  dcgettext (domainname, msgid, LC_MESSAGES)
+
+# define ngettext(msgid1, msgid2, n)					      \
+  dngettext (NULL, msgid1, msgid2, n)
+
+# define dngettext(domainname, msgid1, msgid2, n)			      \
+  dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
+
+#endif /* Optimizing. */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* libintl.h */
Index: eggdrop1.7/intl/loadinfo.h
diff -u /dev/null eggdrop1.7/intl/loadinfo.h:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/loadinfo.h	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,109 @@
+/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper at cygnus.com>, 1996.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifndef _LOADINFO_H
+#define _LOADINFO_H	1
+
+#ifndef PARAMS
+# if __STDC__
+#  define PARAMS(args) args
+# else
+#  define PARAMS(args) ()
+# endif
+#endif
+
+#ifndef internal_function
+# define internal_function
+#endif
+
+/* Tell the compiler when a conditional or integer expression is
+   almost always true or almost always false.  */
+#ifndef HAVE_BUILTIN_EXPECT
+# define __builtin_expect(expr, val) (expr)
+#endif
+
+/* Separator in PATH like lists of pathnames.  */
+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+  /* Win32, OS/2, DOS */
+# define PATH_SEPARATOR ';'
+#else
+  /* Unix */
+# define PATH_SEPARATOR ':'
+#endif
+
+/* Encoding of locale name parts.  */
+#define CEN_REVISION		1
+#define CEN_SPONSOR		2
+#define CEN_SPECIAL		4
+#define XPG_NORM_CODESET	8
+#define XPG_CODESET		16
+#define TERRITORY		32
+#define CEN_AUDIENCE		64
+#define XPG_MODIFIER		128
+
+#define CEN_SPECIFIC	(CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
+#define XPG_SPECIFIC	(XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
+
+
+struct loaded_l10nfile
+{
+  const char *filename;
+  int decided;
+
+  const void *data;
+
+  struct loaded_l10nfile *next;
+  struct loaded_l10nfile *successor[1];
+};
+
+
+/* Normalize codeset name.  There is no standard for the codeset
+   names.  Normalization allows the user to use any of the common
+   names.  The return value is dynamically allocated and has to be
+   freed by the caller.  */
+extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
+						  size_t name_len));
+
+extern struct loaded_l10nfile *
+_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
+			    const char *dirlist, size_t dirlist_len, int mask,
+			    const char *language, const char *territory,
+			    const char *codeset,
+			    const char *normalized_codeset,
+			    const char *modifier, const char *special,
+			    const char *sponsor, const char *revision,
+			    const char *filename, int do_allocate));
+
+
+extern const char *_nl_expand_alias PARAMS ((const char *name));
+
+/* normalized_codeset is dynamically allocated and has to be freed by
+   the caller.  */
+extern int _nl_explode_name PARAMS ((char *name, const char **language,
+				     const char **modifier,
+				     const char **territory,
+				     const char **codeset,
+				     const char **normalized_codeset,
+				     const char **special,
+				     const char **sponsor,
+				     const char **revision));
+
+extern char *_nl_find_language PARAMS ((const char *name));
+
+#endif	/* loadinfo.h */
Index: eggdrop1.7/intl/loadmsgcat.c
diff -u /dev/null eggdrop1.7/intl/loadmsgcat.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/loadmsgcat.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,567 @@
+/* Load needed message catalogs.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
+   This must come before <config.h> because <config.h> may include
+   <features.h>, and once <features.h> has been included, it's too late.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE    1
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+# define HAVE_ALLOCA 1
+#else
+# if defined HAVE_ALLOCA_H || defined _LIBC
+#  include <alloca.h>
+# else
+#  ifdef _AIX
+ #pragma alloca
+#  else
+#   ifndef alloca
+char *alloca ();
+#   endif
+#  endif
+# endif
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#if defined HAVE_UNISTD_H || defined _LIBC
+# include <unistd.h>
+#endif
+
+#ifdef _LIBC
+# include <langinfo.h>
+# include <locale.h>
+#endif
+
+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+    || (defined _LIBC && defined _POSIX_MAPPED_FILES)
+# include <sys/mman.h>
+# undef HAVE_MMAP
+# define HAVE_MMAP	1
+#else
+# undef HAVE_MMAP
+#endif
+
+#include "gettext.h"
+#include "gettextP.h"
+
+#ifdef _LIBC
+# include "../locale/localeinfo.h"
+#endif
+
+/* @@ end of prolog @@ */
+
+#ifdef _LIBC
+/* Rename the non ISO C functions.  This is required by the standard
+   because some ISO C functions will require linking with this object
+   file and the name space must not be polluted.  */
+# define open   __open
+# define close  __close
+# define read   __read
+# define mmap   __mmap
+# define munmap __munmap
+#endif
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define PLURAL_PARSE __gettextparse
+#else
+# define PLURAL_PARSE gettextparse__
+#endif
+
+/* For those losing systems which don't have `alloca' we have to add
+   some additional code emulating it.  */
+#ifdef HAVE_ALLOCA
+# define freea(p) /* nothing */
+#else
+# define alloca(n) malloc (n)
+# define freea(p) free (p)
+#endif
+
+/* For systems that distinguish between text and binary I/O.
+   O_BINARY is usually declared in <fcntl.h>. */
+#if !defined O_BINARY && defined _O_BINARY
+  /* For MSC-compatible compilers.  */
+# define O_BINARY _O_BINARY
+# define O_TEXT _O_TEXT
+#endif
+#ifdef __BEOS__
+  /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect.  */
+# undef O_BINARY
+# undef O_TEXT
+#endif
+/* On reasonable systems, binary I/O is the default.  */
+#ifndef O_BINARY
+# define O_BINARY 0
+#endif
+
+/* We need a sign, whether a new catalog was loaded, which can be associated
+   with all translations.  This is important if the translations are
+   cached by one of GCC's features.  */
+int _nl_msg_cat_cntr;
+
+#if (defined __GNUC__ && !defined __APPLE_CC__) \
+    || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
+
+/* These structs are the constant expression for the germanic plural
+   form determination.  It represents the expression  "n != 1".  */
+static const struct expression plvar =
+{
+  .nargs = 0,
+  .operation = var,
+};
+static const struct expression plone =
+{
+  .nargs = 0,
+  .operation = num,
+  .val =
+  {
+    .num = 1
+  }
+};
+static struct expression germanic_plural =
+{
+  .nargs = 2,
+  .operation = not_equal,
+  .val =
+  {
+    .args =
+    {
+      [0] = (struct expression *) &plvar,
+      [1] = (struct expression *) &plone
+    }
+  }
+};
+
+# define INIT_GERMANIC_PLURAL()
+
+#else
+
+/* For compilers without support for ISO C 99 struct/union initializers:
+   Initialization at run-time.  */
+
+static struct expression plvar;
+static struct expression plone;
+static struct expression germanic_plural;
+
+static void
+init_germanic_plural ()
+{
+  if (plone.val.num == 0)
+    {
+      plvar.nargs = 0;
+      plvar.operation = var;
+
+      plone.nargs = 0;
+      plone.operation = num;
+      plone.val.num = 1;
+
+      germanic_plural.nargs = 2;
+      germanic_plural.operation = not_equal;
+      germanic_plural.val.args[0] = &plvar;
+      germanic_plural.val.args[1] = &plone;
+    }
+}
+
+# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
+
+#endif
+
+
+/* Initialize the codeset dependent parts of an opened message catalog.
+   Return the header entry.  */
+const char *
+internal_function
+_nl_init_domain_conv (domain_file, domain, domainbinding)
+     struct loaded_l10nfile *domain_file;
+     struct loaded_domain *domain;
+     struct binding *domainbinding;
+{
+  /* Find out about the character set the file is encoded with.
+     This can be found (in textual form) in the entry "".  If this
+     entry does not exist or if this does not contain the `charset='
+     information, we will assume the charset matches the one the
+     current locale and we don't have to perform any conversion.  */
+  char *nullentry;
+  size_t nullentrylen;
+
+  /* Preinitialize fields, to avoid recursion during _nl_find_msg.  */
+  domain->codeset_cntr =
+    (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
+#ifdef _LIBC
+  domain->conv = (__gconv_t) -1;
+#else
+# if HAVE_ICONV
+  domain->conv = (iconv_t) -1;
+# endif
+#endif
+  domain->conv_tab = NULL;
+
+  /* Get the header entry.  */
+  nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
+
+  if (nullentry != NULL)
+    {
+#if defined _LIBC || HAVE_ICONV
+      const char *charsetstr;
+
+      charsetstr = strstr (nullentry, "charset=");
+      if (charsetstr != NULL)
+	{
+	  size_t len;
+	  char *charset;
+	  const char *outcharset;
+
+	  charsetstr += strlen ("charset=");
+	  len = strcspn (charsetstr, " \t\n");
+
+	  charset = (char *) alloca (len + 1);
+# if defined _LIBC || HAVE_MEMPCPY
+	  *((char *) mempcpy (charset, charsetstr, len)) = '\0';
+# else
+	  memcpy (charset, charsetstr, len);
+	  charset[len] = '\0';
+# endif
+
+	  /* The output charset should normally be determined by the
+	     locale.  But sometimes the locale is not used or not correctly
+	     set up, so we provide a possibility for the user to override
+	     this.  Moreover, the value specified through
+	     bind_textdomain_codeset overrides both.  */
+	  if (domainbinding != NULL && domainbinding->codeset != NULL)
+	    outcharset = domainbinding->codeset;
+	  else
+	    {
+	      outcharset = getenv ("OUTPUT_CHARSET");
+	      if (outcharset == NULL || outcharset[0] == '\0')
+		{
+# ifdef _LIBC
+		  outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string;
+# else
+#  if HAVE_ICONV
+		  extern const char *locale_charset (void);
+		  outcharset = locale_charset ();
+#  endif
+# endif
+		}
+	    }
+
+# ifdef _LIBC
+	  /* We always want to use transliteration.  */
+	  outcharset = norm_add_slashes (outcharset, "TRANSLIT");
+	  charset = norm_add_slashes (charset, NULL);
+	  if (__gconv_open (outcharset, charset, &domain->conv,
+			    GCONV_AVOID_NOCONV)
+	      != __GCONV_OK)
+	    domain->conv = (__gconv_t) -1;
+# else
+#  if HAVE_ICONV
+	  /* When using GNU libiconv, we want to use transliteration.  */
+#   if _LIBICONV_VERSION >= 0x0105
+	  len = strlen (outcharset);
+	  {
+	    char *tmp = (char *) alloca (len + 10 + 1);
+	    memcpy (tmp, outcharset, len);
+	    memcpy (tmp + len, "//TRANSLIT", 10 + 1);
+	    outcharset = tmp;
+	  }
+#   endif
+	  domain->conv = iconv_open (outcharset, charset);
+#   if _LIBICONV_VERSION >= 0x0105
+	  freea (outcharset);
+#   endif
+#  endif
+# endif
+
+	  freea (charset);
+	}
+#endif /* _LIBC || HAVE_ICONV */
+    }
+
+  return nullentry;
+}
+
+/* Frees the codeset dependent parts of an opened message catalog.  */
+void
+internal_function
+_nl_free_domain_conv (domain)
+     struct loaded_domain *domain;
+{
+  if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
+    free (domain->conv_tab);
+
+#ifdef _LIBC
+  if (domain->conv != (__gconv_t) -1)
+    __gconv_close (domain->conv);
+#else
+# if HAVE_ICONV
+  if (domain->conv != (iconv_t) -1)
+    iconv_close (domain->conv);
+# endif
+#endif
+}
+
+/* Load the message catalogs specified by FILENAME.  If it is no valid
+   message catalog do nothing.  */
+void
+internal_function
+_nl_load_domain (domain_file, domainbinding)
+     struct loaded_l10nfile *domain_file;
+     struct binding *domainbinding;
+{
+  int fd;
+  size_t size;
+#ifdef _LIBC
+  struct stat64 st;
+#else
+  struct stat st;
+#endif
+  struct mo_file_header *data = (struct mo_file_header *) -1;
+  int use_mmap = 0;
+  struct loaded_domain *domain;
+  const char *nullentry;
+
+  domain_file->decided = 1;
+  domain_file->data = NULL;
+
+  /* Note that it would be useless to store domainbinding in domain_file
+     because domainbinding might be == NULL now but != NULL later (after
+     a call to bind_textdomain_codeset).  */
+
+  /* If the record does not represent a valid locale the FILENAME
+     might be NULL.  This can happen when according to the given
+     specification the locale file name is different for XPG and CEN
+     syntax.  */
+  if (domain_file->filename == NULL)
+    return;
+
+  /* Try to open the addressed file.  */
+  fd = open (domain_file->filename, O_RDONLY | O_BINARY);
+  if (fd == -1)
+    return;
+
+  /* We must know about the size of the file.  */
+  if (
+#ifdef _LIBC
+      __builtin_expect (fstat64 (fd, &st) != 0, 0)
+#else
+      __builtin_expect (fstat (fd, &st) != 0, 0)
+#endif
+      || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
+      || __builtin_expect (size < sizeof (struct mo_file_header), 0))
+    {
+      /* Something went wrong.  */
+      close (fd);
+      return;
+    }
+
+#ifdef HAVE_MMAP
+  /* Now we are ready to load the file.  If mmap() is available we try
+     this first.  If not available or it failed we try to load it.  */
+  data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
+					 MAP_PRIVATE, fd, 0);
+
+  if (__builtin_expect (data != (struct mo_file_header *) -1, 1))
+    {
+      /* mmap() call was successful.  */
+      close (fd);
+      use_mmap = 1;
+    }
+#endif
+
+  /* If the data is not yet available (i.e. mmap'ed) we try to load
+     it manually.  */
+  if (data == (struct mo_file_header *) -1)
+    {
+      size_t to_read;
+      char *read_ptr;
+
+      data = (struct mo_file_header *) malloc (size);
+      if (data == NULL)
+	return;
+
+      to_read = size;
+      read_ptr = (char *) data;
+      do
+	{
+	  long int nb = (long int) read (fd, read_ptr, to_read);
+	  if (nb <= 0)
+	    {
+#ifdef EINTR
+	      if (nb == -1 && errno == EINTR)
+		continue;
+#endif
+	      close (fd);
+	      return;
+	    }
+	  read_ptr += nb;
+	  to_read -= nb;
+	}
+      while (to_read > 0);
+
+      close (fd);
+    }
+
+  /* Using the magic number we can test whether it really is a message
+     catalog file.  */
+  if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED,
+			0))
+    {
+      /* The magic number is wrong: not a message catalog file.  */
+#ifdef HAVE_MMAP
+      if (use_mmap)
+	munmap ((caddr_t) data, size);
+      else
+#endif
+	free (data);
+      return;
+    }
+
+  domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
+  if (domain == NULL)
+    return;
+  domain_file->data = domain;
+
+  domain->data = (char *) data;
+  domain->use_mmap = use_mmap;
+  domain->mmap_size = size;
+  domain->must_swap = data->magic != _MAGIC;
+
+  /* Fill in the information about the available tables.  */
+  switch (W (domain->must_swap, data->revision))
+    {
+    case 0:
+      domain->nstrings = W (domain->must_swap, data->nstrings);
+      domain->orig_tab = (struct string_desc *)
+	((char *) data + W (domain->must_swap, data->orig_tab_offset));
+      domain->trans_tab = (struct string_desc *)
+	((char *) data + W (domain->must_swap, data->trans_tab_offset));
+      domain->hash_size = W (domain->must_swap, data->hash_tab_size);
+      domain->hash_tab = (nls_uint32 *)
+	((char *) data + W (domain->must_swap, data->hash_tab_offset));
+      break;
+    default:
+      /* This is an invalid revision.  */
+#ifdef HAVE_MMAP
+      if (use_mmap)
+	munmap ((caddr_t) data, size);
+      else
+#endif
+	free (data);
+      free (domain);
+      domain_file->data = NULL;
+      return;
+    }
+
+  /* Now initialize the character set converter from the character set
+     the file is encoded with (found in the header entry) to the domain's
+     specified character set or the locale's character set.  */
+  nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
+
+  /* Also look for a plural specification.  */
+  if (nullentry != NULL)
+    {
+      const char *plural;
+      const char *nplurals;
+
+      plural = strstr (nullentry, "plural=");
+      nplurals = strstr (nullentry, "nplurals=");
+      if (plural == NULL || nplurals == NULL)
+	goto no_plural;
+      else
+	{
+	  /* First get the number.  */
+	  char *endp;
+	  unsigned long int n;
+	  struct parse_args args;
+
+	  nplurals += 9;
+	  while (*nplurals != '\0' && isspace (*nplurals))
+	    ++nplurals;
+#if defined HAVE_STRTOUL || defined _LIBC
+	  n = strtoul (nplurals, &endp, 10);
+#else
+	  for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
+	    n = n * 10 + (*endp - '0');
+#endif
+	  domain->nplurals = n;
+	  if (nplurals == endp)
+	    goto no_plural;
+
+	  /* Due to the restrictions bison imposes onto the interface of the
+	     scanner function we have to put the input string and the result
+	     passed up from the parser into the same structure which address
+	     is passed down to the parser.  */
+	  plural += 7;
+	  args.cp = plural;
+	  if (PLURAL_PARSE (&args) != 0)
+	    goto no_plural;
+	  domain->plural = args.res;
+	}
+    }
+  else
+    {
+      /* By default we are using the Germanic form: singular form only
+         for `one', the plural form otherwise.  Yes, this is also what
+         English is using since English is a Germanic language.  */
+    no_plural:
+      INIT_GERMANIC_PLURAL ();
+      domain->plural = &germanic_plural;
+      domain->nplurals = 2;
+    }
+}
+
+
+#ifdef _LIBC
+void
+internal_function
+_nl_unload_domain (domain)
+     struct loaded_domain *domain;
+{
+  if (domain->plural != &germanic_plural)
+    __gettext_free_exp (domain->plural);
+
+  _nl_free_domain_conv (domain);
+
+# ifdef _POSIX_MAPPED_FILES
+  if (domain->use_mmap)
+    munmap ((caddr_t) domain->data, domain->mmap_size);
+  else
+# endif	/* _POSIX_MAPPED_FILES */
+    free ((void *) domain->data);
+
+  free (domain);
+}
+#endif
Index: eggdrop1.7/intl/localcharset.c
diff -u /dev/null eggdrop1.7/intl/localcharset.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/localcharset.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,271 @@
+/* Determine a canonical name for the current locale's character encoding.
+
+   Copyright (C) 2000-2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Written by Bruno Haible <haible at clisp.cons.org>.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if HAVE_STDDEF_H
+# include <stddef.h>
+#endif
+
+#include <stdio.h>
+#if HAVE_STRING_H
+# include <string.h>
+#else
+# include <strings.h>
+#endif
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if defined _WIN32 || defined __WIN32__
+# undef WIN32   /* avoid warning on mingw32 */
+# define WIN32
+#endif
+
+#ifndef WIN32
+# if HAVE_LANGINFO_CODESET
+#  include <langinfo.h>
+# else
+#  if HAVE_SETLOCALE
+#   include <locale.h>
+#  endif
+# endif
+#else /* WIN32 */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+#ifndef DIRECTORY_SEPARATOR
+# define DIRECTORY_SEPARATOR '/'
+#endif
+
+#ifndef ISSLASH
+# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
+#endif
+
+/* The following static variable is declared 'volatile' to avoid a
+   possible multithread problem in the function get_charset_aliases. If we
+   are running in a threaded environment, and if two threads initialize
+   'charset_aliases' simultaneously, both will produce the same value,
+   and everything will be ok if the two assignments to 'charset_aliases'
+   are atomic. But I don't know what will happen if the two assignments mix.  */
+#if __STDC__ != 1
+# define volatile /* empty */
+#endif
+/* Pointer to the contents of the charset.alias file, if it has already been
+   read, else NULL.  Its format is:
+   ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0'  */
+static const char * volatile charset_aliases;
+
+/* Return a pointer to the contents of the charset.alias file.  */
+static const char *
+get_charset_aliases ()
+{
+  const char *cp;
+
+  cp = charset_aliases;
+  if (cp == NULL)
+    {
+#ifndef WIN32
+      FILE *fp;
+      const char *dir = LIBDIR;
+      const char *base = "charset.alias";
+      char *file_name;
+
+      /* Concatenate dir and base into freshly allocated file_name.  */
+      {
+	size_t dir_len = strlen (dir);
+	size_t base_len = strlen (base);
+	int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
+	file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
+	if (file_name != NULL)
+	  {
+	    memcpy (file_name, dir, dir_len);
+	    if (add_slash)
+	      file_name[dir_len] = DIRECTORY_SEPARATOR;
+	    memcpy (file_name + dir_len + add_slash, base, base_len + 1);
+	  }
+      }
+
+      if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
+	/* Out of memory or file not found, treat it as empty.  */
+	cp = "";
+      else
+	{
+	  /* Parse the file's contents.  */
+	  int c;
+	  char buf1[50+1];
+	  char buf2[50+1];
+	  char *res_ptr = NULL;
+	  size_t res_size = 0;
+	  size_t l1, l2;
+
+	  for (;;)
+	    {
+	      c = getc (fp);
+	      if (c == EOF)
+		break;
+	      if (c == '\n' || c == ' ' || c == '\t')
+		continue;
+	      if (c == '#')
+		{
+		  /* Skip comment, to end of line.  */
+		  do
+		    c = getc (fp);
+		  while (!(c == EOF || c == '\n'));
+		  if (c == EOF)
+		    break;
+		  continue;
+		}
+	      ungetc (c, fp);
+	      if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
+		break;
+	      l1 = strlen (buf1);
+	      l2 = strlen (buf2);
+	      if (res_size == 0)
+		{
+		  res_size = l1 + 1 + l2 + 1;
+		  res_ptr = malloc (res_size + 1);
+		}
+	      else
+		{
+		  res_size += l1 + 1 + l2 + 1;
+		  res_ptr = realloc (res_ptr, res_size + 1);
+		}
+	      if (res_ptr == NULL)
+		{
+		  /* Out of memory. */
+		  res_size = 0;
+		  break;
+		}
+	      strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
+	      strcpy (res_ptr + res_size - (l2 + 1), buf2);
+	    }
+	  fclose (fp);
+	  if (res_size == 0)
+	    cp = "";
+	  else
+	    {
+	      *(res_ptr + res_size) = '\0';
+	      cp = res_ptr;
+	    }
+	}
+
+      if (file_name != NULL)
+	free (file_name);
+
+#else /* WIN32 */
+
+      /* To avoid the troubles of installing a separate file in the same
+	 directory as the DLL and of retrieving the DLL's directory at
+	 runtime, simply inline the aliases here.  */
+
+      cp = "CP936" "\0" "GBK" "\0"
+	   "CP1361" "\0" "JOHAB" "\0";
+#endif
+
+      charset_aliases = cp;
+    }
+
+  return cp;
+}
+
+/* Determine the current locale's character encoding, and canonicalize it
+   into one of the canonical names listed in config.charset.
+   The result must not be freed; it is statically allocated.
+   If the canonical name cannot be determined, the result is a non-canonical
+   name.  */
+
+#ifdef STATIC
+STATIC
+#endif
+const char *
+locale_charset ()
+{
+  const char *codeset;
+  const char *aliases;
+
+#ifndef WIN32
+
+# if HAVE_LANGINFO_CODESET
+
+  /* Most systems support nl_langinfo (CODESET) nowadays.  */
+  codeset = nl_langinfo (CODESET);
+
+# else
+
+  /* On old systems which lack it, use setlocale or getenv.  */
+  const char *locale = NULL;
+
+  /* But most old systems don't have a complete set of locales.  Some
+     (like SunOS 4 or DJGPP) have only the C locale.  Therefore we don't
+     use setlocale here; it would return "C" when it doesn't support the
+     locale name the user has set.  */
+#  if HAVE_SETLOCALE && 0
+  locale = setlocale (LC_CTYPE, NULL);
+#  endif
+  if (locale == NULL || locale[0] == '\0')
+    {
+      locale = getenv ("LC_ALL");
+      if (locale == NULL || locale[0] == '\0')
+	{
+	  locale = getenv ("LC_CTYPE");
+	  if (locale == NULL || locale[0] == '\0')
+	    locale = getenv ("LANG");
+	}
+    }
+
+  /* On some old systems, one used to set locale = "iso8859_1". On others,
+     you set it to "language_COUNTRY.charset". In any case, we resolve it
+     through the charset.alias file.  */
+  codeset = locale;
+
+# endif
+
+#else /* WIN32 */
+
+  static char buf[2 + 10 + 1];
+
+  /* Win32 has a function returning the locale's codepage as a number.  */
+  sprintf (buf, "CP%u", GetACP ());
+  codeset = buf;
+
+#endif
+
+  if (codeset == NULL)
+    /* The canonical name cannot be determined.  */
+    codeset = "";
+
+  /* Resolve alias. */
+  for (aliases = get_charset_aliases ();
+       *aliases != '\0';
+       aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
+    if (strcmp (codeset, aliases) == 0
+	|| (aliases[0] == '*' && aliases[1] == '\0'))
+      {
+	codeset = aliases + strlen (aliases) + 1;
+	break;
+      }
+
+  return codeset;
+}
Index: eggdrop1.7/intl/locale.alias
diff -u /dev/null eggdrop1.7/intl/locale.alias:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/locale.alias	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,78 @@
+# Locale name alias data base.
+# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# USA.
+
+# The format of this file is the same as for the corresponding file of
+# the X Window System, which normally can be found in
+#	/usr/lib/X11/locale/locale.alias
+# A single line contains two fields: an alias and a substitution value.
+# All entries are case independent.
+
+# Note: This file is far from being complete.  If you have a value for
+# your own site which you think might be useful for others too, share
+# it with the rest of us.  Send it using the `glibcbug' script to
+# bugs at gnu.org.
+
+# Packages using this file: 
+
+bokmal		no_NO.ISO-8859-1
+bokmål		no_NO.ISO-8859-1
+catalan		ca_ES.ISO-8859-1
+croatian	hr_HR.ISO-8859-2
+czech		cs_CZ.ISO-8859-2
+danish          da_DK.ISO-8859-1
+dansk		da_DK.ISO-8859-1
+deutsch		de_DE.ISO-8859-1
+dutch		nl_NL.ISO-8859-1
+eesti		et_EE.ISO-8859-1
+estonian	et_EE.ISO-8859-1
+finnish         fi_FI.ISO-8859-1
+français	fr_FR.ISO-8859-1
+french		fr_FR.ISO-8859-1
+galego		gl_ES.ISO-8859-1
+galician	gl_ES.ISO-8859-1
+german		de_DE.ISO-8859-1
+greek           el_GR.ISO-8859-7
+hebrew          he_IL.ISO-8859-8
+hrvatski	hr_HR.ISO-8859-2
+hungarian       hu_HU.ISO-8859-2
+icelandic       is_IS.ISO-8859-1
+italian         it_IT.ISO-8859-1
+japanese	ja_JP.eucJP
+japanese.euc	ja_JP.eucJP
+ja_JP		ja_JP.eucJP
+ja_JP.ujis	ja_JP.eucJP
+japanese.sjis	ja_JP.SJIS
+korean		ko_KR.eucKR
+korean.euc 	ko_KR.eucKR
+ko_KR		ko_KR.eucKR
+lithuanian      lt_LT.ISO-8859-13
+nb_NO		no_NO.ISO-8859-1
+nb_NO.ISO-8859-1 no_NO.ISO-8859-1
+norwegian       no_NO.ISO-8859-1
+nynorsk		nn_NO.ISO-8859-1
+polish          pl_PL.ISO-8859-2
+portuguese      pt_PT.ISO-8859-1
+romanian        ro_RO.ISO-8859-2
+russian         ru_RU.ISO-8859-5
+slovak          sk_SK.ISO-8859-2
+slovene         sl_SI.ISO-8859-2
+slovenian       sl_SI.ISO-8859-2
+spanish         es_ES.ISO-8859-1
+swedish         sv_SE.ISO-8859-1
+thai		th_TH.TIS-620
+turkish         tr_TR.ISO-8859-9
Index: eggdrop1.7/intl/localealias.c
diff -u /dev/null eggdrop1.7/intl/localealias.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/localealias.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,404 @@
+/* Handle aliases for locale names.
+   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
+   This must come before <config.h> because <config.h> may include
+   <features.h>, and once <features.h> has been included, it's too late.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE    1
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <ctype.h>
+#include <stdio.h>
+#include <sys/types.h>
+
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+# define HAVE_ALLOCA 1
+#else
+# if defined HAVE_ALLOCA_H || defined _LIBC
+#  include <alloca.h>
+# else
+#  ifdef _AIX
+ #pragma alloca
+#  else
+#   ifndef alloca
+char *alloca ();
+#   endif
+#  endif
+# endif
+#endif
+
+#include <stdlib.h>
+
+#include <string.h>
+#if !HAVE_STRCHR && !defined _LIBC
+# ifndef strchr
+#  define strchr index
+# endif
+#endif
+
+#include "gettextP.h"
+
+/* @@ end of prolog @@ */
+
+#ifdef _LIBC
+/* Rename the non ANSI C functions.  This is required by the standard
+   because some ANSI C functions will require linking with this object
+   file and the name space must not be polluted.  */
+# define strcasecmp __strcasecmp
+
+# ifndef mempcpy
+#  define mempcpy __mempcpy
+# endif
+# define HAVE_MEMPCPY	1
+
+/* We need locking here since we can be called from different places.  */
+# include <bits/libc-lock.h>
+
+__libc_lock_define_initialized (static, lock);
+#endif
+
+#ifndef internal_function
+# define internal_function
+#endif
+
+/* For those losing systems which don't have `alloca' we have to add
+   some additional code emulating it.  */
+#ifdef HAVE_ALLOCA
+# define freea(p) /* nothing */
+#else
+# define alloca(n) malloc (n)
+# define freea(p) free (p)
+#endif
+
+#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
+# undef fgets
+# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
+#endif
+#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
+# undef feof
+# define feof(s) feof_unlocked (s)
+#endif
+
+
+struct alias_map
+{
+  const char *alias;
+  const char *value;
+};
+
+
+static char *string_space;
+static size_t string_space_act;
+static size_t string_space_max;
+static struct alias_map *map;
+static size_t nmap;
+static size_t maxmap;
+
+
+/* Prototypes for local functions.  */
+static size_t read_alias_file PARAMS ((const char *fname, int fname_len))
+     internal_function;
+static int extend_alias_table PARAMS ((void));
+static int alias_compare PARAMS ((const struct alias_map *map1,
+				  const struct alias_map *map2));
+
+
+const char *
+_nl_expand_alias (name)
+    const char *name;
+{
+  static const char *locale_alias_path = LOCALE_ALIAS_PATH;
+  struct alias_map *retval;
+  const char *result = NULL;
+  size_t added;
+
+#ifdef _LIBC
+  __libc_lock_lock (lock);
+#endif
+
+  do
+    {
+      struct alias_map item;
+
+      item.alias = name;
+
+      if (nmap > 0)
+	retval = (struct alias_map *) bsearch (&item, map, nmap,
+					       sizeof (struct alias_map),
+					       (int (*) PARAMS ((const void *,
+								 const void *))
+						) alias_compare);
+      else
+	retval = NULL;
+
+      /* We really found an alias.  Return the value.  */
+      if (retval != NULL)
+	{
+	  result = retval->value;
+	  break;
+	}
+
+      /* Perhaps we can find another alias file.  */
+      added = 0;
+      while (added == 0 && locale_alias_path[0] != '\0')
+	{
+	  const char *start;
+
+	  while (locale_alias_path[0] == PATH_SEPARATOR)
+	    ++locale_alias_path;
+	  start = locale_alias_path;
+
+	  while (locale_alias_path[0] != '\0'
+		 && locale_alias_path[0] != PATH_SEPARATOR)
+	    ++locale_alias_path;
+
+	  if (start < locale_alias_path)
+	    added = read_alias_file (start, locale_alias_path - start);
+	}
+    }
+  while (added != 0);
+
+#ifdef _LIBC
+  __libc_lock_unlock (lock);
+#endif
+
+  return result;
+}
+
+
+static size_t
+internal_function
+read_alias_file (fname, fname_len)
+     const char *fname;
+     int fname_len;
+{
+  FILE *fp;
+  char *full_fname;
+  size_t added;
+  static const char aliasfile[] = "/locale.alias";
+
+  full_fname = (char *) alloca (fname_len + sizeof aliasfile);
+#ifdef HAVE_MEMPCPY
+  mempcpy (mempcpy (full_fname, fname, fname_len),
+	   aliasfile, sizeof aliasfile);
+#else
+  memcpy (full_fname, fname, fname_len);
+  memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
+#endif
+
+  fp = fopen (full_fname, "r");
+  freea (full_fname);
+  if (fp == NULL)
+    return 0;
+
+  added = 0;
+  while (!feof (fp))
+    {
+      /* It is a reasonable approach to use a fix buffer here because
+	 a) we are only interested in the first two fields
+	 b) these fields must be usable as file names and so must not
+	    be that long
+       */
+      char buf[BUFSIZ];
+      char *alias;
+      char *value;
+      char *cp;
+
+      if (fgets (buf, sizeof buf, fp) == NULL)
+	/* EOF reached.  */
+	break;
+
+      /* Possibly not the whole line fits into the buffer.  Ignore
+	 the rest of the line.  */
+      if (strchr (buf, '\n') == NULL)
+	{
+	  char altbuf[BUFSIZ];
+	  do
+	    if (fgets (altbuf, sizeof altbuf, fp) == NULL)
+	      /* Make sure the inner loop will be left.  The outer loop
+		 will exit at the `feof' test.  */
+	      break;
+	  while (strchr (altbuf, '\n') == NULL);
+	}
+
+      cp = buf;
+      /* Ignore leading white space.  */
+      while (isspace (cp[0]))
+	++cp;
+
+      /* A leading '#' signals a comment line.  */
+      if (cp[0] != '\0' && cp[0] != '#')
+	{
+	  alias = cp++;
+	  while (cp[0] != '\0' && !isspace (cp[0]))
+	    ++cp;
+	  /* Terminate alias name.  */
+	  if (cp[0] != '\0')
+	    *cp++ = '\0';
+
+	  /* Now look for the beginning of the value.  */
+	  while (isspace (cp[0]))
+	    ++cp;
+
+	  if (cp[0] != '\0')
+	    {
+	      size_t alias_len;
+	      size_t value_len;
+
+	      value = cp++;
+	      while (cp[0] != '\0' && !isspace (cp[0]))
+		++cp;
+	      /* Terminate value.  */
+	      if (cp[0] == '\n')
+		{
+		  /* This has to be done to make the following test
+		     for the end of line possible.  We are looking for
+		     the terminating '\n' which do not overwrite here.  */
+		  *cp++ = '\0';
+		  *cp = '\n';
+		}
+	      else if (cp[0] != '\0')
+		*cp++ = '\0';
+
+	      if (nmap >= maxmap)
+		if (__builtin_expect (extend_alias_table (), 0))
+		  return added;
+
+	      alias_len = strlen (alias) + 1;
+	      value_len = strlen (value) + 1;
+
+	      if (string_space_act + alias_len + value_len > string_space_max)
+		{
+		  /* Increase size of memory pool.  */
+		  size_t new_size = (string_space_max
+				     + (alias_len + value_len > 1024
+					? alias_len + value_len : 1024));
+		  char *new_pool = (char *) realloc (string_space, new_size);
+		  if (new_pool == NULL)
+		    return added;
+
+		  if (__builtin_expect (string_space != new_pool, 0))
+		    {
+		      size_t i;
+
+		      for (i = 0; i < nmap; i++)
+			{
+			  map[i].alias += new_pool - string_space;
+			  map[i].value += new_pool - string_space;
+			}
+		    }
+
+		  string_space = new_pool;
+		  string_space_max = new_size;
+		}
+
+	      map[nmap].alias = memcpy (&string_space[string_space_act],
+					alias, alias_len);
+	      string_space_act += alias_len;
+
+	      map[nmap].value = memcpy (&string_space[string_space_act],
+					value, value_len);
+	      string_space_act += value_len;
+
+	      ++nmap;
+	      ++added;
+	    }
+	}
+    }
+
+  /* Should we test for ferror()?  I think we have to silently ignore
+     errors.  --drepper  */
+  fclose (fp);
+
+  if (added > 0)
+    qsort (map, nmap, sizeof (struct alias_map),
+	   (int (*) PARAMS ((const void *, const void *))) alias_compare);
+
+  return added;
+}
+
+
+static int
+extend_alias_table ()
+{
+  size_t new_size;
+  struct alias_map *new_map;
+
+  new_size = maxmap == 0 ? 100 : 2 * maxmap;
+  new_map = (struct alias_map *) realloc (map, (new_size
+						* sizeof (struct alias_map)));
+  if (new_map == NULL)
+    /* Simply don't extend: we don't have any more core.  */
+    return -1;
+
+  map = new_map;
+  maxmap = new_size;
+  return 0;
+}
+
+
+#ifdef _LIBC
+static void __attribute__ ((unused))
+free_mem (void)
+{
+  if (string_space != NULL)
+    free (string_space);
+  if (map != NULL)
+    free (map);
+}
+text_set_element (__libc_subfreeres, free_mem);
+#endif
+
+
+static int
+alias_compare (map1, map2)
+     const struct alias_map *map1;
+     const struct alias_map *map2;
+{
+#if defined _LIBC || defined HAVE_STRCASECMP
+  return strcasecmp (map1->alias, map2->alias);
+#else
+  const unsigned char *p1 = (const unsigned char *) map1->alias;
+  const unsigned char *p2 = (const unsigned char *) map2->alias;
+  unsigned char c1, c2;
+
+  if (p1 == p2)
+    return 0;
+
+  do
+    {
+      /* I know this seems to be odd but the tolower() function in
+	 some systems libc cannot handle nonalpha characters.  */
+      c1 = isupper (*p1) ? tolower (*p1) : *p1;
+      c2 = isupper (*p2) ? tolower (*p2) : *p2;
+      if (c1 == '\0')
+	break;
+      ++p1;
+      ++p2;
+    }
+  while (c1 == c2);
+
+  return c1 - c2;
+#endif
+}
Index: eggdrop1.7/intl/ngettext.c
diff -u /dev/null eggdrop1.7/intl/ngettext.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/ngettext.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,68 @@
+/* Implementation of ngettext(3) function.
+   Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef _LIBC
+# define __need_NULL
+# include <stddef.h>
+#else
+# include <stdlib.h>		/* Just for NULL.  */
+#endif
+
+#include "gettextP.h"
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+
+#include <locale.h>
+
+/* @@ end of prolog @@ */
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define NGETTEXT __ngettext
+# define DCNGETTEXT __dcngettext
+#else
+# define NGETTEXT ngettext__
+# define DCNGETTEXT dcngettext__
+#endif
+
+/* Look up MSGID in the current default message catalog for the current
+   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
+   text).  */
+char *
+NGETTEXT (msgid1, msgid2, n)
+     const char *msgid1;
+     const char *msgid2;
+     unsigned long int n;
+{
+  return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__ngettext, ngettext);
+#endif
Index: eggdrop1.7/intl/plural.c
diff -u /dev/null eggdrop1.7/intl/plural.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/plural.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,1326 @@
+
+/*  A Bison parser, made from plural.y
+    by GNU Bison version 1.28  */
+
+#define YYBISON 1  /* Identify Bison output.  */
+
+#define yyparse __gettextparse
+#define yylex __gettextlex
+#define yyerror __gettexterror
+#define yylval __gettextlval
+#define yychar __gettextchar
+#define yydebug __gettextdebug
+#define yynerrs __gettextnerrs
+#define	EQUOP2	257
+#define	CMPOP2	258
+#define	ADDOP2	259
+#define	MULOP2	260
+#define	NUMBER	261
+
+#line 1 "plural.y"
+
+/* Expression parsing for plural form selection.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* The bison generated parser uses alloca.  AIX 3 forces us to put this
+   declaration at the beginning of the file.  The declaration in bison's
+   skeleton file comes too late.  This must come before <config.h>
+   because <config.h> may include arbitrary system headers.  */
+#if defined _AIX && !defined __GNUC__
+ #pragma alloca
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include "gettextP.h"
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define FREE_EXPRESSION __gettext_free_exp
+#else
+# define FREE_EXPRESSION gettext_free_exp__
+# define __gettextparse gettextparse__
+#endif
+
+#define YYLEX_PARAM	&((struct parse_args *) arg)->cp
+#define YYPARSE_PARAM	arg
+
+#line 53 "plural.y"
+typedef union {
+  unsigned long int num;
+  enum operator op;
+  struct expression *exp;
+} YYSTYPE;
+#line 59 "plural.y"
+
+/* Prototypes for local functions.  */
+static struct expression *new_exp PARAMS ((int nargs, enum operator op,
+					   struct expression * const *args));
+static inline struct expression *new_exp_0 PARAMS ((enum operator op));
+static inline struct expression *new_exp_1 PARAMS ((enum operator op,
+						   struct expression *right));
+static struct expression *new_exp_2 PARAMS ((enum operator op,
+					     struct expression *left,
+					     struct expression *right));
+static inline struct expression *new_exp_3 PARAMS ((enum operator op,
+						   struct expression *bexp,
+						   struct expression *tbranch,
+						   struct expression *fbranch));
+static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
+static void yyerror PARAMS ((const char *str));
+
+/* Allocation of expressions.  */
+
+static struct expression *
+new_exp (nargs, op, args)
+     int nargs;
+     enum operator op;
+     struct expression * const *args;
+{
+  int i;
+  struct expression *newp;
+
+  /* If any of the argument could not be malloc'ed, just return NULL.  */
+  for (i = nargs - 1; i >= 0; i--)
+    if (args[i] == NULL)
+      goto fail;
+
+  /* Allocate a new expression.  */
+  newp = (struct expression *) malloc (sizeof (*newp));
+  if (newp != NULL)
+    {
+      newp->nargs = nargs;
+      newp->operation = op;
+      for (i = nargs - 1; i >= 0; i--)
+	newp->val.args[i] = args[i];
+      return newp;
+    }
+
+ fail:
+  for (i = nargs - 1; i >= 0; i--)
+    FREE_EXPRESSION (args[i]);
+
+  return NULL;
+}
+
+static inline struct expression *
+new_exp_0 (op)
+     enum operator op;
+{
+  return new_exp (0, op, NULL);
+}
+
+static inline struct expression *
+new_exp_1 (op, right)
+     enum operator op;
+     struct expression *right;
+{
+  struct expression *args[1];
+
+  args[0] = right;
+  return new_exp (1, op, args);
+}
+
+static struct expression *
+new_exp_2 (op, left, right)
+     enum operator op;
+     struct expression *left;
+     struct expression *right;
+{
+  struct expression *args[2];
+
+  args[0] = left;
+  args[1] = right;
+  return new_exp (2, op, args);
+}
+
+static inline struct expression *
+new_exp_3 (op, bexp, tbranch, fbranch)
+     enum operator op;
+     struct expression *bexp;
+     struct expression *tbranch;
+     struct expression *fbranch;
+{
+  struct expression *args[3];
+
+  args[0] = bexp;
+  args[1] = tbranch;
+  args[2] = fbranch;
+  return new_exp (3, op, args);
+}
+
+#include <stdio.h>
+
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
+#endif
+#endif
+
+
+
+#define	YYFINAL		27
+#define	YYFLAG		-32768
+#define	YYNTBASE	16
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18)
+
+static const char yytranslate[] = {     0,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,    10,     2,     2,     2,     2,     5,     2,    14,
+    15,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,    12,     2,     2,
+     2,     2,     3,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,    13,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     4,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     1,     6,     7,     8,     9,
+    11
+};
+
+#if YYDEBUG != 0
+static const short yyprhs[] = {     0,
+     0,     2,     8,    12,    16,    20,    24,    28,    32,    35,
+    37,    39
+};
+
+static const short yyrhs[] = {    17,
+     0,    17,     3,    17,    12,    17,     0,    17,     4,    17,
+     0,    17,     5,    17,     0,    17,     6,    17,     0,    17,
+     7,    17,     0,    17,     8,    17,     0,    17,     9,    17,
+     0,    10,    17,     0,    13,     0,    11,     0,    14,    17,
+    15,     0
+};
+
+#endif
+
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+   178,   186,   190,   194,   198,   202,   206,   210,   214,   218,
+   222,   227
+};
+#endif
+
+
+#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+
+static const char * const yytname[] = {   "$","error","$undefined.","'?'","'|'",
+"'&'","EQUOP2","CMPOP2","ADDOP2","MULOP2","'!'","NUMBER","':'","'n'","'('","')'",
+"start","exp", NULL
+};
+#endif
+
+static const short yyr1[] = {     0,
+    16,    17,    17,    17,    17,    17,    17,    17,    17,    17,
+    17,    17
+};
+
+static const short yyr2[] = {     0,
+     1,     5,     3,     3,     3,     3,     3,     3,     2,     1,
+     1,     3
+};
+
+static const short yydefact[] = {     0,
+     0,    11,    10,     0,     1,     9,     0,     0,     0,     0,
+     0,     0,     0,     0,    12,     0,     3,     4,     5,     6,
+     7,     8,     0,     2,     0,     0,     0
+};
+
+static const short yydefgoto[] = {    25,
+     5
+};
+
+static const short yypact[] = {    -9,
+    -9,-32768,-32768,    -9,    34,-32768,    11,    -9,    -9,    -9,
+    -9,    -9,    -9,    -9,-32768,    24,    39,    43,    16,    26,
+    -3,-32768,    -9,    34,    21,    53,-32768
+};
+
+static const short yypgoto[] = {-32768,
+    -1
+};
+
+
+#define	YYLAST		53
+
+
+static const short yytable[] = {     6,
+     1,     2,     7,     3,     4,    14,    16,    17,    18,    19,
+    20,    21,    22,     8,     9,    10,    11,    12,    13,    14,
+    26,    24,    12,    13,    14,    15,     8,     9,    10,    11,
+    12,    13,    14,    13,    14,    23,     8,     9,    10,    11,
+    12,    13,    14,    10,    11,    12,    13,    14,    11,    12,
+    13,    14,    27
+};
+
+static const short yycheck[] = {     1,
+    10,    11,     4,    13,    14,     9,     8,     9,    10,    11,
+    12,    13,    14,     3,     4,     5,     6,     7,     8,     9,
+     0,    23,     7,     8,     9,    15,     3,     4,     5,     6,
+     7,     8,     9,     8,     9,    12,     3,     4,     5,     6,
+     7,     8,     9,     5,     6,     7,     8,     9,     6,     7,
+     8,     9,     0
+};
+#define YYPURE 1
+
+/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
+#line 3 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple"
+/* This file comes from bison-1.28.  */
+
+/* Skeleton output parser for bison,
+   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* This is the parser code that is written into each bison parser
+  when the %semantic_parser declaration is not specified in the grammar.
+  It was written by Richard Stallman by simplifying the hairy parser
+  used when %semantic_parser is specified.  */
+
+#ifndef YYSTACK_USE_ALLOCA
+#ifdef alloca
+#define YYSTACK_USE_ALLOCA
+#else /* alloca not defined */
+#ifdef __GNUC__
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
+#else /* not GNU C.  */
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+#define YYSTACK_USE_ALLOCA
+#include <alloca.h>
+#else /* not sparc */
+/* We think this test detects Watcom and Microsoft C.  */
+/* This used to test MSDOS, but that is a bad idea
+   since that symbol is in the user namespace.  */
+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+#if 0 /* No need for malloc.h, which pollutes the namespace;
+	 instead, just don't use alloca.  */
+#include <malloc.h>
+#endif
+#else /* not MSDOS, or __TURBOC__ */
+#if defined(_AIX)
+/* I don't know what this was needed for, but it pollutes the namespace.
+   So I turned it off.   rms, 2 May 1997.  */
+/* #include <malloc.h>  */
+ #pragma alloca
+#define YYSTACK_USE_ALLOCA
+#else /* not MSDOS, or __TURBOC__, or _AIX */
+#if 0
+#ifdef __hpux /* haible at ilog.fr says this works for HPUX 9.05 and up,
+		 and on HPUX 10.  Eventually we can turn this on.  */
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
+#endif /* __hpux */
+#endif
+#endif /* not _AIX */
+#endif /* not MSDOS, or __TURBOC__ */
+#endif /* not sparc */
+#endif /* not GNU C */
+#endif /* alloca not defined */
+#endif /* YYSTACK_USE_ALLOCA not defined */
+
+#ifdef YYSTACK_USE_ALLOCA
+#define YYSTACK_ALLOC alloca
+#else
+#define YYSTACK_ALLOC malloc
+#endif
+
+/* Note: there must be only one dollar sign in this file.
+   It is replaced by the list of actions, each action
+   as one case of the switch.  */
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		-2
+#define YYEOF		0
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT 	goto yyabortlab
+#define YYERROR		goto yyerrlab1
+/* Like YYERROR except do call yyerror.
+   This remains here temporarily to ease the
+   transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+#define YYFAIL		goto yyerrlab
+#define YYRECOVERING()  (!!yyerrstatus)
+#define YYBACKUP(token, value) \
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    { yychar = (token), yylval = (value);			\
+      yychar1 = YYTRANSLATE (yychar);				\
+      YYPOPSTACK;						\
+      goto yybackup;						\
+    }								\
+  else								\
+    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
+while (0)
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+#ifndef YYPURE
+#define YYLEX		yylex()
+#endif
+
+#ifdef YYPURE
+#ifdef YYLSP_NEEDED
+#ifdef YYLEX_PARAM
+#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
+#else
+#define YYLEX		yylex(&yylval, &yylloc)
+#endif
+#else /* not YYLSP_NEEDED */
+#ifdef YYLEX_PARAM
+#define YYLEX		yylex(&yylval, YYLEX_PARAM)
+#else
+#define YYLEX		yylex(&yylval)
+#endif
+#endif /* not YYLSP_NEEDED */
+#endif
+
+/* If nonreentrant, generate the variables here */
+
+#ifndef YYPURE
+
+int	yychar;			/*  the lookahead symbol		*/
+YYSTYPE	yylval;			/*  the semantic value of the		*/
+				/*  lookahead symbol			*/
+
+#ifdef YYLSP_NEEDED
+YYLTYPE yylloc;			/*  location data for the lookahead	*/
+				/*  symbol				*/
+#endif
+
+int yynerrs;			/*  number of parse errors so far       */
+#endif  /* not YYPURE */
+
+#if YYDEBUG != 0
+int yydebug;			/*  nonzero means print parse trace	*/
+/* Since this is uninitialized, it does not stop multiple parsers
+   from coexisting.  */
+#endif
+
+/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
+
+#ifndef	YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
+
+/*  YYMAXDEPTH is the maximum size the stacks can grow to
+    (effective only if the built-in stack extension method is used).  */
+
+#if YYMAXDEPTH == 0
+#undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+#define YYMAXDEPTH 10000
+#endif
+
+/* Define __yy_memcpy.  Note that the size argument
+   should be passed with type unsigned int, because that is what the non-GCC
+   definitions require.  With GCC, __builtin_memcpy takes an arg
+   of type size_t, but it can handle unsigned int.  */
+
+#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
+#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
+#else				/* not GNU C or C++ */
+#ifndef __cplusplus
+
+/* This is the most reliable way to avoid incompatibilities
+   in available built-in functions on various systems.  */
+static void
+__yy_memcpy (to, from, count)
+     char *to;
+     char *from;
+     unsigned int count;
+{
+  register char *f = from;
+  register char *t = to;
+  register int i = count;
+
+  while (i-- > 0)
+    *t++ = *f++;
+}
+
+#else /* __cplusplus */
+
+/* This is the most reliable way to avoid incompatibilities
+   in available built-in functions on various systems.  */
+static void
+__yy_memcpy (char *to, char *from, unsigned int count)
+{
+  register char *t = to;
+  register char *f = from;
+  register int i = count;
+
+  while (i-- > 0)
+    *t++ = *f++;
+}
+
+#endif
+#endif
+
+#line 217 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple"
+
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+   into yyparse.  The argument should have type void *.
+   It should actually point to an object.
+   Grammar actions can access the variable by casting it
+   to the proper pointer type.  */
+
+#ifdef YYPARSE_PARAM
+#ifdef __cplusplus
+#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL
+#else /* not __cplusplus */
+#define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+#endif /* not __cplusplus */
+#else /* not YYPARSE_PARAM */
+#define YYPARSE_PARAM_ARG
+#define YYPARSE_PARAM_DECL
+#endif /* not YYPARSE_PARAM */
+
+/* Prevent warning if -Wstrict-prototypes.  */
+#ifdef __GNUC__
+#ifdef YYPARSE_PARAM
+int yyparse (void *);
+#else
+int yyparse (void);
+#endif
+#endif
+
+int
+yyparse(YYPARSE_PARAM_ARG)
+     YYPARSE_PARAM_DECL
+{
+  register int yystate;
+  register int yyn;
+  register short *yyssp;
+  register YYSTYPE *yyvsp;
+  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
+  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
+
+  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
+  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
+
+  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
+  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
+
+#ifdef YYLSP_NEEDED
+  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
+  YYLTYPE *yyls = yylsa;
+  YYLTYPE *yylsp;
+
+#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
+#else
+#define YYPOPSTACK   (yyvsp--, yyssp--)
+#endif
+
+  int yystacksize = YYINITDEPTH;
+  int yyfree_stacks = 0;
+
+#ifdef YYPURE
+  int yychar;
+  YYSTYPE yylval;
+  int yynerrs;
+#ifdef YYLSP_NEEDED
+  YYLTYPE yylloc;
+#endif
+#endif
+
+  YYSTYPE yyval;		/*  the variable used to return		*/
+				/*  semantic values from the action	*/
+				/*  routines				*/
+
+  int yylen;
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Starting parse\n");
+#endif
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss - 1;
+  yyvsp = yyvs;
+#ifdef YYLSP_NEEDED
+  yylsp = yyls;
+#endif
+
+/* Push a new state, which is found in  yystate  .  */
+/* In all cases, when you get here, the value and location stacks
+   have just been pushed. so pushing a state here evens the stacks.  */
+yynewstate:
+
+  *++yyssp = yystate;
+
+  if (yyssp >= yyss + yystacksize - 1)
+    {
+      /* Give user a chance to reallocate the stack */
+      /* Use copies of these so that the &'s don't force the real ones into memory. */
+      YYSTYPE *yyvs1 = yyvs;
+      short *yyss1 = yyss;
+#ifdef YYLSP_NEEDED
+      YYLTYPE *yyls1 = yyls;
+#endif
+
+      /* Get the current used size of the three stacks, in elements.  */
+      int size = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      /* Each stack pointer address is followed by the size of
+	 the data in use in that stack, in bytes.  */
+#ifdef YYLSP_NEEDED
+      /* This used to be a conditional around just the two extra args,
+	 but that might be undefined if yyoverflow is a macro.  */
+      yyoverflow("parser stack overflow",
+		 &yyss1, size * sizeof (*yyssp),
+		 &yyvs1, size * sizeof (*yyvsp),
+		 &yyls1, size * sizeof (*yylsp),
+		 &yystacksize);
+#else
+      yyoverflow("parser stack overflow",
+		 &yyss1, size * sizeof (*yyssp),
+		 &yyvs1, size * sizeof (*yyvsp),
+		 &yystacksize);
+#endif
+
+      yyss = yyss1; yyvs = yyvs1;
+#ifdef YYLSP_NEEDED
+      yyls = yyls1;
+#endif
+#else /* no yyoverflow */
+      /* Extend the stack our own way.  */
+      if (yystacksize >= YYMAXDEPTH)
+	{
+	  yyerror("parser stack overflow");
+	  if (yyfree_stacks)
+	    {
+	      free (yyss);
+	      free (yyvs);
+#ifdef YYLSP_NEEDED
+	      free (yyls);
+#endif
+	    }
+	  return 2;
+	}
+      yystacksize *= 2;
+      if (yystacksize > YYMAXDEPTH)
+	yystacksize = YYMAXDEPTH;
+#ifndef YYSTACK_USE_ALLOCA
+      yyfree_stacks = 1;
+#endif
+      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
+      __yy_memcpy ((char *)yyss, (char *)yyss1,
+		   size * (unsigned int) sizeof (*yyssp));
+      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
+      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
+		   size * (unsigned int) sizeof (*yyvsp));
+#ifdef YYLSP_NEEDED
+      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
+      __yy_memcpy ((char *)yyls, (char *)yyls1,
+		   size * (unsigned int) sizeof (*yylsp));
+#endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + size - 1;
+      yyvsp = yyvs + size - 1;
+#ifdef YYLSP_NEEDED
+      yylsp = yyls + size - 1;
+#endif
+
+#if YYDEBUG != 0
+      if (yydebug)
+	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
+#endif
+
+      if (yyssp >= yyss + yystacksize - 1)
+	YYABORT;
+    }
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Entering state %d\n", yystate);
+#endif
+
+  goto yybackup;
+ yybackup:
+
+/* Do appropriate processing given the current state.  */
+/* Read a lookahead token if we need one and don't already have one.  */
+/* yyresume: */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+
+  yyn = yypact[yystate];
+  if (yyn == YYFLAG)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* yychar is either YYEMPTY or YYEOF
+     or a valid token in external form.  */
+
+  if (yychar == YYEMPTY)
+    {
+#if YYDEBUG != 0
+      if (yydebug)
+	fprintf(stderr, "Reading a token: ");
+#endif
+      yychar = YYLEX;
+    }
+
+  /* Convert token to internal form (in yychar1) for indexing tables with */
+
+  if (yychar <= 0)		/* This means end of input. */
+    {
+      yychar1 = 0;
+      yychar = YYEOF;		/* Don't call YYLEX any more */
+
+#if YYDEBUG != 0
+      if (yydebug)
+	fprintf(stderr, "Now at end of input.\n");
+#endif
+    }
+  else
+    {
+      yychar1 = YYTRANSLATE(yychar);
+
+#if YYDEBUG != 0
+      if (yydebug)
+	{
+	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
+	  /* Give the individual parser a way to print the precise meaning
+	     of a token, for further debugging info.  */
+#ifdef YYPRINT
+	  YYPRINT (stderr, yychar, yylval);
+#endif
+	  fprintf (stderr, ")\n");
+	}
+#endif
+    }
+
+  yyn += yychar1;
+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+    goto yydefault;
+
+  yyn = yytable[yyn];
+
+  /* yyn is what to do for this token type in this state.
+     Negative => reduce, -yyn is rule number.
+     Positive => shift, yyn is new state.
+       New state is final state => don't bother to shift,
+       just return success.
+     0, or most negative number => error.  */
+
+  if (yyn < 0)
+    {
+      if (yyn == YYFLAG)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+  else if (yyn == 0)
+    goto yyerrlab;
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Shift the lookahead token.  */
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+#endif
+
+  /* Discard the token being shifted unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  *++yyvsp = yylval;
+#ifdef YYLSP_NEEDED
+  *++yylsp = yylloc;
+#endif
+
+  /* count tokens shifted since error; after three, turn off error status.  */
+  if (yyerrstatus) yyerrstatus--;
+
+  yystate = yyn;
+  goto yynewstate;
+
+/* Do the default action for the current state.  */
+yydefault:
+
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+
+/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+yyreduce:
+  yylen = yyr2[yyn];
+  if (yylen > 0)
+    yyval = yyvsp[1-yylen]; /* implement default value of the action */
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      int i;
+
+      fprintf (stderr, "Reducing via rule %d (line %d), ",
+	       yyn, yyrline[yyn]);
+
+      /* Print the symbols being reduced, and their result.  */
+      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
+      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+    }
+#endif
+
+
+  switch (yyn) {
+
+case 1:
+#line 179 "plural.y"
+{
+	    if (yyvsp[0].exp == NULL)
+	      YYABORT;
+	    ((struct parse_args *) arg)->res = yyvsp[0].exp;
+	  ;
+    break;}
+case 2:
+#line 187 "plural.y"
+{
+	    yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 3:
+#line 191 "plural.y"
+{
+	    yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 4:
+#line 195 "plural.y"
+{
+	    yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 5:
+#line 199 "plural.y"
+{
+	    yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 6:
+#line 203 "plural.y"
+{
+	    yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 7:
+#line 207 "plural.y"
+{
+	    yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 8:
+#line 211 "plural.y"
+{
+	    yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+	  ;
+    break;}
+case 9:
+#line 215 "plural.y"
+{
+	    yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
+	  ;
+    break;}
+case 10:
+#line 219 "plural.y"
+{
+	    yyval.exp = new_exp_0 (var);
+	  ;
+    break;}
+case 11:
+#line 223 "plural.y"
+{
+	    if ((yyval.exp = new_exp_0 (num)) != NULL)
+	      yyval.exp->val.num = yyvsp[0].num;
+	  ;
+    break;}
+case 12:
+#line 228 "plural.y"
+{
+	    yyval.exp = yyvsp[-1].exp;
+	  ;
+    break;}
+}
+   /* the action file gets copied in in place of this dollarsign */
+#line 543 "/home/haible/gnu/arch/linuxlibc6/share/bison.simple"
+
+  yyvsp -= yylen;
+  yyssp -= yylen;
+#ifdef YYLSP_NEEDED
+  yylsp -= yylen;
+#endif
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      short *ssp1 = yyss - 1;
+      fprintf (stderr, "state stack now");
+      while (ssp1 != yyssp)
+	fprintf (stderr, " %d", *++ssp1);
+      fprintf (stderr, "\n");
+    }
+#endif
+
+  *++yyvsp = yyval;
+
+#ifdef YYLSP_NEEDED
+  yylsp++;
+  if (yylen == 0)
+    {
+      yylsp->first_line = yylloc.first_line;
+      yylsp->first_column = yylloc.first_column;
+      yylsp->last_line = (yylsp-1)->last_line;
+      yylsp->last_column = (yylsp-1)->last_column;
+      yylsp->text = 0;
+    }
+  else
+    {
+      yylsp->last_line = (yylsp+yylen-1)->last_line;
+      yylsp->last_column = (yylsp+yylen-1)->last_column;
+    }
+#endif
+
+  /* Now "shift" the result of the reduction.
+     Determine what state that goes to,
+     based on the state we popped back to
+     and the rule number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
+  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTBASE];
+
+  goto yynewstate;
+
+yyerrlab:   /* here on detecting error */
+
+  if (! yyerrstatus)
+    /* If not already recovering from an error, report this error.  */
+    {
+      ++yynerrs;
+
+#ifdef YYERROR_VERBOSE
+      yyn = yypact[yystate];
+
+      if (yyn > YYFLAG && yyn < YYLAST)
+	{
+	  int size = 0;
+	  char *msg;
+	  int x, count;
+
+	  count = 0;
+	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
+	  for (x = (yyn < 0 ? -yyn : 0);
+	       x < (sizeof(yytname) / sizeof(char *)); x++)
+	    if (yycheck[x + yyn] == x)
+	      size += strlen(yytname[x]) + 15, count++;
+	  msg = (char *) malloc(size + 15);
+	  if (msg != 0)
+	    {
+	      strcpy(msg, "parse error");
+
+	      if (count < 5)
+		{
+		  count = 0;
+		  for (x = (yyn < 0 ? -yyn : 0);
+		       x < (sizeof(yytname) / sizeof(char *)); x++)
+		    if (yycheck[x + yyn] == x)
+		      {
+			strcat(msg, count == 0 ? ", expecting `" : " or `");
+			strcat(msg, yytname[x]);
+			strcat(msg, "'");
+			count++;
+		      }
+		}
+	      yyerror(msg);
+	      free(msg);
+	    }
+	  else
+	    yyerror ("parse error; also virtual memory exceeded");
+	}
+      else
+#endif /* YYERROR_VERBOSE */
+	yyerror("parse error");
+    }
+
+  goto yyerrlab1;
+yyerrlab1:   /* here on error raised explicitly by an action */
+
+  if (yyerrstatus == 3)
+    {
+      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+
+      /* return failure if at end of input */
+      if (yychar == YYEOF)
+	YYABORT;
+
+#if YYDEBUG != 0
+      if (yydebug)
+	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
+#endif
+
+      yychar = YYEMPTY;
+    }
+
+  /* Else will try to reuse lookahead token
+     after shifting the error token.  */
+
+  yyerrstatus = 3;		/* Each real token shifted decrements this */
+
+  goto yyerrhandle;
+
+yyerrdefault:  /* current state does not do anything special for the error token. */
+
+#if 0
+  /* This is wrong; only states that explicitly want error tokens
+     should shift them.  */
+  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
+  if (yyn) goto yydefault;
+#endif
+
+yyerrpop:   /* pop the current state because it cannot handle the error token */
+
+  if (yyssp == yyss) YYABORT;
+  yyvsp--;
+  yystate = *--yyssp;
+#ifdef YYLSP_NEEDED
+  yylsp--;
+#endif
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      short *ssp1 = yyss - 1;
+      fprintf (stderr, "Error: state stack now");
+      while (ssp1 != yyssp)
+	fprintf (stderr, " %d", *++ssp1);
+      fprintf (stderr, "\n");
+    }
+#endif
+
+yyerrhandle:
+
+  yyn = yypact[yystate];
+  if (yyn == YYFLAG)
+    goto yyerrdefault;
+
+  yyn += YYTERROR;
+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
+    goto yyerrdefault;
+
+  yyn = yytable[yyn];
+  if (yyn < 0)
+    {
+      if (yyn == YYFLAG)
+	goto yyerrpop;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+  else if (yyn == 0)
+    goto yyerrpop;
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Shifting error token, ");
+#endif
+
+  *++yyvsp = yylval;
+#ifdef YYLSP_NEEDED
+  *++yylsp = yylloc;
+#endif
+
+  yystate = yyn;
+  goto yynewstate;
+
+ yyacceptlab:
+  /* YYACCEPT comes here.  */
+  if (yyfree_stacks)
+    {
+      free (yyss);
+      free (yyvs);
+#ifdef YYLSP_NEEDED
+      free (yyls);
+#endif
+    }
+  return 0;
+
+ yyabortlab:
+  /* YYABORT comes here.  */
+  if (yyfree_stacks)
+    {
+      free (yyss);
+      free (yyvs);
+#ifdef YYLSP_NEEDED
+      free (yyls);
+#endif
+    }
+  return 1;
+}
+#line 233 "plural.y"
+
+
+void
+internal_function
+FREE_EXPRESSION (exp)
+     struct expression *exp;
+{
+  if (exp == NULL)
+    return;
+
+  /* Handle the recursive case.  */
+  switch (exp->nargs)
+    {
+    case 3:
+      FREE_EXPRESSION (exp->val.args[2]);
+      /* FALLTHROUGH */
+    case 2:
+      FREE_EXPRESSION (exp->val.args[1]);
+      /* FALLTHROUGH */
+    case 1:
+      FREE_EXPRESSION (exp->val.args[0]);
+      /* FALLTHROUGH */
+    default:
+      break;
+    }
+
+  free (exp);
+}
+
+
+static int
+yylex (lval, pexp)
+     YYSTYPE *lval;
+     const char **pexp;
+{
+  const char *exp = *pexp;
+  int result;
+
+  while (1)
+    {
+      if (exp[0] == '\0')
+	{
+	  *pexp = exp;
+	  return YYEOF;
+	}
+
+      if (exp[0] != ' ' && exp[0] != '\t')
+	break;
+
+      ++exp;
+    }
+
+  result = *exp++;
+  switch (result)
+    {
+    case '0': case '1': case '2': case '3': case '4':
+    case '5': case '6': case '7': case '8': case '9':
+      {
+	unsigned long int n = result - '0';
+	while (exp[0] >= '0' && exp[0] <= '9')
+	  {
+	    n *= 10;
+	    n += exp[0] - '0';
+	    ++exp;
+	  }
+	lval->num = n;
+	result = NUMBER;
+      }
+      break;
+
+    case '=':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = equal;
+	  result = EQUOP2;
+	}
+      else
+	result = YYERRCODE;
+      break;
+
+    case '!':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = not_equal;
+	  result = EQUOP2;
+	}
+      break;
+
+    case '&':
+    case '|':
+      if (exp[0] == result)
+	++exp;
+      else
+	result = YYERRCODE;
+      break;
+
+    case '<':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = less_or_equal;
+	}
+      else
+	lval->op = less_than;
+      result = CMPOP2;
+      break;
+
+    case '>':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = greater_or_equal;
+	}
+      else
+	lval->op = greater_than;
+      result = CMPOP2;
+      break;
+
+    case '*':
+      lval->op = mult;
+      result = MULOP2;
+      break;
+
+    case '/':
+      lval->op = divide;
+      result = MULOP2;
+      break;
+
+    case '%':
+      lval->op = module;
+      result = MULOP2;
+      break;
+
+    case '+':
+      lval->op = plus;
+      result = ADDOP2;
+      break;
+
+    case '-':
+      lval->op = minus;
+      result = ADDOP2;
+      break;
+
+    case 'n':
+    case '?':
+    case ':':
+    case '(':
+    case ')':
+      /* Nothing, just return the character.  */
+      break;
+
+    case ';':
+    case '\n':
+    case '\0':
+      /* Be safe and let the user call this function again.  */
+      --exp;
+      result = YYEOF;
+      break;
+
+    default:
+      result = YYERRCODE;
+#if YYDEBUG != 0
+      --exp;
+#endif
+      break;
+    }
+
+  *pexp = exp;
+
+  return result;
+}
+
+
+static void
+yyerror (str)
+     const char *str;
+{
+  /* Do nothing.  We don't print error messages here.  */
+}
Index: eggdrop1.7/intl/plural.y
diff -u /dev/null eggdrop1.7/intl/plural.y:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/plural.y	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,413 @@
+%{
+/* Expression parsing for plural form selection.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+/* The bison generated parser uses alloca.  AIX 3 forces us to put this
+   declaration at the beginning of the file.  The declaration in bison's
+   skeleton file comes too late.  This must come before <config.h>
+   because <config.h> may include arbitrary system headers.  */
+#if defined _AIX && !defined __GNUC__
+ #pragma alloca
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include "gettextP.h"
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define FREE_EXPRESSION __gettext_free_exp
+#else
+# define FREE_EXPRESSION gettext_free_exp__
+# define __gettextparse gettextparse__
+#endif
+
+#define YYLEX_PARAM	&((struct parse_args *) arg)->cp
+#define YYPARSE_PARAM	arg
+%}
+%pure_parser
+%expect 10
+
+%union {
+  unsigned long int num;
+  enum operator op;
+  struct expression *exp;
+}
+
+%{
+/* Prototypes for local functions.  */
+static struct expression *new_exp PARAMS ((int nargs, enum operator op,
+					   struct expression * const *args));
+static inline struct expression *new_exp_0 PARAMS ((enum operator op));
+static inline struct expression *new_exp_1 PARAMS ((enum operator op,
+						   struct expression *right));
+static struct expression *new_exp_2 PARAMS ((enum operator op,
+					     struct expression *left,
+					     struct expression *right));
+static inline struct expression *new_exp_3 PARAMS ((enum operator op,
+						   struct expression *bexp,
+						   struct expression *tbranch,
+						   struct expression *fbranch));
+static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
+static void yyerror PARAMS ((const char *str));
+
+/* Allocation of expressions.  */
+
+static struct expression *
+new_exp (nargs, op, args)
+     int nargs;
+     enum operator op;
+     struct expression * const *args;
+{
+  int i;
+  struct expression *newp;
+
+  /* If any of the argument could not be malloc'ed, just return NULL.  */
+  for (i = nargs - 1; i >= 0; i--)
+    if (args[i] == NULL)
+      goto fail;
+
+  /* Allocate a new expression.  */
+  newp = (struct expression *) malloc (sizeof (*newp));
+  if (newp != NULL)
+    {
+      newp->nargs = nargs;
+      newp->operation = op;
+      for (i = nargs - 1; i >= 0; i--)
+	newp->val.args[i] = args[i];
+      return newp;
+    }
+
+ fail:
+  for (i = nargs - 1; i >= 0; i--)
+    FREE_EXPRESSION (args[i]);
+
+  return NULL;
+}
+
+static inline struct expression *
+new_exp_0 (op)
+     enum operator op;
+{
+  return new_exp (0, op, NULL);
+}
+
+static inline struct expression *
+new_exp_1 (op, right)
+     enum operator op;
+     struct expression *right;
+{
+  struct expression *args[1];
+
+  args[0] = right;
+  return new_exp (1, op, args);
+}
+
+static struct expression *
+new_exp_2 (op, left, right)
+     enum operator op;
+     struct expression *left;
+     struct expression *right;
+{
+  struct expression *args[2];
+
+  args[0] = left;
+  args[1] = right;
+  return new_exp (2, op, args);
+}
+
+static inline struct expression *
+new_exp_3 (op, bexp, tbranch, fbranch)
+     enum operator op;
+     struct expression *bexp;
+     struct expression *tbranch;
+     struct expression *fbranch;
+{
+  struct expression *args[3];
+
+  args[0] = bexp;
+  args[1] = tbranch;
+  args[2] = fbranch;
+  return new_exp (3, op, args);
+}
+
+%}
+
+/* This declares that all operators have the same associativity and the
+   precedence order as in C.  See [Harbison, Steele: C, A Reference Manual].
+   There is no unary minus and no bitwise operators.
+   Operators with the same syntactic behaviour have been merged into a single
+   token, to save space in the array generated by bison.  */
+%right '?'		/*   ?		*/
+%left '|'		/*   ||		*/
+%left '&'		/*   &&		*/
+%left EQUOP2		/*   == !=	*/
+%left CMPOP2		/*   < > <= >=	*/
+%left ADDOP2		/*   + -	*/
+%left MULOP2		/*   * / %	*/
+%right '!'		/*   !		*/
+
+%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
+%token <num> NUMBER
+%type <exp> exp
+
+%%
+
+start:	  exp
+	  {
+	    if ($1 == NULL)
+	      YYABORT;
+	    ((struct parse_args *) arg)->res = $1;
+	  }
+	;
+
+exp:	  exp '?' exp ':' exp
+	  {
+	    $$ = new_exp_3 (qmop, $1, $3, $5);
+	  }
+	| exp '|' exp
+	  {
+	    $$ = new_exp_2 (lor, $1, $3);
+	  }
+	| exp '&' exp
+	  {
+	    $$ = new_exp_2 (land, $1, $3);
+	  }
+	| exp EQUOP2 exp
+	  {
+	    $$ = new_exp_2 ($2, $1, $3);
+	  }
+	| exp CMPOP2 exp
+	  {
+	    $$ = new_exp_2 ($2, $1, $3);
+	  }
+	| exp ADDOP2 exp
+	  {
+	    $$ = new_exp_2 ($2, $1, $3);
+	  }
+	| exp MULOP2 exp
+	  {
+	    $$ = new_exp_2 ($2, $1, $3);
+	  }
+	| '!' exp
+	  {
+	    $$ = new_exp_1 (lnot, $2);
+	  }
+	| 'n'
+	  {
+	    $$ = new_exp_0 (var);
+	  }
+	| NUMBER
+	  {
+	    if (($$ = new_exp_0 (num)) != NULL)
+	      $$->val.num = $1;
+	  }
+	| '(' exp ')'
+	  {
+	    $$ = $2;
+	  }
+	;
+
+%%
+
+void
+internal_function
+FREE_EXPRESSION (exp)
+     struct expression *exp;
+{
+  if (exp == NULL)
+    return;
+
+  /* Handle the recursive case.  */
+  switch (exp->nargs)
+    {
+    case 3:
+      FREE_EXPRESSION (exp->val.args[2]);
+      /* FALLTHROUGH */
+    case 2:
+      FREE_EXPRESSION (exp->val.args[1]);
+      /* FALLTHROUGH */
+    case 1:
+      FREE_EXPRESSION (exp->val.args[0]);
+      /* FALLTHROUGH */
+    default:
+      break;
+    }
+
+  free (exp);
+}
+
+
+static int
+yylex (lval, pexp)
+     YYSTYPE *lval;
+     const char **pexp;
+{
+  const char *exp = *pexp;
+  int result;
+
+  while (1)
+    {
+      if (exp[0] == '\0')
+	{
+	  *pexp = exp;
+	  return YYEOF;
+	}
+
+      if (exp[0] != ' ' && exp[0] != '\t')
+	break;
+
+      ++exp;
+    }
+
+  result = *exp++;
+  switch (result)
+    {
+    case '0': case '1': case '2': case '3': case '4':
+    case '5': case '6': case '7': case '8': case '9':
+      {
+	unsigned long int n = result - '0';
+	while (exp[0] >= '0' && exp[0] <= '9')
+	  {
+	    n *= 10;
+	    n += exp[0] - '0';
+	    ++exp;
+	  }
+	lval->num = n;
+	result = NUMBER;
+      }
+      break;
+
+    case '=':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = equal;
+	  result = EQUOP2;
+	}
+      else
+	result = YYERRCODE;
+      break;
+
+    case '!':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = not_equal;
+	  result = EQUOP2;
+	}
+      break;
+
+    case '&':
+    case '|':
+      if (exp[0] == result)
+	++exp;
+      else
+	result = YYERRCODE;
+      break;
+
+    case '<':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = less_or_equal;
+	}
+      else
+	lval->op = less_than;
+      result = CMPOP2;
+      break;
+
+    case '>':
+      if (exp[0] == '=')
+	{
+	  ++exp;
+	  lval->op = greater_or_equal;
+	}
+      else
+	lval->op = greater_than;
+      result = CMPOP2;
+      break;
+
+    case '*':
+      lval->op = mult;
+      result = MULOP2;
+      break;
+
+    case '/':
+      lval->op = divide;
+      result = MULOP2;
+      break;
+
+    case '%':
+      lval->op = module;
+      result = MULOP2;
+      break;
+
+    case '+':
+      lval->op = plus;
+      result = ADDOP2;
+      break;
+
+    case '-':
+      lval->op = minus;
+      result = ADDOP2;
+      break;
+
+    case 'n':
+    case '?':
+    case ':':
+    case '(':
+    case ')':
+      /* Nothing, just return the character.  */
+      break;
+
+    case ';':
+    case '\n':
+    case '\0':
+      /* Be safe and let the user call this function again.  */
+      --exp;
+      result = YYEOF;
+      break;
+
+    default:
+      result = YYERRCODE;
+#if YYDEBUG != 0
+      --exp;
+#endif
+      break;
+    }
+
+  *pexp = exp;
+
+  return result;
+}
+
+
+static void
+yyerror (str)
+     const char *str;
+{
+  /* Do nothing.  We don't print error messages here.  */
+}
Index: eggdrop1.7/intl/ref-add.sin
diff -u /dev/null eggdrop1.7/intl/ref-add.sin:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/ref-add.sin	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,31 @@
+# Add this package to a list of references stored in a text file.
+#
+#   Copyright (C) 2000 Free Software Foundation, Inc.
+#
+#   This program is free software; you can redistribute it and/or modify it
+#   under the terms of the GNU Library General Public License as published
+#   by the Free Software Foundation; either version 2, or (at your option)
+#   any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#   Library General Public License for more details.
+#
+#   You should have received a copy of the GNU Library General Public
+#   License along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+#   USA.
+#
+# Written by Bruno Haible <haible at clisp.cons.org>.
+#
+/^# Packages using this file: / {
+  s/# Packages using this file://
+  ta
+  :a
+  s/ @PACKAGE@ / @PACKAGE@ /
+  tb
+  s/ $/ @PACKAGE@ /
+  :b
+  s/^/# Packages using this file:/
+}
Index: eggdrop1.7/intl/ref-del.sin
diff -u /dev/null eggdrop1.7/intl/ref-del.sin:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/ref-del.sin	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,26 @@
+# Remove this package from a list of references stored in a text file.
+#
+#   Copyright (C) 2000 Free Software Foundation, Inc.
+#
+#   This program is free software; you can redistribute it and/or modify it
+#   under the terms of the GNU Library General Public License as published
+#   by the Free Software Foundation; either version 2, or (at your option)
+#   any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#   Library General Public License for more details.
+#
+#   You should have received a copy of the GNU Library General Public
+#   License along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+#   USA.
+#
+# Written by Bruno Haible <haible at clisp.cons.org>.
+#
+/^# Packages using this file: / {
+  s/# Packages using this file://
+  s/ @PACKAGE@ / /
+  s/^/# Packages using this file:/
+}
Index: eggdrop1.7/intl/textdomain.c
diff -u /dev/null eggdrop1.7/intl/textdomain.c:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/intl/textdomain.c	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,142 @@
+/* Implementation of the textdomain(3) function.
+   Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "libgnuintl.h"
+#endif
+#include "gettextP.h"
+
+#ifdef _LIBC
+/* We have to handle multi-threaded applications.  */
+# include <bits/libc-lock.h>
+#else
+/* Provide dummy implementation if this is outside glibc.  */
+# define __libc_rwlock_define(CLASS, NAME)
+# define __libc_rwlock_wrlock(NAME)
+# define __libc_rwlock_unlock(NAME)
+#endif
+
+/* The internal variables in the standalone libintl.a must have different
+   names than the internal variables in GNU libc, otherwise programs
+   using libintl.a cannot be linked statically.  */
+#if !defined _LIBC
+# define _nl_default_default_domain _nl_default_default_domain__
+# define _nl_current_default_domain _nl_current_default_domain__
+#endif
+
+/* @@ end of prolog @@ */
+
+/* Name of the default text domain.  */
+extern const char _nl_default_default_domain[];
+
+/* Default text domain in which entries for gettext(3) are to be found.  */
+extern const char *_nl_current_default_domain;
+
+
+/* Names for the libintl functions are a problem.  They must not clash
+   with existing names and they should follow ANSI C.  But this source
+   code is also used in GNU C Library where the names have a __
+   prefix.  So we have to make a difference here.  */
+#ifdef _LIBC
+# define TEXTDOMAIN __textdomain
+# ifndef strdup
+#  define strdup(str) __strdup (str)
+# endif
+#else
+# define TEXTDOMAIN textdomain__
+#endif
+
+/* Lock variable to protect the global data in the gettext implementation.  */
+__libc_rwlock_define (extern, _nl_state_lock)
+
+/* Set the current default message catalog to DOMAINNAME.
+   If DOMAINNAME is null, return the current default.
+   If DOMAINNAME is "", reset to the default of "messages".  */
+char *
+TEXTDOMAIN (domainname)
+     const char *domainname;
+{
+  char *new_domain;
+  char *old_domain;
+
+  /* A NULL pointer requests the current setting.  */
+  if (domainname == NULL)
+    return (char *) _nl_current_default_domain;
+
+  __libc_rwlock_wrlock (_nl_state_lock);
+
+  old_domain = (char *) _nl_current_default_domain;
+
+  /* If domain name is the null string set to default domain "messages".  */
+  if (domainname[0] == '\0'
+      || strcmp (domainname, _nl_default_default_domain) == 0)
+    {
+      _nl_current_default_domain = _nl_default_default_domain;
+      new_domain = (char *) _nl_current_default_domain;
+    }
+  else if (strcmp (domainname, old_domain) == 0)
+    /* This can happen and people will use it to signal that some
+       environment variable changed.  */
+    new_domain = old_domain;
+  else
+    {
+      /* If the following malloc fails `_nl_current_default_domain'
+	 will be NULL.  This value will be returned and so signals we
+	 are out of core.  */
+#if defined _LIBC || defined HAVE_STRDUP
+      new_domain = strdup (domainname);
+#else
+      size_t len = strlen (domainname) + 1;
+      new_domain = (char *) malloc (len);
+      if (new_domain != NULL)
+	memcpy (new_domain, domainname, len);
+#endif
+
+      if (new_domain != NULL)
+	_nl_current_default_domain = new_domain;
+    }
+
+  /* We use this possibility to signal a change of the loaded catalogs
+     since this is most likely the case and there is no other easy we
+     to do it.  Do it only when the call was successful.  */
+  if (new_domain != NULL)
+    {
+      ++_nl_msg_cat_cntr;
+
+      if (old_domain != new_domain && old_domain != _nl_default_default_domain)
+	free (old_domain);
+    }
+
+  __libc_rwlock_unlock (_nl_state_lock);
+
+  return new_domain;
+}
+
+#ifdef _LIBC
+/* Alias for function name in GNU C Library.  */
+weak_alias (__textdomain, textdomain);
+#endif
Index: eggdrop1.7/isc-posix.m4
diff -u /dev/null eggdrop1.7/isc-posix.m4:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/isc-posix.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,17 @@
+#serial 1
+# This test replaces the one in autoconf.
+# Currently this macro should have the same name as the autoconf macro
+# because gettext's gettext.m4 (distributed in the automake package)
+# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
+# give these diagnostics:
+#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
+#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
+
+undefine([AC_ISC_POSIX])
+
+AC_DEFUN([AC_ISC_POSIX],
+  [
+    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
+    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
+  ]
+)
Index: eggdrop1.7/lcmessage.m4
diff -u /dev/null eggdrop1.7/lcmessage.m4:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/lcmessage.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,24 @@
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+#
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 2
+
+AC_DEFUN([AM_LC_MESSAGES],
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1,
+        [Define if your <locale.h> file defines LC_MESSAGES.])
+    fi
+  fi])
Index: eggdrop1.7/misc/config.guess
diff -u eggdrop1.7/misc/config.guess:1.1 eggdrop1.7/misc/config.guess:removed
--- eggdrop1.7/misc/config.guess:1.1	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/misc/config.guess	Tue Oct  9 20:20:26 2001
@@ -1,1311 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
-
-timestamp='2001-08-09'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner at cygnus.com>.
-# Please send patches to <config-patches at gnu.org>.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
-    --version | -v )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script.
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int dummy(){}" > $dummy.c ;
-	for c in cc gcc c89 ; do
-	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
-	  if test $? = 0 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	rm -f $dummy.c $dummy.o $dummy.rel ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi at noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# Netbsd (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	# Determine the machine/vendor (is the vendor relevant).
-	case "${UNAME_MACHINE}" in
-	    amiga) machine=m68k-unknown ;;
-	    arm32) machine=arm-unknown ;;
-	    atari*) machine=m68k-atari ;;
-	    sun3*) machine=m68k-sun ;;
-	    mac68k) machine=m68k-apple ;;
-	    macppc) machine=powerpc-apple ;;
-	    hp3[0-9][05]) machine=m68k-hp ;;
-	    ibmrt|romp-ibm) machine=romp-ibm ;;
-	    *) machine=${UNAME_MACHINE}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE}" in
-	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-	        os=netbsd
-		;;
-	esac
-	# The OS release
-	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit 0 ;;
-    alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	cat <<EOF >$dummy.s
-	.data
-\$Lformat:
-	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-	.text
-	.globl main
-	.align 4
-	.ent main
-main:
-	.frame \$30,16,\$26,0
-	ldgp \$29,0(\$27)
-	.prologue 1
-	.long 0x47e03d80 # implver \$0
-	lda \$2,-1
-	.long 0x47e20c21 # amask \$2,\$1
-	lda \$16,\$Lformat
-	mov \$0,\$17
-	not \$1,\$18
-	jsr \$26,printf
-	ldgp \$29,0(\$26)
-	mov 0,\$16
-	jsr \$26,exit
-	.end main
-EOF
-	eval $set_cc_for_build
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-			2-1307)
-				UNAME_MACHINE="alphaev68"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit 0 ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit 0;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
-    arc64:OpenBSD:*:*)
-	echo mips64el-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hkmips:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit 0 ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit 0 ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	eval $set_cc_for_build
-	$CC_FOR_BUILD $dummy.c -o $dummy \
-	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit 0 ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit 0 ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit 0 ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit 0 ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit 0 ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit 0 ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit 0 ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		eval $set_cc_for_build
-		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-		rm -f $dummy.c $dummy
-		echo rs6000-ibm-aix3.2.5
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit 0 ;;
-    *:AIX:*:[45])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit 0 ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-              case "${HPUX_REV}" in
-                11.[0-9][0-9])
-                  if [ -x /usr/bin/getconf ]; then
-                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-                        esac ;;
-                    esac
-                  fi ;;
-              esac
-              if [ "${HP_ARCH}" = "" ]; then
-              sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-	eval $set_cc_for_build
-	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
-	rm -f $dummy.c $dummy
-	fi ;;
-	esac
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    3050*:HI-UX:*:*)
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	eval $set_cc_for_build
-	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit 0 ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit 0 ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit 0 ;;
-    hppa*:OpenBSD:*:*)
-	echo hppa-unknown-openbsd
-	exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3D:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
-    i*:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit 0 ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
-	exit 0 ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit 0 ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    *:GNU:*:*)
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit 0 ;;
-    arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux
-	exit 0 ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    mips:Linux:*:*)
-	case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
-	  big)    echo mips-unknown-linux-gnu && exit 0 ;;
-	  little) echo mipsel-unknown-linux-gnu && exit 0 ;;
-	esac
-	;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit 0 ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit 0 ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit 0 ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
-	esac
-	exit 0 ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
-	exit 0 ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
-	exit 0 ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit 0 ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit 0 ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	ld_supported_targets=`cd /; ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0 ;;		
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0 ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit 0 ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-pc-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-pc-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-pc-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	eval $set_cc_for_build
-	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
-	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-	;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit 0 ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit 0 ;;
-    i*86:*:5:[78]*)
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit 0 ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit 0 ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit 0 ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit 0 ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit 0 ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel at ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes at openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
-    *:*:*:FTX*)
-	# From seanf at swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit 0 ;;
-    *:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo hppa1.1-stratus-vos
-	exit 0 ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit 0 ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit 0 ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit 0 ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit 0 ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit 0 ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
-    *:Darwin:*:*)
-	echo `uname -p`-apple-darwin${UNAME_RELEASE}
-	exit 0 ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	if test "${UNAME_MACHINE}" = "x86pc"; then
-		UNAME_MACHINE=pc
-	fi
-	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
-	exit 0 ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit 0 ;;
-    NSR-[KW]:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit 0 ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit 0 ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit 0 ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit 0 ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit 0 ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit 0 ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit 0 ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit 0 ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit 0 ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit 0 ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit 0 ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit 0 ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-eval $set_cc_for_build
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit 0 ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit 0 ;;
-    c34*)
-	echo c34-convex-bsd
-	exit 0 ;;
-    c38*)
-	echo c38-convex-bsd
-	exit 0 ;;
-    c4*)
-	echo c4-convex-bsd
-	exit 0 ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-    ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches at gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
Index: eggdrop1.7/misc/config.sub
diff -u eggdrop1.7/misc/config.sub:1.1 eggdrop1.7/misc/config.sub:removed
--- eggdrop1.7/misc/config.sub:1.1	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/misc/config.sub	Tue Oct  9 20:20:26 2001
@@ -1,1409 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
-
-timestamp='2001-08-02'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Please send patches to <config-patches at gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit 0 ;;
-    --version | -v )
-       echo "$version" ; exit 0 ;;
-    --help | --h* | -h )
-       echo "$usage"; exit 0 ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit 0;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
- 	-chorusrdb)
- 		os=-chorusrdb
-		basic_machine=$1
- 		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-	| c4x | clipper \
-	| d10v | d30v | dsp16xx \
-	| fr30 \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| m32r | m68000 | m68k | m88k | mcore \
-	| mips16 | mips64 | mips64el | mips64orion | mips64orionel \
-	| mips64vr4100 | mips64vr4100el | mips64vr4300 \
-	| mips64vr4300el | mips64vr5000 | mips64vr5000el \
-	| mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| ns16k | ns32k \
-	| openrisc \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| s390 | s390x \
-	| sh | sh[34] | sh[34]eb | shbe | shle \
-	| sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
-	| strongarm \
-	| tahoe | thumb | tic80 | tron \
-	| v850 \
-	| we32k \
-	| x86 | xscale \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alphapca5[67]-* | arc-* \
-	| arm-*  | armbe-* | armle-* | armv*-* \
-	| bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c54x-* \
-	| clipper-* | cray2-* | cydra-* \
-	| d10v-* | d30v-* \
-	| f30[01]-* | f700-* | fr30-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| m32r-* \
-	| m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | mcore-* \
-	| mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
-	| mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \
-	| mipsle-* | mipstx39-* | mipstx39el-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* \
-	| s390-* | s390x-* \
-	| sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
-	| sparc-* | sparc64-* | sparc86x-* | sparclite-* \
-	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
-	| t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
-	| v850-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
-	| ymp-* \
-	| z8k-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
-		;;
-	[cjt]90)
-		basic_machine=${basic_machine}-cray
-		os=-unicos
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	mingw32)
-		basic_machine=i386-pc
-		os=-mingw32
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mipsel*-linux*)
-		basic_machine=mipsel-unknown
-		os=-linux-gnu
-		;;
-	mips*-linux*)
-		basic_machine=mips-unknown
-		os=-linux-gnu
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-        pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pentium | p5 | k5 | k6 | nexgen)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2)
-		basic_machine=i686-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-	        ;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-	        ;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-	        ;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-	        ;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sparclite-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=t3e-cray
-		os=-unicos
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	windows32)
-		basic_machine=i386-pc
-		os=-windows32-msvcrt
-		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
-		;;
-        xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	mips)
-		if [ x$os = x-linux-gnu ]; then
-			basic_machine=mips-unknown
-		else
-			basic_machine=mips-mips
-		fi
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh3 | sh4 | sh3eb | sh4eb)
-		basic_machine=sh-unknown
-		;;
-	sparc | sparcv9 | sparcv9b)
-		basic_machine=sparc-sun
-		;;
-        cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	c4x*)
-		basic_machine=c4x-none
-		os=-coff
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto*)
-		os=-nto-qnx
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-ns2 )
-	        os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-	        os=-mint
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-	pdp10-*)
-		os=-tops20
-		;;
-        pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-        *-gould)
-		os=-sysv
-		;;
-        *-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-        *-sgi)
-		os=-irix
-		;;
-        *-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-vxsim* | -vxworks*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
Index: eggdrop1.7/misc/install-sh
diff -u eggdrop1.7/misc/install-sh:1.1 eggdrop1.7/misc/install-sh:removed
--- eggdrop1.7/misc/install-sh:1.1	Sun Mar  5 17:22:48 2000
+++ eggdrop1.7/misc/install-sh	Tue Oct  9 20:20:26 2001
@@ -1,252 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# $Id: install-sh,v 1.1 2000/03/05 23:22:48 fabian Exp $
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
-
-	-d) dir_arg=true
-	    shift
-	    continue;;
-
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
-
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
-
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
-
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
-
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-	echo "install:	no input file specified"
-	exit 1
-else
-	true
-fi
-
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-	
-	if [ -d $dst ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=mkdir
-	fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-	if [ -f $src -o -d $src ]
-	then
-		true
-	else
-		echo "install:  $src does not exist"
-		exit 1
-	fi
-	
-	if [ x"$dst" = x ]
-	then
-		echo "install:	no destination specified"
-		exit 1
-	else
-		true
-	fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-	if [ -d $dst ]
-	then
-		dst="$dst"/`basename $src`
-	else
-		true
-	fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='	
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
-	shift
-
-	if [ ! -d "${pathcomp}" ] ;
-        then
-		$mkdirprog "${pathcomp}"
-	else
-		true
-	fi
-
-	pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd $dst &&
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-	if [ x"$transformarg" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		dstfile=`basename $dst $transformbasename | 
-			sed $transformarg`$transformbasename
-	fi
-
-# don't allow the sed command to completely eliminate the filename
-
-	if [ x"$dstfile" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		true
-	fi
-
-# Make a temp file name in the proper directory.
-
-	dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-	$doit $instcmd $src $dsttmp &&
-
-	trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
Index: eggdrop1.7/misc/mkinstalldirs
diff -u eggdrop1.7/misc/mkinstalldirs:1.1 eggdrop1.7/misc/mkinstalldirs:removed
--- eggdrop1.7/misc/mkinstalldirs:1.1	Sun Mar  5 17:22:48 2000
+++ eggdrop1.7/misc/mkinstalldirs	Tue Oct  9 20:20:26 2001
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.1 2000/03/05 23:22:48 fabian Exp $
-
-errstatus=0
-
-for file
-do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
-
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
-
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp"
-
-        mkdir "$pathcomp" || lasterr=$?
-
-        if test ! -d "$pathcomp"; then
-  	  errstatus=$lasterr
-        fi
-     fi
-
-     pathcomp="$pathcomp/"
-   done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
Index: eggdrop1.7/misc/modconfig
diff -u eggdrop1.7/misc/modconfig:1.7 eggdrop1.7/misc/modconfig:removed
--- eggdrop1.7/misc/modconfig:1.7	Mon Jul  9 10:57:04 2001
+++ eggdrop1.7/misc/modconfig	Tue Oct  9 20:20:26 2001
@@ -1,740 +0,0 @@
-#! /bin/sh
-#
-# modconfig
-#
-# Copyright (C) 2000, 2001 Eggheads Development Team
-# Written by Fabian Knittel
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-# $Id: modconfig,v 1.7 2001/07/09 15:57:04 guppy Exp $
-
-
-mc_pn=`echo $0 | sed -e 's/^.*\///'`
-mc_top_srcdir=
-mc_srcdir=
-mc_bindir=.
-
-mc_flag_quiet=no
-mc_flag_onlynew=no
-
-
-#  Read options
-while true; do
-	case ${1} in
-	--top_srcdir=*)
-		mc_top_srcdir=`echo ${1} | sed -e 's/^--top_srcdir=//'`
-	;;
-	--top_srcdir)
-		shift
-		mc_top_srcdir=${1}
-	;;
-	--srcdir=*)
-		mc_srcdir=`echo ${1} | sed -e 's/^--srcdir=//'`
-	;;
-	--srcdir)
-		shift
-		mc_srcdir=${1}
-	;;
-	--bindir=*)
-		mc_bindir=`echo ${1} | sed -e 's/^--bindir=//'`
-	;;
-	--bindir)
-		shift
-		mc_bindir=${1}
-	;;
-	--quiet|-q)
-		mc_flag_quiet=yes
-	;;
-	--only-new|-n)
-		mc_flag_onlynew=yes
-	;;
-	--*)
-		echo "${mc_pn}: warning: unknown option \`${1}'." 2>&1
-	;;
-	*)
-		#  Non-option parameter. 
-		break
-	;;
-	esac
-
-	#  Break out of loop if there are no more arguments to process.
-	if shift; then
-		:
-	else
-		break;
-	fi
-done
-
-#  Find srcdir and top_srcdir
-if test "x${mc_srcdir}" = x; then
-	if test "x${mc_top_srcdir}" != x; then
-		mc_srcdir=${mc_top_srcdir}/src
-	else
-		echo "${mc_pn}: error: could not find src directory." 2>&1
-		exit 1
-	fi
-fi
-if test "x${mc_top_srcdir}" = x; then
-	if test "x${mc_srcdir}" != x; then
-		mc_top_srcdir=${mc_srcdir}/..
-	else
-		echo "${mc_pn}: error: could not find top src directory." 2>&1
-		exit 1
-	fi
-fi
-
-
-#
-#  Files
-#
-
-#  List of all selected modules (including the `.mod' at the end)
-mc_fmodules=${mc_bindir}/.modules
-
-#  List of all modules we have detected so far.
-mc_fknownmods=${mc_bindir}/.known_modules
-
-#  List of modules disabled by default
-mc_fdisabledmods=${mc_top_srcdir}/disabled_modules
-
-mc_mod_dir=${mc_srcdir}/mod
-
-mc_mod_bin_dir=${mc_bindir}/src/mod
-mc_fMakefile=${mc_mod_bin_dir}/Makefile
-
-mc_fstatic_h=${mc_mod_dir}/static.h
-
-
-#  File descriptor usage:
-#    1  Standard output
-#    2  Errors
-#
-#    6  Misc messages and warnings
-#    7  Goes to /dev/null
-exec 7>/dev/null
-if test "${mc_flag_quiet}" = yes; then
-	exec 6>&7
-else
-	exec 6>&1
-fi
-
-#  Detect flags needed to achieve 'echo -n' (originally from GNU autoconf) ...
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-	#  Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
-	if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null
-	then
-		mc_n= mc_c='
-' mc_t='        '
-	else
-		mc_n=-n mc_c= mc_t=
-	fi
-else
-	mc_n= mc_c='\c' mc_t=
-fi
-
-#  This helps us call ourself.
-mc_self_call="$0 --srcdir=${mc_srcdir} --top_srcdir=${mc_topsrcdir}"
-
-#  Assign parameters
-mc_cmd=$1
-if test "x${mc_cmd}" != x; then
-	shift
-	mc_paras=$*
-fi
-
-case x${mc_cmd} in
-xhelp)
-#
-#  Display help
-#
-
-	cat 1>&6 <<EOF
-Usage: ${mc_pn} [OPTIONS] COMMAND
-
-Commands:
-    add                  Add a module to the list of active eggdrop modules.
-    del                  Remove a module from that list.
-    clear                Clear the list.
-    static.h             Create \`src/mod/static.h'.
-    Makefile             Create \`src/mod/Makefile'.
-    configure            Interactively select modules.
-    is-configured        Exits 0/1 depending on wether modules where
-                           configured or not.
-    update-depends       Check all module dependencies and add modules missing.
-    help                 Displays this information.
-    detect-modules       Find all available modules.
-    modules-still-exist  Check wether all known modules still exist.
-    eggautoconf          Recreate the configure scripts in every module dir.
-
-Options:
-    --top_srcdir=DIR     Top directory         (At least one of these two
-    --srcdir=DIR         Source directory       directories MUST be supplied.)
-    --bindir=DIR         Binary directory
-    --quiet [-q]         Quiet mode. Only show errors.
-
-Options specific to the \`configure' command:
-
-    --only-new [-n]      Only query new modules.
-EOF
-;;
-xis-configured)
-#
-#  Determine wether the modules were configured yet.
-#
-
-	if test -r "${mc_fmodules}"; then
-		exit 0
-	else
-		exit 1
-	fi
-;;
-xmodules-still-exist)
-#
-#  Check wether all known modules still exist.
-#
-
-	if ${mc_self_call} -q is-configured; then
-		mc_known_mods=`cat ${mc_fknownmods}`
-
-		echo ${mc_n} "checking for removed modules...${mc_c}" 1>&6
-		#  Check wether all known mods still exist
-		for mc_mod in ${mc_known_mods}; do
-			echo ${mc_n} ".${mc_c}" >&6
-			if test ! -d ${mc_mod_dir}/${mc_mod}; then
-				grep -v "^${mc_mod}$" ${mc_fknownmods} > ${mc_fknownmods}_new
-				mv ${mc_fknownmods}_new ${mc_fknownmods}
-			fi
-		done
-		echo " done." 1>&6
-	fi
-;;
-xdetect-modules)
-#
-#  Detect modules. Active modules will be added to the `.modules' file. The
-#  behaviour changes as soon as `.modules' already exists.
-#
-
-	echo ${mc_n} "detecting modules...${mc_c}" >&6
-
-	if ${mc_self_call} -q is-configured; then
-		mc_mods_configured=yes
-
-		mv ${mc_fmodules} ${mc_fmodules}_old
-
-		mc_fmodules_old=${mc_fmodules}
-		mc_fmodules=${mc_fmodules}_old
-	else
-		mc_mods_configured=no
-
-		mc_fmodules_old=
-	fi
-
-	mc_mods=`echo ${mc_srcdir}/mod/*.mod | sed -e 's/\.mod//g'`
-	if test "${mc_mods}" = "${mc_srcdir}/mod/*"; then
-		echo "${mc_pn}: error: no modules detected." >&2
-		exit 1
-	fi
-
-	#  Add them again.
-	mc_mods=`echo ${mc_mods} | sed -e 's/\.mod//g'`
-	for mc_mod in ${mc_mods}; do
-		mc_mod=`echo ${mc_mod} | sed -e 's/.*\///g'`
-		mc_new_mod_state=disabled
-		echo ${mc_n} ".${mc_c}" >&6
-
-		#  Do we have an existing configuration?
-		if (test "${mc_mods_configured}" = yes); then
-			#  Is the module active?
-			if (grep "^${mc_mod}.mod\$" ${mc_fmodules} 1>&7 2>&1)
-			then
-				mc_new_mod_state=enabled
-			else
-				#  Was it configured before?
-				if (grep "^${mc_mod}.mod\$" ${mc_fknownmods} 1>&7 2>&1); then
-					:
-				else
-					mc_new_mod_state=enabled
-				fi
-			fi
-		else
-			if (sed s/\ //g ${mc_fdisabledmods} 2>&1 | grep "^${mc_mod}\$" 1>&7 2>&1)
-			then
-				:
-			else
-				mc_new_mod_state=enabled
-			fi
-		fi
-		if test "${mc_new_mod_state}" = enabled; then
-			${mc_self_call} -q add ${mc_mod}
-		else
-			${mc_self_call} -q del ${mc_mod}
-		fi
-	done
-
-	if test "x${mc_fmodules_old}" != x; then
-		# mc_fmodules actually points to the .modules_old file.
-		rm -f ${mc_fmodules}
-		touch ${mc_fmodules_old}
-	fi
-
-	echo " done." >&6
-;;
-xMakefile)
-#
-#  Build `src/mod/Makefile'
-#
-
-	echo ${mc_n} "building ${mc_fMakefile}... ${mc_c}" 1>&6
-
-	#  Check for selected modules
-	if test -r ${mc_fmodules}; then
-		#  Convert newlines to spaces.
-		mc_sel_modules=`cat ${mc_fmodules} | \
-					awk '{ printf("%s ", $0); }'`
-	else
-		echo "${mc_pn}: error: no modules selected. You did not run \`make config' yet." 1>&2;
-		exit 1
-	fi
-
-	mc_mod_objs=`echo ${mc_sel_modules} | sed -e 's/.mod/.mod_o/g'`
-	mc_mod_libs=`echo ${mc_sel_modules} | sed -e 's/.mod/.mod_so/g'`
-
-	if test ! -f ${mc_fMakefile}; then
-		echo "failed." 1>&6
-		echo "${mc_pn}: error: make file template not found." 1>&2
-		exit 1
-	fi
-
-	#  The following sed expression modifies src/mod/Makefile to
-	#  hold the new module names.
-	if (cat "${mc_fMakefile}" | \
-	    sed -e "s/^\(mods =\).*$/\1 ${mc_sel_modules}/g"  \
-		-e "s/^\(mod_objs =\).*$/\1 ${mc_mod_objs}/g" \
-		-e "s/^\(mod_libs =\).*$/\1 ${mc_mod_libs}/g" \
-	    1> "${mc_fMakefile}_new"); then
-		mv "${mc_fMakefile}_new" "${mc_fMakefile}"
-	else
-		echo "failed." 1>&6
-		echo "${mc_pn}: sed failed to build ${mc_fMakefile}." 1>&2
-		exit 1
-	fi
-
-	echo "done." 1>&6
-;;
-xstatic.h)
-#
-#  Build `static.h'
-#
-
-	echo ${mc_n} "building static.h..." 1>&6
-
-	#  Check for selected modules
-	if test ! -r ${mc_fmodules}; then
-		echo " failed." 1>&6
-		echo "${mc_pn}: error: no modules selected. You did not run \`make config' yet." 1>&2;
-		exit 1
-	fi
-	mc_sel_modules=`cat ${mc_fmodules} | sed -e 's/.mod//g'`
-
-
-	#  Note:  All data is written to `src/mod/static.h' which is
-	#         later included into `src/main.c'.
-
-	#  Remove old static.h
-	rm -f ${mc_fstatic_h}
-
-	#  Header
-	cat 1>> ${mc_fstatic_h} << EOF
-/* src/mod/static.h -- header file for static compiles.
- *
- * NOTE: Do not edit directly. Instead, re-run \`make config'.
- */
-
-#ifndef _EGG_MOD_STATIC_H
-#define _EGG_MOD_STATIC_H
-
-EOF
-
-	#  Create declarations for module _start functions
-	for mc_mod in ${mc_sel_modules}; do
-		echo ${mc_n} ".${mc_c}" 1>&6
-		echo "char *${mc_mod}_start();" 1>> ${mc_fstatic_h}
-	done
-	echo 1>> ${mc_fstatic_h}
-
-	#  The link_statics() function ...
-	echo "static void link_statics()" 1>> ${mc_fstatic_h}
-	echo "{" 1>> ${mc_fstatic_h}
-	for mc_mod in ${mc_sel_modules}; do
-		echo "  check_static(\"${mc_mod}\", ${mc_mod}_start);" 1>> ${mc_fstatic_h}
-	done
-	cat 1>> ${mc_fstatic_h} << EOF
-}
-
-#endif /* _EGG_MOD_STATIC_H */
-EOF
-
-	echo " done." 1>&6
-;;
-xdel)
-#
-#  Remove a module from the list
-#
-
-	if test "x${mc_paras}" = x; then
-		echo "${mc_pn}: error: no modules specified." 2>&1
-		exit 1
-	fi
-
-	mc_nfmodules="${mc_fmodules}_new"
-
-	#  Remove trailing `.mod'
-	mc_mods=`echo ${mc_paras} | sed -e 's/.mod//g'`
-	for mc_mod in ${mc_mods}; do
-		#  Remove any path information
-		mc_mod=`echo ${mc_mod} | sed -e 's/.*\///'`
-		echo "${mc_pn}: disabling eggdrop module: ${mc_mod}" 1>&6
-
-		#  Add module to the list of known modules.
-		if grep "^${mc_mod}.mod$" ${mc_fknownmods} 1>&7 2>&7; then
-			if test ! -d ${mc_mod_dir}/${mc_mod}.mod; then
-				grep -v "^${mc_mod}.mod$" ${mc_fknownmods} \
-					> ${mc_fknownmods}_new
-				mv ${mc_fknownmods}_new ${mc_fknownmods}
-			fi
-		else
-			if test ! -d ${mc_mod_dir}/${mc_mod}.mod; then
-				:
-			else
-				echo ${mc_mod}.mod 1>> ${mc_fknownmods}
-			fi
-		fi
-
-		# In case there are any active modules ...
-		if test -r ${mc_fmodules}; then
-			#  Remove module from list of active modules.
-			if grep -v "^${mc_mod}.mod$" ${mc_fmodules} \
-				1> ${mc_nfmodules}
-			then
-				:
-			else
-				echo "${mc_pn}: error: building new module file failed" 1>&2
-				echo "grepping for ${mc_mod}.mod in ${mc_fmodules} and writing to ${mc_nfmodules}"
-				kill -STOP $$
-				exit 1
-			fi
-			mv ${mc_nfmodules} ${mc_fmodules}
-		fi
-	done
-;;
-xadd)
-#
-#  Add a module to the list
-#
-
-	if test "x${mc_paras}" = x; then
-		echo "${mc_pn}: error: no modules specified." 2>&1
-		exit 1
-	fi
-
-	#  Remove trailing `.mod'
-	mc_mods=`echo ${mc_paras} | sed -e 's/.mod//g'`
-	for mc_mod in ${mc_mods}; do
-		#  Remove any path information
-		mc_mod=`echo ${mc_mod} | sed -e 's/.*\///'`
-
-		#  Add module to the list of known modules.
-		if grep "^${mc_mod}.mod$" ${mc_fknownmods} 1>&7 2>&7; then
-			if test ! -d ${mc_mod_dir}/${mc_mod}.mod; then
-				grep -v "^${mc_mod}.mod$" ${mc_fknownmods} \
-					> ${mc_fknownmods}_new
-				mv ${mc_fknownmods}_new ${mc_fknownmods}
-			fi
-		else
-			if test ! -d ${mc_mod_dir}/${mc_mod}.mod; then
-				:
-			else
-				echo ${mc_mod}.mod 1>> ${mc_fknownmods}
-			fi
-		fi
-
-		#  Add module to the list of active modules.
-		if grep "^${mc_mod}.mod$" ${mc_fmodules} 1>&7 2>&7; then
-			:
-		else
-			if test ! -d ${mc_mod_dir}/${mc_mod}.mod; then
-				echo "${mc_pn}: warning: module does not exist: \`${mc_mod}', ignoring." 1>&2
-			else
-				echo "${mc_pn}: enabling eggdrop module: ${mc_mod}" 1>&6
-
-				#  Add it to the file
-				echo ${mc_mod}.mod 1>> ${mc_fmodules}
-			fi
-		fi
-	done
-;;
-xclear)
-#
-#  Clear list of modules 
-#
-
-	echo "${mc_pn}: cleared list of eggdrop modules." 1>&6
-	rm -f ${mc_fmodules}
-	touch ${mc_fmodules}
-;;
-xupdate-depends)
-#
-#  Check the dependencies and add modules which are depended on, but
-#  aren't enabled.
-#
-
-	mc_all_depends=
-	mc_missing=
-
-	echo ${mc_n} "calculating dependencies...${mc_c}" 1>&6
-
-	#  Check for selected modules
-	if test ! -r ${mc_fmodules}; then
-		echo " failed." 1>&6
-		echo "${mc_pn}: error: no modules selected. You did not run configure yet." 1>&2
-		exit 1
-	fi
-	mc_sel_modules=`cat ${mc_fmodules}`
-
-	mc_new_mods="${mc_sel_modules}"
-	while (test "x${mc_new_mods}" != x); do
-		mc_mod_list="${mc_new_mods}"
-		mc_new_mods=
-
-		#  Go through every module in the list
-		for mc_mod in ${mc_mod_list}; do
-			echo ${mc_n} ".${mc_c}" 1>&6
-
-			#  We have an info file, don't we?
-			if (test ! -f ${mc_mod_dir}/${mc_mod}/modinfo); then
-				continue
-			fi
-
-			#  Figure out the module's dependencies
-			mc_mod_depends=`grep "^DEPENDS:" ${mc_mod_dir}/${mc_mod}/modinfo | sed -e 's/^DEPENDS://'`
-
-			#  Check wether the dependencies are fulfilled
-			for mc_m_depend in ${mc_mod_depends}; do
-				if ((echo ${mc_sel_modules} | \
-					grep " ${mc_m_depend}" 1>&7 2>&7) || \
-				    (echo ${mc_sel_modules} | \
-					grep "^${mc_m_depend}" 1>&7 2>&7))
-				then
-					:
-				else
-					#  Does the module actually exist?
-					if test ! -d ${mc_mod_dir}/${mc_m_depend}.mod
-					then
-						mc_missing="${mc_missing} ${mc_m_depend}"
-						continue
-					fi
-
-					#  This one is missing. Add it to the
-					#  list.
-					mc_all_depends="${mc_all_depends} ${mc_m_depend}"
-					mc_sel_modules="${mc_sel_modules} ${mc_m_depend}"
-
-					#  Add to list of modules to check in
-					#  next dependency cycle.
-					mc_new_mods="${mc_new_mods} ${mc_m_depend}.mod"
-				fi
-			done
-		done
-	done
-	echo " done." 1>&6
-
-	#  Warn about missing modules.
-	if test "x${mc_missing}" != x; then
-		cat 1>&2 <<EOF
-${mc_pn}: warning:
-
-   The following modules were not found but are needed:
-
-      `echo ${mc_missing} | sed -e 's/ /, /g'`
-
-EOF
-		echo ${mc_n} "Press enter to continue... ${mc_c}"
-		read mc_ask_response
-	fi
-
-	if test "x${mc_all_depends}" != x; then
-		echo ${mc_n} "adding modules needed to match dependencies... ${mc_c}" 1>&6
-		echo ${mc_all_depends} | sed -e 's/ /, /g' 1>&6
-
-		#  Add the modules
-		${mc_self_call} -q add ${mc_all_depends}
-
-		#  Update the makefile
-		${mc_self_call} -q Makefile
-	fi
-;;
-xconfigure)
-#
-#  Interactive module selection
-#
-
-	cat 1>&6 <<EOF
-
-            -*-    Eggdrop Interactive Module Selection    -*-
-
-EOF
-
-	#  Check for selected modules
-	if test ! -r ${mc_fmodules}; then
-		echo "${mc_pn}: error: no modules selected. You did not run configure yet." 1>&2
-		exit 1
-	fi
-
-	#  Read current list
-	mc_sel_modules=`cat ${mc_fmodules}`
-
-	#  Detect available modules
-	mc_mods=`echo ${mc_mod_dir}/*.mod`
-
-	#  Error out if we have no available modules
-	if test "${mc_mods}" = "echo ${mc_mod_dir}/*.mod"; then
-		echo "${mc_pn}: error: no modules found." 1>&2
-		exit 1
-	fi
-
-	#  Loop through each available module
-	for mc_mod in ${mc_mods}; do
-		#  Remove directory information from name
-		mc_mod=`echo ${mc_mod} | sed -e 's/.*\///'`
-
-		#  Only ask for new modules?
-		if test "${mc_flag_onlynew}" = yes; then
-			#  Did we already query for that module?
-			if grep "^${mc_mod}$" ${mc_fknownmods} 1>&7 2>&7; then
-				continue
-			fi
-		fi
-
-		#  Remove .mod ending
-		mc_modname=`echo ${mc_mod} | sed -e 's/.mod//g'`
-
-		#  Note: We need to make sure that we only catch module names
-		#        that match _exactly_. e.g. don't mix bseen and seen.
-		if ((echo ${mc_sel_modules} | grep " ${mc_mod}" 1>&7 2>&7) ||
-		    (echo ${mc_sel_modules} | grep "^${mc_mod}" 1>&7 2>&7))
-		then
-			#  The module is selected.
-			mc_mstate="enabled"
-			mc_mdisp="(E)nable / (d)isable  [E/d]"
-		else
-			#  The module is NOT selected.
-			mc_mstate="disabled"
-			mc_mdisp="(e)nable / (D)isable  [e/D]"
-		fi
-
-		#  Display description
-		if test -r ${mc_mod_dir}/${mc_mod}/modinfo; then
-			echo "" 1>&6
-			grep "^DESC:" ${mc_mod_dir}/${mc_mod}/modinfo | \
-				sed -e 's/^DESC:/   /' 1>&6
-			echo "" 1>&6
-		fi
-
-		while true; do
-			echo ${mc_n} "\`${mc_modname}' is ${mc_mstate}, ${mc_mdisp} ${mc_c}" 1>&6
-			read mc_ask_response;
-
-			if (test "${mc_ask_response}" = D); then
-				mc_ask_response=d;
-			fi
-			if (test "${mc_ask_response}" = E); then
-				mc_ask_response=e;
-			fi
-
-			#  If the user just presses [return] or
-			#  if the selected state matches the old state,
-			#  then we change nothing.
-			if ((test "x${mc_ask_response}" = x) || \
-			    ((test "${mc_ask_response}" = d) && \
-			     (test "${mc_mstate}" = disabled)) || \
-			    ((test "${mc_ask_response}" = e) && \
-			     (test "${mc_mstate}" = enabled))); then
-				echo "Changing nothing." 1>&6
-				break;
-			fi
-			if (test "${mc_ask_response}" = e); then
-				#  Add it to the list.
-				mc_sel_modules="${mc_sel_modules} ${mc_mod}"
-				echo "Enabled module ${mc_modname}." 1>&6
-				break;
-			fi
-			if (test "${mc_ask_response}" = d); then
-				#  Remove module from list.
-				mc_sel_modules=`echo ${mc_sel_modules} | sed -e "s/ ${mc_mod}//g" -e "s/^${mc_mod}//g"`
-				echo "Disabled module ${mc_modname}." 1>&6
-				break;
-			fi
-		done
-		echo "" 1>&6
-	done
-
-	echo ${mc_n} "recreating list of active modules... ${mc_c}" 1>&6
-	${mc_self_call} -q clear
-	if (${mc_self_call} -q add ${mc_sel_modules}); then
-		echo "done." 1>&6
-	else
-		echo "failed!" 1>&6
-		exit 1
-	fi
-;;
-xeggautoconf)
-#
-#  Recreate the eggdrop specific configure scripts for every module.
-#
-
-	#  Detect available modules
-	mc_mods=`echo ${mc_mod_dir}/*.mod`
-
-	#  Error out if we have no available modules
-	if test "${mc_mods}" = "echo ${mc_mod_dir}/*.mod"; then
-		echo "${mc_pn}: error: no modules found." 1>&2
-		exit 1
-	fi
-
-	#  Loop through each available module
-	for mc_modd in ${mc_mods}; do
-		#  Skip modules without their own configure script.
-		if test ! -r "${mc_modd}/configure.in"; then
-			continue
-		fi
-
-		#  Remove directory information from name
-		mc_mod=`echo ${mc_modd} | sed -e 's/.*\///'`
-		echo "creating configure for module \`${mc_mod}'."
-		(cd ${mc_modd} && ../eggautoconf)
-	done
-;;
-*)
-	if test "x${mc_cmd}" = x; then
-		echo "${mc_pn}: error: no command supplied." 1>&2
-	else
-		echo "${mc_pn}: error: ${mc_cmd}: unknown command." 1>&2
-	fi
-	${mc_self_call} help
-;;
-esac
-
-exit 0
Index: eggdrop1.7/po/ChangeLog
diff -u eggdrop1.7/po/ChangeLog:1.3 eggdrop1.7/po/ChangeLog:1.4
--- eggdrop1.7/po/ChangeLog:1.3	Mon Aug 27 20:37:07 2001
+++ eggdrop1.7/po/ChangeLog	Tue Oct  9 20:20:09 2001
@@ -1,3 +1,7 @@
+2001-09-29  gettextize  <bug-gnu-utils at gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.10.40.
+
 2001-08-21  gettextize  <bug-gnu-utils at gnu.org>
 
 	* Makefile.in.in: Upgrade to gettext-0.10.39.
Index: eggdrop1.7/po/Makefile.in.in
diff -u /dev/null eggdrop1.7/po/Makefile.in.in:1.1
--- /dev/null	Tue Oct  9 20:20:26 2001
+++ eggdrop1.7/po/Makefile.in.in	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,196 @@
+# Makefile for program source directory in GNU NLS utilities package.
+# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper <drepper at gnu.ai.mit.edu>
+#
+# This file file be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+SHELL = /bin/sh
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
+localedir = $(datadir)/locale
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
+
+CC = @CC@
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+MSGMERGE = msgmerge
+
+DEFS = @DEFS@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+
+INCLUDES = -I.. -I$(top_srcdir)/intl
+
+COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
+$(POFILES) $(GMOFILES)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+.SUFFIXES:
+.SUFFIXES: .c .o .po .pox .gmo .mo
+
+.c.o:
+	$(COMPILE) $<
+
+.po.pox:
+	$(MAKE) $(PACKAGE).pot
+	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
+
+.po.mo:
+	$(MSGFMT) -o $@ $<
+
+.po.gmo:
+	file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
+	  && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
+
+
+all: all- at USE_NLS@
+
+all-yes: $(CATALOGS)
+all-no:
+
+# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in
+	$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
+	  --add-comments --keyword=_ --keyword=N_ \
+	  --files-from=$(srcdir)/POTFILES.in \
+	&& test ! -f $(PACKAGE).po \
+	   || ( rm -f $(srcdir)/$(PACKAGE).pot \
+		&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data- at USE_NLS@
+	if test "$(PACKAGE)" = "gettext"; then \
+	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
+			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
+	else \
+	  : ; \
+	fi
+install-data-no: all
+install-data-yes: all
+	$(mkinstalldirs) $(DESTDIR)$(datadir)
+	@catalogs='$(CATALOGS)'; \
+	for cat in $$catalogs; do \
+	  cat=`basename $$cat`; \
+	  lang=`echo $$cat | sed 's/\.gmo$$//'`; \
+	  dir=$(localedir)/$$lang/LC_MESSAGES; \
+	  $(mkinstalldirs) $(DESTDIR)$$dir; \
+	  if test -r $$cat; then \
+	    $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+	    echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \
+	  else \
+	    $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+	    echo "installing $(srcdir)/$$cat as" \
+		 "$(DESTDIR)$$dir/$(PACKAGE).mo"; \
+	  fi; \
+	done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall:
+	catalogs='$(CATALOGS)'; \
+	for cat in $$catalogs; do \
+	  cat=`basename $$cat`; \
+	  lang=`echo $$cat | sed 's/\.gmo$$//'`; \
+	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
+	done
+	if test "$(PACKAGE)" = "gettext"; then \
+	  rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
+	else \
+	  : ; \
+	fi
+
+check: all
+
+dvi info tags TAGS ID:
+
+mostlyclean:
+	rm -f core core.* *.pox $(PACKAGE).po *.new.po
+	rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+	rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+	rm -f $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+	$(MAKE) update-po
+	@$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: $(DISTFILES)
+	dists="$(DISTFILES)"; \
+	for file in $$dists; do \
+	  if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
+	  cp -p $$dir/$$file $(distdir); \
+	done
+
+update-po: Makefile
+	$(MAKE) $(PACKAGE).pot
+	if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
+	cd $(srcdir); \
+	catalogs='$(GMOFILES)'; \
+	for cat in $$catalogs; do \
+	  cat=`basename $$cat`; \
+	  lang=`echo $$cat | sed 's/\.gmo$$//'`; \
+	  echo "$$lang:"; \
+	  if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
+	    mv -f $$lang.new.po $$lang.po; \
+	  else \
+	    echo "msgmerge for $$cat failed!"; \
+	    rm -f $$lang.new.po; \
+	  fi; \
+	done
+	$(MAKE) update-gmo
+
+update-gmo: Makefile $(GMOFILES)
+	@:
+
+Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+	       $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: eggdrop1.7/po/eggdrop.pot
diff -u eggdrop1.7/po/eggdrop.pot:1.2 eggdrop1.7/po/eggdrop.pot:1.3
--- eggdrop1.7/po/eggdrop.pot:1.2	Mon Aug 27 20:41:14 2001
+++ eggdrop1.7/po/eggdrop.pot	Tue Oct  9 20:20:09 2001
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-08-28 03:40+0200\n"
+"POT-Creation-Date: 2001-10-09 02:13+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -15,7 +15,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #. Kill bot incase a botchk is run from crond.
-#: src/bg.c:125 src/bg.c:133 src/main.c:852 src/main.c:858
+#: src/bg.c:125 src/bg.c:133 src/main.c:853 src/main.c:859
 #, c-format
 msgid "* Warning!  Could not write %s file!\n"
 msgstr ""
@@ -44,7 +44,7 @@
 msgid "Note sent to"
 msgstr ""
 
-#: src/botcmd.c:295 src/botnet.c:1640 src/botnet.c:1647
+#: src/botcmd.c:295 src/botnet.c:1657 src/botnet.c:1664
 msgid "Disconnected from:"
 msgstr ""
 
@@ -77,7 +77,7 @@
 msgid "idle"
 msgstr ""
 
-#: src/botcmd.c:377 src/botcmd.c:413 src/botnet.c:532
+#: src/botcmd.c:377 src/botcmd.c:413 src/botnet.c:547
 msgid "AWAY"
 msgstr ""
 
@@ -202,7 +202,7 @@
 msgid "Filesys module not loaded."
 msgstr ""
 
-#: src/botcmd.c:1252 src/botcmd.c:1303 src/botcmd.c:1307 src/botmsg.c:639
+#: src/botcmd.c:1252 src/botcmd.c:1304 src/botcmd.c:1308 src/botmsg.c:639
 #: src/botmsg.c:672
 msgid "has left the"
 msgstr ""
@@ -211,23 +211,23 @@
 msgid "has joined the"
 msgstr ""
 
-#: src/botcmd.c:1357 src/botmsg.c:596
+#: src/botcmd.c:1358 src/botmsg.c:596
 msgid "is now away"
 msgstr ""
 
-#: src/botcmd.c:1361 src/botmsg.c:603 src/botmsg.c:610
+#: src/botcmd.c:1362 src/botmsg.c:603 src/botmsg.c:610
 msgid "is no longer away"
 msgstr ""
 
-#: src/botcmd.c:1405
+#: src/botcmd.c:1406
 msgid "User file rejected by"
 msgstr ""
 
-#: src/botcmd.c:1413
+#: src/botcmd.c:1414
 msgid "Old style share request by"
 msgstr ""
 
-#: src/botcmd.c:1414
+#: src/botcmd.c:1415
 msgid "Antiquated sharing request"
 msgstr ""
 
@@ -258,230 +258,230 @@
 msgid "Note arrived for you"
 msgstr ""
 
-#: src/botnet.c:433
+#: src/botnet.c:448
 msgid "Users across the botnet"
 msgstr ""
 
-#: src/botnet.c:433
+#: src/botnet.c:448
 msgid "Party line"
 msgstr ""
 
-#: src/botnet.c:434
+#: src/botnet.c:449
 msgid "Local channel"
 msgstr ""
 
-#: src/botnet.c:438 src/botnet.c:441
+#: src/botnet.c:453 src/botnet.c:456
 msgid "Users on channel"
 msgstr ""
 
-#: src/botnet.c:547 src/botnet.c:582
+#: src/botnet.c:562 src/botnet.c:597
 msgid "No bots linked."
 msgstr ""
 
-#: src/botnet.c:568
+#: src/botnet.c:583
 msgid "total"
 msgstr ""
 
-#: src/botnet.c:598
+#: src/botnet.c:613
 msgid "No trace info for:"
 msgstr ""
 
-#: src/botnet.c:611
+#: src/botnet.c:626
 msgid "Tree too complex!"
 msgstr ""
 
-#: src/botnet.c:878
+#: src/botnet.c:893
 msgid "Unlinking all bots..."
 msgstr ""
 
-#: src/botnet.c:883 src/botnet.c:886
+#: src/botnet.c:898 src/botnet.c:901
 msgid "Killed link attempt to"
 msgstr ""
 
-#: src/botnet.c:894
+#: src/botnet.c:909
 msgid "No longer trying to link:"
 msgstr ""
 
-#: src/botnet.c:907
+#: src/botnet.c:922
 msgid "Breaking link with"
 msgstr ""
 
-#: src/botnet.c:915 src/botnet.c:921
+#: src/botnet.c:930 src/botnet.c:936
 msgid "Unlinked from:"
 msgstr ""
 
-#: src/botnet.c:935
+#: src/botnet.c:950
 msgid "Not connected to that bot."
 msgstr ""
 
-#: src/botnet.c:958
+#: src/botnet.c:973
 msgid "Smooshing bot tables and assocs..."
 msgstr ""
 
-#: src/botnet.c:988
+#: src/botnet.c:1004
 #, c-format
 msgid "%s is not a known bot.\n"
 msgstr ""
 
-#: src/botnet.c:991
+#: src/botnet.c:1007
 msgid "Link to myself?  Oh boy, Freud would have a field day.\n"
 msgstr ""
 
-#: src/botnet.c:994
+#: src/botnet.c:1010
 msgid "That bot is already connected up.\n"
 msgstr ""
 
-#: src/botnet.c:1001
+#: src/botnet.c:1017
 msgid "Already linking to that bot.\n"
 msgstr ""
 
-#: src/botnet.c:1008 src/botnet.c:1135
+#: src/botnet.c:1024 src/botnet.c:1151
 #, c-format
 msgid "Invalid telnet address:port stored for '%s'.\n"
 msgstr ""
 
-#: src/botnet.c:1009 src/botnet.c:1136
+#: src/botnet.c:1025 src/botnet.c:1152
 #, c-format
 msgid "Use: .chaddr %s <address>:<port#>[/<relay-port#>]\n"
 msgstr ""
 
-#: src/botnet.c:1014 src/botnet.c:1143
+#: src/botnet.c:1030 src/botnet.c:1159
 msgid "Sorry, too many DCC connections.\n"
 msgstr ""
 
-#: src/botnet.c:1019
+#: src/botnet.c:1035
 #, c-format
 msgid "Linking to %s at %s:%d ..."
 msgstr ""
 
-#: src/botnet.c:1047 src/dcc.c:223
+#: src/botnet.c:1063 src/dcc.c:223
 #, c-format
 msgid "Failed link to %s."
 msgstr ""
 
-#: src/botnet.c:1081 src/botnet.c:1333
+#: src/botnet.c:1097 src/botnet.c:1349
 msgid "Cant find user for relay!"
 msgstr ""
 
-#: src/botnet.c:1090
+#: src/botnet.c:1106
 msgid "Could not link to"
 msgstr ""
 
-#: src/botnet.c:1125
+#: src/botnet.c:1141
 msgid "is not a known bot."
 msgstr ""
 
-#: src/botnet.c:1129
+#: src/botnet.c:1145
 msgid "Relay to myself?  What on EARTH would be the point?!"
 msgstr ""
 
-#: src/botnet.c:1150
+#: src/botnet.c:1166
 msgid "No free sockets available.\n"
 msgstr ""
 
-#: src/botnet.c:1161
+#: src/botnet.c:1177
 msgid "(Type *BYE* on a line by itself to abort.)\n"
 msgstr ""
 
-#: src/botnet.c:1191 src/botnet.c:1252 src/botnet.c:1298
+#: src/botnet.c:1207 src/botnet.c:1268 src/botnet.c:1314
 #, c-format
 msgid "Cant find user for relay!  %d -> %d"
 msgstr ""
 
-#: src/botnet.c:1198
+#: src/botnet.c:1214
 #, c-format
 msgid "Could not link to %s.\n"
 msgstr ""
 
-#: src/botnet.c:1262
+#: src/botnet.c:1278
 #, c-format
 msgid "Aborting relay attempt to %s.\n"
 msgstr ""
 
-#: src/botnet.c:1263
+#: src/botnet.c:1279
 #, c-format
 msgid ""
 "You are now back on %s.\n"
 "\n"
 msgstr ""
 
-#: src/botnet.c:1264
+#: src/botnet.c:1280
 #, c-format
 msgid "Relay aborted: %s -> %s"
 msgstr ""
 
-#: src/botnet.c:1304
+#: src/botnet.c:1320
 #, c-format
 msgid "Lost dcc connection to [%s]%s/%d"
 msgstr ""
 
-#: src/botnet.c:1306
+#: src/botnet.c:1322
 #, c-format
 msgid "(Dropping relay attempt to %s)"
 msgstr ""
 
-#: src/botnet.c:1342
+#: src/botnet.c:1358
 msgid ""
 "Success!\n"
 "\n"
 "NOW CONNECTED TO RELAY BOT"
 msgstr ""
 
-#: src/botnet.c:1343
+#: src/botnet.c:1359
 msgid "(You can type *BYE* to prematurely close the connection.)"
 msgstr ""
 
-#: src/botnet.c:1344
+#: src/botnet.c:1360
 msgid "Relay link:"
 msgstr ""
 
-#: src/botnet.c:1351
+#: src/botnet.c:1367
 msgid "left the party line."
 msgstr ""
 
-#: src/botnet.c:1379
+#: src/botnet.c:1395
 msgid "Ended relay link"
 msgstr ""
 
-#: src/botnet.c:1381
+#: src/botnet.c:1397
 msgid ""
 "RELAY CONNECTION DROPPED.\n"
 "You are now back on"
 msgstr ""
 
-#: src/botnet.c:1388
+#: src/botnet.c:1404
 msgid "rejoined the party line."
 msgstr ""
 
-#: src/botnet.c:1403
+#: src/botnet.c:1419
 msgid "Lost dcc connection to"
 msgstr ""
 
-#: src/botnet.c:1408
+#: src/botnet.c:1424
 msgid "Dropping relay link to"
 msgstr ""
 
-#: src/botnet.c:1473
+#: src/botnet.c:1489
 msgid "Breaking connection to"
 msgstr ""
 
-#: src/botnet.c:1474
+#: src/botnet.c:1490
 msgid "You are now back on"
 msgstr ""
 
-#: src/botnet.c:1475
+#: src/botnet.c:1491
 msgid "Relay broken"
 msgstr ""
 
-#: src/botnet.c:1613 src/botnet.c:1617
+#: src/botnet.c:1630 src/botnet.c:1634
 msgid "Ping timeout"
 msgstr ""
 
-#: src/botnet.c:1641 src/botnet.c:1642 src/botnet.c:1647
+#: src/botnet.c:1658 src/botnet.c:1659 src/botnet.c:1664
 msgid "unleaflike behavior"
 msgstr ""
 
-#: src/botnet.c:1674
+#: src/botnet.c:1691
 msgid "Dropped bot"
 msgstr ""
 
@@ -607,7 +607,7 @@
 msgid "Rehashing."
 msgstr ""
 
-#: src/cmds.c:1083 src/mod/irc.mod/msgcmds.c:901 src/tcldcc.c:1015
+#: src/cmds.c:1083 src/mod/irc.mod/msgcmds.c:903 src/tcldcc.c:1014
 msgid "Rehashing..."
 msgstr ""
 
@@ -632,7 +632,7 @@
 msgstr ""
 
 #: src/cmds.c:2219 src/cmds.c:2238 src/cmds.c:2271 src/cmds.c:2293
-#: src/mod/server.mod/cmdsserv.c:53 src/tclhash.c:1074
+#: src/mod/server.mod/cmdsserv.c:53
 msgid "What?  You need .help\n"
 msgstr ""
 
@@ -647,7 +647,7 @@
 #: src/mod/irc.mod/msgcmds.c:733 src/mod/notes.mod/cmdsnote.c:31
 #: src/mod/notes.mod/cmdsnote.c:73 src/mod/notes.mod/cmdsnote.c:153
 #: src/mod/notes.mod/cmdsnote.c:187 src/mod/notes.mod/cmdsnote.c:221
-#: src/mod/notes.mod/notes.c:735 src/mod/notes.mod/notes.c:771
+#: src/mod/notes.mod/notes.c:737 src/mod/notes.mod/notes.c:773
 msgid "Usage"
 msgstr ""
 
@@ -655,7 +655,7 @@
 msgid "Error loading module:"
 msgstr ""
 
-#: src/cmds.c:2282 src/modules.c:725
+#: src/cmds.c:2282 src/modules.c:661
 #, c-format
 msgid "Module loaded: %-16s"
 msgstr ""
@@ -664,7 +664,7 @@
 msgid "Error unloading module:"
 msgstr ""
 
-#: src/cmds.c:2304 src/modules.c:769
+#: src/cmds.c:2304 src/modules.c:698
 msgid "Module unloaded:"
 msgstr ""
 
@@ -723,6 +723,15 @@
 msgid "You are %s@%s\n"
 msgstr ""
 
+#: src/cmds.c:2727
+msgid "*** Ja mata!\n"
+msgstr ""
+
+#: src/cmds.c:2729
+#, c-format
+msgid "DCC connection closed (%s!%s)"
+msgstr ""
+
 #: src/dcc.c:128
 #, c-format
 msgid "Rejecting link from %s"
@@ -774,7 +783,7 @@
 msgid "Negative on that, Houston.\n"
 msgstr ""
 
-#: src/dcc.c:608 src/dcc.c:1772
+#: src/dcc.c:608 src/dcc.c:1732
 #, c-format
 msgid "*** %s has joined the party line.\n"
 msgstr ""
@@ -789,101 +798,96 @@
 msgid "Password timeout on dcc chat: [%s]%s"
 msgstr ""
 
-#: src/dcc.c:923
-#, c-format
-msgid "DCC connection closed (%s!%s)"
-msgstr ""
-
-#: src/dcc.c:1073
+#: src/dcc.c:1033
 #, c-format
 msgid "Telnet connection flood from %s!  Placing on ignore!"
 msgstr ""
 
-#: src/dcc.c:1100
+#: src/dcc.c:1060
 #, c-format
 msgid "Failed TELNET incoming (%s)"
 msgstr ""
 
-#: src/dcc.c:1116
+#: src/dcc.c:1076
 #, c-format
 msgid "Refused %s/%d (bad src port)"
 msgstr ""
 
-#: src/dcc.c:1125
+#: src/dcc.c:1085
 #, c-format
 msgid "Refused %s/%d (invalid ip)"
 msgstr ""
 
-#: src/dcc.c:1170
+#: src/dcc.c:1130
 #, c-format
 msgid "Refused %s (bad hostname)"
 msgstr ""
 
-#: src/dcc.c:1187
+#: src/dcc.c:1147
 #, c-format
 msgid "Telnet connection: %s/%d"
 msgstr ""
 
-#: src/dcc.c:1202
+#: src/dcc.c:1162
 #, c-format
 msgid "Ident failed for %s: %s"
 msgstr ""
 
-#: src/dcc.c:1219
+#: src/dcc.c:1179
 #, c-format
 msgid "(!) Listening port %d abruptly died."
 msgstr ""
 
-#: src/dcc.c:1247
+#: src/dcc.c:1207
 #, c-format
 msgid "Lost telnet connection from %s while checking for duplicate"
 msgstr ""
 
-#: src/dcc.c:1269
+#: src/dcc.c:1229
 #, c-format
 msgid "Refused telnet connection from %s (duplicate)"
 msgstr ""
 
-#: src/dcc.c:1345
+#: src/dcc.c:1305
 #, c-format
 msgid "Refused %s (bad nick)"
 msgstr ""
 
-#: src/dcc.c:1355
+#: src/dcc.c:1315
 #, c-format
 msgid "Refused %s (non-bot)"
 msgstr ""
 
-#: src/dcc.c:1362
+#: src/dcc.c:1322
 #, c-format
 msgid "Refused %s (non-user)"
 msgstr ""
 
-#: src/dcc.c:1373
+#: src/dcc.c:1333
 #, c-format
 msgid ""
 "This is the telnet interface to %s, an eggdrop bot.\n"
 "Dont abuse it, and it will be open for all your friends, too.\n"
 msgstr ""
 
-#: src/dcc.c:1374
+#: src/dcc.c:1334
 msgid ""
 "You now get to pick a nick to use on the bot,\n"
 "and a password so nobody else can pretend to be you.\n"
 "Please remember both!"
 msgstr ""
 
-#: src/dcc.c:1392
+#: src/dcc.c:1352
 #, c-format
 msgid "Refused %s (invalid handle: %s)"
 msgstr ""
 
-#: src/dcc.c:1402
+#: src/dcc.c:1362
 #, c-format
 msgid "Refused telnet connection from %s (tried using my botnetnick)"
 msgstr ""
 
-#: src/dcc.c:1446
+#: src/dcc.c:1406
 #, c-format
 msgid "Refused [%s]%s (no password)"
 msgstr ""
@@ -896,92 +900,92 @@
 #. *       <Cybah>
 #.
 #. Turn off remote telnet echo (send IAC WILL ECHO).
-#: src/dcc.c:1505 src/mod/filesys.mod/filesys.c:879
-#: src/mod/server.mod/server.c:1500
+#: src/dcc.c:1465 src/mod/filesys.mod/filesys.c:881
+#: src/mod/server.mod/server.c:1505
 msgid "Enter your password."
 msgstr ""
 
-#: src/dcc.c:1511
+#: src/dcc.c:1471
 #, c-format
 msgid "Lost telnet connection to %s/%d"
 msgstr ""
 
-#: src/dcc.c:1520
+#: src/dcc.c:1480
 #, c-format
 msgid "Ident timeout on telnet: %s"
 msgstr ""
 
-#: src/dcc.c:1599
+#: src/dcc.c:1559
 msgid ""
 "From now on, you dont need to use the -m option to start the bot.\n"
 "Enjoy !!"
 msgstr ""
 
-#: src/dcc.c:1600 src/mod/irc.mod/msgcmds.c:94
+#: src/dcc.c:1560 src/mod/irc.mod/msgcmds.c:94
 #, c-format
 msgid "Bot installation complete, first master is %s"
 msgstr ""
 
-#: src/dcc.c:1631
+#: src/dcc.c:1591
 #, c-format
 msgid "New user via telnet: [%s]%s/%d"
 msgstr ""
 
-#: src/dcc.c:1658
+#: src/dcc.c:1618
 #, c-format
 msgid "Lost new telnet user (%s/%d)"
 msgstr ""
 
-#: src/dcc.c:1665
+#: src/dcc.c:1625
 #, c-format
 msgid "Lost new telnet user %s (%s/%d)"
 msgstr ""
 
-#: src/dcc.c:1675
+#: src/dcc.c:1635
 #, c-format
 msgid "Timeout on new telnet user: %s/%d"
 msgstr ""
 
-#: src/dcc.c:1684
+#: src/dcc.c:1644
 #, c-format
 msgid "Timeout on new telnet user: [%s]%s/%d"
 msgstr ""
 
-#: src/dcc.c:1736 src/dns.c:254
+#: src/dcc.c:1696 src/dns.c:254
 #, c-format
 msgid "Tcl error [%s]: %s"
 msgstr ""
 
-#: src/dcc.c:1805
+#: src/dcc.c:1765
 #, c-format
 msgid "*** ATTENTION: DEAD SOCKET (%d) OF TYPE %s UNTRAPPED"
 msgstr ""
 
-#: src/dcc.c:1917
+#: src/dcc.c:1877
 #, c-format
 msgid "Lost connection while identing [%s/%d]"
 msgstr ""
 
-#: src/dcc.c:1982
+#: src/dcc.c:1942
 msgid "Timeout/EOF ident connection"
 msgstr ""
 
-#: src/dcc.c:2021
+#: src/dcc.c:1981
 msgid "Lost ident wait telnet socket!!"
 msgstr ""
 
-#: src/dcc.c:2045
+#: src/dcc.c:2005
 #, c-format
 msgid "Denied telnet: %s, No Access"
 msgstr ""
 
-#: src/dcc.c:2090
+#: src/dcc.c:2050
 msgid ""
 "\n"
 "Nickname.\n"
 msgstr ""
 
-#: src/dcc.c:2093
+#: src/dcc.c:2053
 msgid ""
 "%B  (%E)\n"
 "\n"
@@ -998,7 +1002,7 @@
 msgid "%s has been forcibly removed for flooding.\n"
 msgstr ""
 
-#: src/dccutil.c:527 src/mod/filesys.mod/filesys.c:936
+#: src/dccutil.c:527 src/mod/filesys.mod/filesys.c:938
 msgid "-=- poof -=-\n"
 msgstr ""
 
@@ -1032,29 +1036,29 @@
 msgid "Switching logfiles..."
 msgstr ""
 
-#: src/main.c:787
+#: src/main.c:788
 msgid "ERROR: Eggdrop will not run as root!"
 msgstr ""
 
-#: src/main.c:806
+#: src/main.c:807
 msgid ""
 "You have installed modules but have not selected an encryption\n"
 "module, please consult the default config file for info.\n"
 msgstr ""
 
-#: src/main.c:828
+#: src/main.c:829
 #, c-format
 msgid "I detect %s already running from this directory.\n"
 msgstr ""
 
-#: src/main.c:829
+#: src/main.c:830
 #, c-format
 msgid "If this is incorrect, erase the %s\n"
 msgstr ""
 
 #. Should be only 2 modules now - blowfish (or some other
 #. encryption module) and eggdrop.
-#: src/main.c:1065
+#: src/main.c:1066
 msgid "Stagnant module; there WILL be memory leaks!"
 msgstr ""
 
@@ -1077,79 +1081,79 @@
 msgid "No help available on that.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:183
+#: src/mod/assoc.mod/assoc.c:185
 msgid "No channel names\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:186
+#: src/mod/assoc.mod/assoc.c:188
 msgid " Chan  Name\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:202
+#: src/mod/assoc.mod/assoc.c:204
 msgid "What?  You need '.help'\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:208
+#: src/mod/assoc.mod/assoc.c:210
 msgid "Channel # out of range: must be *0-*99999\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:214
+#: src/mod/assoc.mod/assoc.c:216
 msgid "You cant name the main party line; its just a party line.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:217
+#: src/mod/assoc.mod/assoc.c:219
 msgid "Channel # out of range: must be 1-99999\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:224
+#: src/mod/assoc.mod/assoc.c:226
 #, c-format
 msgid "Channel %s%d has no name.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:230
+#: src/mod/assoc.mod/assoc.c:232
 #, c-format
 msgid "Okay, removed name for channel %s%d.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:232
+#: src/mod/assoc.mod/assoc.c:234
 #, c-format
 msgid "--- %s removed this channels name.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:238
+#: src/mod/assoc.mod/assoc.c:240
 msgid "Channels name cant be that long (20 chars max).\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:242
+#: src/mod/assoc.mod/assoc.c:244
 msgid "First character of the channel name cant be a digit.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:247
+#: src/mod/assoc.mod/assoc.c:249
 #, c-format
 msgid "Okay, channel %s%d is %s now.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:249
+#: src/mod/assoc.mod/assoc.c:251
 #, c-format
 msgid "--- %s named this channel %s\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:329
+#: src/mod/assoc.mod/assoc.c:331
 #, c-format
 msgid "--- (%s) named this channel %s.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:332
+#: src/mod/assoc.mod/assoc.c:334
 #, c-format
 msgid "--- (%s) %s removed this channels name.\n"
 msgstr ""
 
-#: src/mod/assoc.mod/assoc.c:337
+#: src/mod/assoc.mod/assoc.c:339
 #, c-format
 msgid "--- (%s) %s named this channel '%s'.\n"
 msgstr ""
 
-#: src/mod/channels.mod/channels.c:564
+#: src/mod/channels.mod/channels.c:566
 msgid "lurking"
 msgstr ""
 
@@ -1287,43 +1291,43 @@
 msgid "No longer inviteing"
 msgstr ""
 
-#: src/mod/console.mod/console.c:201
+#: src/mod/console.mod/console.c:203
 msgid "Saved Console Settings:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:202 src/mod/console.mod/console.c:314
+#: src/mod/console.mod/console.c:204 src/mod/console.mod/console.c:316
 msgid "Channel:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:203 src/mod/console.mod/console.c:315
+#: src/mod/console.mod/console.c:205 src/mod/console.mod/console.c:317
 msgid "Console flags:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:204 src/mod/console.mod/console.c:316
+#: src/mod/console.mod/console.c:206 src/mod/console.mod/console.c:318
 msgid "Strip flags:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:205 src/mod/console.mod/console.c:317
+#: src/mod/console.mod/console.c:207 src/mod/console.mod/console.c:319
 msgid "Echo:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:206 src/mod/console.mod/console.c:318
+#: src/mod/console.mod/console.c:208 src/mod/console.mod/console.c:320
 msgid "yes"
 msgstr ""
 
-#: src/mod/console.mod/console.c:206 src/mod/console.mod/console.c:318
+#: src/mod/console.mod/console.c:208 src/mod/console.mod/console.c:320
 msgid "no"
 msgstr ""
 
-#: src/mod/console.mod/console.c:207 src/mod/console.mod/console.c:319
+#: src/mod/console.mod/console.c:209 src/mod/console.mod/console.c:321
 msgid "Page setting:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:208 src/mod/console.mod/console.c:320
+#: src/mod/console.mod/console.c:210 src/mod/console.mod/console.c:322
 msgid "Console channel:"
 msgstr ""
 
-#: src/mod/console.mod/console.c:313
+#: src/mod/console.mod/console.c:315
 msgid "Saved your Console Settings:"
 msgstr ""
 
@@ -1492,7 +1496,7 @@
 msgstr ""
 
 #: src/mod/filesys.mod/files.c:923 src/mod/filesys.mod/files.c:935
-#: src/mod/notes.mod/notes.c:653 src/mod/notes.mod/notes.c:656
+#: src/mod/notes.mod/notes.c:655 src/mod/notes.mod/notes.c:658
 msgid "Erased"
 msgstr ""
 
@@ -1547,48 +1551,48 @@
 msgid "Moved"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:652 src/mod/filesys.mod/filesys.c:852
-#: src/mod/server.mod/server.c:1439 src/mod/server.mod/server.c:1483
-#: src/mod/transfer.mod/transfer.c:723
+#: src/mod/filesys.mod/filesys.c:654 src/mod/filesys.mod/filesys.c:854
+#: src/mod/server.mod/server.c:1444 src/mod/server.mod/server.c:1488
+#: src/mod/transfer.mod/transfer.c:724
 msgid "Failed to connect"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:831 src/mod/server.mod/server.c:1424
+#: src/mod/filesys.mod/filesys.c:833 src/mod/server.mod/server.c:1429
 #, c-format
 msgid "DCC connections full: %s %s (%s!%s)"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:836 src/mod/server.mod/server.c:1429
+#: src/mod/filesys.mod/filesys.c:838 src/mod/server.mod/server.c:1434
 msgid "No access"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:837 src/mod/server.mod/server.c:1430
-#: src/mod/server.mod/servmsg.c:493
+#: src/mod/filesys.mod/filesys.c:839 src/mod/server.mod/server.c:1435
+#: src/mod/server.mod/servmsg.c:447
 msgid "Refused DCC chat (no access)"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:840 src/mod/server.mod/server.c:1433
+#: src/mod/filesys.mod/filesys.c:842 src/mod/server.mod/server.c:1438
 msgid "You must have a password set."
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:841 src/mod/server.mod/server.c:1434
+#: src/mod/filesys.mod/filesys.c:843 src/mod/server.mod/server.c:1439
 msgid "Refused DCC chat (no password)"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:843
+#: src/mod/filesys.mod/filesys.c:845
 msgid "Refused DCC chat (+x but no file area)"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:853 src/mod/server.mod/server.c:1484
-#: src/mod/transfer.mod/transfer.c:724
+#: src/mod/filesys.mod/filesys.c:855 src/mod/server.mod/server.c:1489
+#: src/mod/transfer.mod/transfer.c:725
 msgid "DCC connection failed"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:861
+#: src/mod/filesys.mod/filesys.c:863
 msgid "Failed to connect (invalid port)\n"
 msgstr ""
 
-#: src/mod/filesys.mod/filesys.c:862
+#: src/mod/filesys.mod/filesys.c:864
 msgid "Refused DCC chat (invalid port)"
 msgstr ""
 
@@ -1678,14 +1682,14 @@
 msgid "...and dont come back."
 msgstr ""
 
-#: src/mod/irc.mod/chan.c:1937 src/mod/server.mod/servmsg.c:723
-#: src/mod/server.mod/servmsg.c:871 src/mod/server.mod/servmsg.c:883
+#: src/mod/irc.mod/chan.c:1937 src/mod/server.mod/servmsg.c:676
+#: src/mod/server.mod/servmsg.c:824 src/mod/server.mod/servmsg.c:836
 #, c-format
 msgid "Switching back to nick %s"
 msgstr ""
 
-#: src/mod/irc.mod/chan.c:1941 src/mod/server.mod/servmsg.c:726
-#: src/mod/server.mod/servmsg.c:875 src/mod/server.mod/servmsg.c:887
+#: src/mod/irc.mod/chan.c:1941 src/mod/server.mod/servmsg.c:679
+#: src/mod/server.mod/servmsg.c:828 src/mod/server.mod/servmsg.c:840
 #, c-format
 msgid "Switching back to altnick %s"
 msgstr ""
@@ -1736,31 +1740,35 @@
 msgstr ""
 
 #: src/mod/irc.mod/cmdsirc.c:948 src/mod/irc.mod/msgcmds.c:310
-#: src/mod/irc.mod/msgcmds.c:399 src/mod/irc.mod/msgcmds.c:949
+#: src/mod/irc.mod/msgcmds.c:399 src/mod/irc.mod/msgcmds.c:951
 msgid "I dont monitor that channel."
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:146
+#: src/mod/irc.mod/irc.c:152
 msgid "dont kick my friends, bud"
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:151
+#: src/mod/irc.mod/irc.c:157
 msgid "dont deop my friends, bud"
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:934
+#: src/mod/irc.mod/irc.c:830
 msgid "juped"
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:936
+#: src/mod/irc.mod/irc.c:832
 msgid "trying"
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:938
+#: src/mod/irc.mod/irc.c:834
 msgid "pending"
 msgstr ""
 
-#: src/mod/irc.mod/irc.c:940
+#: src/mod/irc.mod/irc.c:836
+msgid "opless"
+msgstr ""
+
+#: src/mod/irc.mod/irc.c:838
 msgid "want ops!"
 msgstr ""
 
@@ -1886,9 +1894,9 @@
 
 #: src/mod/irc.mod/msgcmds.c:139 src/mod/irc.mod/msgcmds.c:202
 #: src/mod/irc.mod/msgcmds.c:265 src/mod/irc.mod/msgcmds.c:305
-#: src/mod/irc.mod/msgcmds.c:787 src/mod/irc.mod/msgcmds.c:848
-#: src/mod/irc.mod/msgcmds.c:872 src/mod/irc.mod/msgcmds.c:943
-#: src/mod/irc.mod/msgcmds.c:1033
+#: src/mod/irc.mod/msgcmds.c:787 src/mod/irc.mod/msgcmds.c:850
+#: src/mod/irc.mod/msgcmds.c:874 src/mod/irc.mod/msgcmds.c:945
+#: src/mod/irc.mod/msgcmds.c:976
 msgid "You dont have a password set."
 msgstr ""
 
@@ -2013,15 +2021,15 @@
 msgid "Not on that channel right now."
 msgstr ""
 
-#: src/mod/irc.mod/msgcmds.c:876
+#: src/mod/irc.mod/msgcmds.c:878
 msgid "Bot shut down beginning...."
 msgstr ""
 
-#: src/mod/irc.mod/msgcmds.c:953 src/mod/irc.mod/msgcmds.c:958
+#: src/mod/irc.mod/msgcmds.c:955 src/mod/irc.mod/msgcmds.c:960
 msgid "Resetting channel info."
 msgstr ""
 
-#: src/mod/irc.mod/msgcmds.c:1050 src/mod/server.mod/cmdsserv.c:81
+#: src/mod/irc.mod/msgcmds.c:993 src/mod/server.mod/cmdsserv.c:81
 msgid "Jumping servers..."
 msgstr ""
 
@@ -2084,7 +2092,7 @@
 msgid "Changed notes forwarding for %s to: %s\n"
 msgstr ""
 
-#: src/mod/notes.mod/cmdsnote.c:190 src/mod/notes.mod/notes.c:739
+#: src/mod/notes.mod/cmdsnote.c:190 src/mod/notes.mod/notes.c:741
 msgid "# may be numbers and/or intervals separated by ;"
 msgstr ""
 
@@ -2092,153 +2100,153 @@
 msgid "Function must be one of INDEX, READ, or ERASE."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:72
+#: src/mod/notes.mod/notes.c:74
 #, c-format
 msgid "  Forward notes to: %.70s\n"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:151
+#: src/mod/notes.mod/notes.c:153
 #, c-format
 msgid "Switched %d note%s from %s to %s."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:203
+#: src/mod/notes.mod/notes.c:205
 #, c-format
 msgid "Expired %d note%s"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:277
+#: src/mod/notes.mod/notes.c:279
 #, c-format
 msgid "Not online; forwarded to %s.\n"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:289 src/mod/notes.mod/notes.c:801
+#: src/mod/notes.mod/notes.c:291 src/mod/notes.mod/notes.c:803
 msgid "Notes are not supported by this bot."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:292
+#: src/mod/notes.mod/notes.c:294
 msgid "Sorry, that user has too many notes already."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:299 src/mod/notes.mod/notes.c:808
+#: src/mod/notes.mod/notes.c:301 src/mod/notes.mod/notes.c:810
 msgid "Cant create notefile.  Sorry."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:300 src/mod/notes.mod/notes.c:809
+#: src/mod/notes.mod/notes.c:302 src/mod/notes.mod/notes.c:811
 msgid "Notefile unreachable!"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:317
+#: src/mod/notes.mod/notes.c:319
 msgid "Stored message"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:478 src/mod/notes.mod/notes.c:480
-#: src/mod/notes.mod/notes.c:486 src/mod/notes.mod/notes.c:488
-#: src/mod/notes.mod/notes.c:550 src/mod/notes.mod/notes.c:552
-#: src/mod/notes.mod/notes.c:561 src/mod/notes.mod/notes.c:563
-#: src/mod/notes.mod/notes.c:584 src/mod/notes.mod/notes.c:586
-#: src/mod/notes.mod/notes.c:592 src/mod/notes.mod/notes.c:594
-#: src/mod/notes.mod/notes.c:642 src/mod/notes.mod/notes.c:644
+#: src/mod/notes.mod/notes.c:480 src/mod/notes.mod/notes.c:482
+#: src/mod/notes.mod/notes.c:488 src/mod/notes.mod/notes.c:490
+#: src/mod/notes.mod/notes.c:552 src/mod/notes.mod/notes.c:554
+#: src/mod/notes.mod/notes.c:563 src/mod/notes.mod/notes.c:565
+#: src/mod/notes.mod/notes.c:586 src/mod/notes.mod/notes.c:588
+#: src/mod/notes.mod/notes.c:594 src/mod/notes.mod/notes.c:596
+#: src/mod/notes.mod/notes.c:644 src/mod/notes.mod/notes.c:646
 msgid "You have no messages"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:513
+#: src/mod/notes.mod/notes.c:515
 msgid " -- EXPIRES TODAY"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:515
+#: src/mod/notes.mod/notes.c:517
 #, c-format
 msgid " -- EXPIRES IN %d DAY%s"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:521
+#: src/mod/notes.mod/notes.c:523
 msgid "You have the following notes waiting"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:543 src/mod/notes.mod/notes.c:545
-#: src/mod/notes.mod/notes.c:637 src/mod/notes.mod/notes.c:639
+#: src/mod/notes.mod/notes.c:545 src/mod/notes.mod/notes.c:547
+#: src/mod/notes.mod/notes.c:639 src/mod/notes.mod/notes.c:641
 msgid "You dont have that many messages"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:555 src/mod/notes.mod/notes.c:819
+#: src/mod/notes.mod/notes.c:557 src/mod/notes.mod/notes.c:821
 msgid "Use .notes read to read them."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:601 src/mod/notes.mod/notes.c:603
+#: src/mod/notes.mod/notes.c:603 src/mod/notes.mod/notes.c:605
 msgid "Cant modify the note file"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:648 src/mod/notes.mod/notes.c:650
+#: src/mod/notes.mod/notes.c:650 src/mod/notes.mod/notes.c:652
 msgid "Erased all notes"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:654 src/mod/notes.mod/notes.c:657
+#: src/mod/notes.mod/notes.c:656 src/mod/notes.mod/notes.c:659
 msgid "left"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:776
+#: src/mod/notes.mod/notes.c:778
 msgid "I don't know anyone by that name.\n"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:779
+#: src/mod/notes.mod/notes.c:781
 msgid "Thats a bot.  You cant leave notes for a bot."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:794
+#: src/mod/notes.mod/notes.c:796
 msgid "Outside note"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:795 src/mod/notes.mod/notes.c:815
+#: src/mod/notes.mod/notes.c:797 src/mod/notes.mod/notes.c:817
 msgid "Note delivered."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:852 src/mod/notes.mod/notes.c:909
+#: src/mod/notes.mod/notes.c:854 src/mod/notes.mod/notes.c:911
 msgid "For a list:"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:860
+#: src/mod/notes.mod/notes.c:862
 #, c-format
 msgid "### You have %d note%s waiting.\n"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:861
+#: src/mod/notes.mod/notes.c:863
 msgid "### Use '.notes read' to read them.\n"
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:874
+#: src/mod/notes.mod/notes.c:876
 msgid "Notes will be stored."
 msgstr ""
 
-#: src/mod/notes.mod/notes.c:906
+#: src/mod/notes.mod/notes.c:908
 #, c-format
 msgid "NOTICE %s :You have %d note%s waiting on %s.\n"
 msgstr ""
 
-#: src/mod/server.mod/server.c:1423
+#: src/mod/server.mod/server.c:1428
 msgid "Sorry, too many DCC connections."
 msgstr ""
 
-#: src/mod/server.mod/server.c:1440
+#: src/mod/server.mod/server.c:1445
 msgid "DCC invalid port"
 msgstr ""
 
-#: src/mod/server.mod/server.c:1530
+#: src/mod/server.mod/server.c:1535
 msgid "Server got stoned; jumping..."
 msgstr ""
 
-#: src/mod/server.mod/server.c:1604
+#: src/mod/server.mod/server.c:1609
 msgid "No server currently."
 msgstr ""
 
-#: src/mod/server.mod/server.c:1606
+#: src/mod/server.mod/server.c:1611
 msgid "Mode queue is at"
 msgstr ""
 
-#: src/mod/server.mod/server.c:1610
+#: src/mod/server.mod/server.c:1615
 msgid "Server queue is at"
 msgstr ""
 
-#: src/mod/server.mod/server.c:1613
+#: src/mod/server.mod/server.c:1618
 msgid "Help queue is at"
 msgstr ""
 
@@ -2247,35 +2255,35 @@
 msgid "NICK IN USE: Trying %s"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:297
+#: src/mod/server.mod/servmsg.c:251
 #, c-format
 msgid "Server says Im not on channel: %s"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:391
+#: src/mod/server.mod/servmsg.c:345
 #, c-format
 msgid "Flood from @%s!  Placing on ignore!"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:490
+#: src/mod/server.mod/servmsg.c:444
 msgid "I dont accept DCC chats from strangers."
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:744
+#: src/mod/server.mod/servmsg.c:697
 msgid "Server says my nickname is invalid."
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:787
+#: src/mod/server.mod/servmsg.c:740
 #, c-format
 msgid "Cant change nickname on %s.  Is my nickname banned?"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:790
+#: src/mod/server.mod/servmsg.c:743
 #, c-format
 msgid "Channel %s is juped. :("
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:801
+#: src/mod/server.mod/servmsg.c:754
 msgid "Nickname has been juped"
 msgstr ""
 
@@ -2287,92 +2295,97 @@
 #. * (minutely) sending of joins occurs before the bot does its ping reply.
 #. * Probably should do something about it some time - beldin
 #.
-#: src/mod/server.mod/servmsg.c:828
+#: src/mod/server.mod/servmsg.c:781
 #, c-format
 msgid "%s says Im not registered, trying next one."
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:829
+#: src/mod/server.mod/servmsg.c:782
 msgid "You have a fucked up server."
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:930
+#: src/mod/server.mod/servmsg.c:883
 msgid "Disconnected from"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:1156
+#: src/mod/server.mod/servmsg.c:1109
 msgid "Trying server"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:1198 src/mod/server.mod/servmsg.c:1216
+#: src/mod/server.mod/servmsg.c:1151 src/mod/server.mod/servmsg.c:1169
 msgid "Failed connect to"
 msgstr ""
 
-#: src/mod/server.mod/servmsg.c:1199
+#: src/mod/server.mod/servmsg.c:1152
 msgid "DNS lookup failed"
 msgstr ""
 
-#: src/mod/share.mod/share.c:1607 src/mod/share.mod/share.c:1632
+#: src/mod/share.mod/share.c:1609 src/mod/share.mod/share.c:1634
 msgid "ERROR writing user file to transfer."
 msgstr ""
 
-#: src/mod/share.mod/share.c:1785
+#: src/mod/share.mod/share.c:1787
 msgid "CANT READ NEW USERFILE"
 msgstr ""
 
-#: src/mod/share.mod/share.c:1795
+#: src/mod/share.mod/share.c:1797
 msgid "Userlist transfer complete; switched over"
 msgstr ""
 
-#: src/mod/share.mod/share.c:1915
+#: src/mod/share.mod/share.c:1917
 msgid "Cant send userfile to you (internal error)"
 msgstr ""
 
-#: src/mod/transfer.mod/transfer.c:717
+#: src/mod/transfer.mod/transfer.c:718
 msgid "Failed connection; aborted userfile transfer."
 msgstr ""
 
-#: src/modules.c:637 src/tclmisc.c:408
+#: src/modules.c:544
+#, c-format
+msgid "error during libtdl initialization: %s\n"
+msgstr ""
+
+#: src/modules.c:617 src/tclmisc.c:408
 msgid "Already loaded."
 msgstr ""
 
-#: src/modules.c:641
+#: src/modules.c:621
 msgid "Cant determine current directory."
 msgstr ""
 
-#: src/modules.c:695
+#: src/modules.c:632
 msgid "No start function defined."
 msgstr ""
 
-#: src/modules.c:741
+#: src/modules.c:677
 msgid "Needed by another module"
 msgstr ""
 
-#: src/modules.c:745
+#: src/modules.c:681
 msgid "No close function"
 msgstr ""
 
-#: src/modules.c:775
+#: src/modules.c:704
 msgid "No such module"
 msgstr ""
 
-#: src/tcldcc.c:816
+#: src/tcldcc.c:815
 msgid "No free sockets available."
 msgstr ""
 
-#: src/tcldcc.c:1011 src/tcldcc.c:1028
+#: src/tcldcc.c:1010 src/tcldcc.c:1027
 msgid "Userfile creation not necessary--skipping"
 msgstr ""
 
-#: src/tcldcc.c:1032
+#: src/tcldcc.c:1031
 msgid "Restarting..."
 msgstr ""
 
-#: src/tclhash.c:1070
+#: src/tclhash.c:1197
 msgid "Ambiguous command.\n"
 msgstr ""
 
-#: src/tclhash.c:1308
+#: src/tclhash.c:1450
 msgid "Command bindings:\n"
 msgstr ""
 
Index: eggdrop1.7/progtest.m4
diff -u /dev/null eggdrop1.7/progtest.m4:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/progtest.m4	Tue Oct  9 20:20:08 2001
@@ -0,0 +1,51 @@
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper at cygnus.com>, 1996.
+#
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 2
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
Index: eggdrop1.7/scripts/.cvsignore
diff -u eggdrop1.7/scripts/.cvsignore:1.1 eggdrop1.7/scripts/.cvsignore:1.2
--- eggdrop1.7/scripts/.cvsignore:1.1	Mon Aug 13 17:51:42 2001
+++ eggdrop1.7/scripts/.cvsignore	Tue Oct  9 20:20:09 2001
@@ -1 +1,3 @@
+Makefile.in
 Makefile
+
Index: eggdrop1.7/scripts/Makefile.am
diff -u /dev/null eggdrop1.7/scripts/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/scripts/Makefile.am	Tue Oct  9 20:20:09 2001
@@ -0,0 +1,41 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:09 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(prefix)
+
+SCRIPTS_DIST_EXTRA	= action.fix.tcl \
+			cmd_resolve.tcl \
+			getops.tcl \
+			sentinel.tcl \
+			alltools.tcl \
+			compat.tcl \
+			userinfo.tcl \
+			autobotchk \
+			klined.tcl \
+			notes2.tcl \
+			weed \
+			botchk \
+			ques5.tcl \
+			CONTENTS \
+			help/cmd_resolve.help \
+			help/userinfo.help \
+			help/msg/userinfo.help
+
+SUBDIRS                 = 
+MAINTAINERCLEANFILES    = Makefile.in
+
+dist-hook:
+	(cd $(distdir) && mkdir scripts && mkdir scripts/help && \
+		mkdir scripts/help/msg)
+	for file in $(SCRIPTS_DIST_EXTRA); do \
+	  ln $$file $(distdir)/scripts 2>/dev/null || \
+	  cp -p $$file $(distdir)/scripts/$$file; \
+	done
+
+install-data-local:
+	($(mkinstalldirs) $(pkglibdir)/scripts $(pkglibdir)/scripts/help \
+		$(pkglibdir)/scripts/help/msg)
+	for file in $(SCRIPTS_DIST_EXTRA); do \
+	  $(INSTALL_DATA) $$file $(pkglibdir)/scripts/$$file; \
+	done
+
Index: eggdrop1.7/scripts/Makefile.in
diff -u eggdrop1.7/scripts/Makefile.in:1.11 eggdrop1.7/scripts/Makefile.in:removed
--- eggdrop1.7/scripts/Makefile.in:1.11	Wed Nov  8 13:52:38 2000
+++ eggdrop1.7/scripts/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,76 +0,0 @@
-# Makefile for scripts/
-# $Id: Makefile.in,v 1.11 2000/11/08 19:52:38 guppy Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
- at SET_MAKE@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-
-DOCS = CONTENTS
-
-SCRIPTS = action.fix.tcl alltools.tcl compat.tcl getops.tcl \
-klined.tcl notes2.tcl ques5.tcl sentinel.tcl userinfo.tcl cmd_resolve.tcl
-
-EXESCRIPTS = autobotchk botchk weed
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd .. && $(MAKE)
-
-all: $(DOCS) $(SCRIPTS) $(EXESCRIPTS)
-
-clean:
-	@rm -f *~
-
-install:
-	@if test ! -d $(DEST)/scripts; then \
-		echo "Creating a scripts subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/scripts; \
-		echo "Copying scripts."; \
-		for i in $(DOCS); do \
-			$(INSTALL_DATA) $(srcdir)/$$i $(DEST)/scripts/; \
-		done; \
-		for i in $(SCRIPTS); do \
-			$(INSTALL_DATA) $(srcdir)/$$i $(DEST)/scripts/; \
-		done; \
-		for i in $(EXESCRIPTS); do \
-			$(INSTALL_SCRIPT) $(srcdir)/$$i $(DEST)/scripts/; \
-		done; \
-		if test ! "x`echo $(srcdir)/help/*.help`" = "x$(srcdir)/help/*.help"; then \
-			if test ! -d $(DEST)/help; then \
-				echo "Creating 'help' subdirectory."; \
-				$(top_srcdir)/misc/mkinstalldirs $(DEST)/help; \
-			fi; \
-			for i in $(srcdir)/help/*.help; do \
-				$(INSTALL_DATA) $$i $(DEST)/help/; \
-			done; \
-		fi; \
-		if test ! "x`echo $(srcdir)/help/msg/*.help`" = "x$(srcdir)/help/msg/*.help"; then \
-			if test ! -d $(DEST)/help/msg; then \
-				echo "Creating 'help/msg' subdirectory."; \
-				$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/msg; \
-			fi; \
-			for i in $(srcdir)/help/msg/*.help; do \
-				$(INSTALL_DATA) $$i $(DEST)/help/msg/; \
-			done; \
-		fi; \
-		if test ! "x`echo $(srcdir)/help/set/*.help`" = "x$(srcdir)/help/set/*.help"; then \
-			if test ! -d $(DEST)/help/set; then \
-				echo "Creating 'help/set' subdirectory."; \
-				$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/set; \
-			fi; \
-			for i in $(srcdir)/help/set/*.help; do \
-				$(INSTALL_DATA) $$i $(DEST)/help/set/; \
-			done; \
-		fi; \
-	fi
-
-#safety hash
Index: eggdrop1.7/src/.cvsignore
diff -u eggdrop1.7/src/.cvsignore:1.1 eggdrop1.7/src/.cvsignore:1.2
--- eggdrop1.7/src/.cvsignore:1.1	Mon Aug 13 17:51:42 2001
+++ eggdrop1.7/src/.cvsignore	Tue Oct  9 20:20:10 2001
@@ -1,3 +1,7 @@
 Makefile
+Makefile.in
+.deps
+.libs
 *.o
 *.obj
+eggdrop
Index: eggdrop1.7/src/Makefile.am
diff -u /dev/null eggdrop1.7/src/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/Makefile.am	Tue Oct  9 20:20:10 2001
@@ -0,0 +1,93 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:10 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+bindir    = $(exec_prefix)
+
+# stuff for Tcl
+XREQS = @TCL_REQS@
+XLIBS = @TCL_LIBS@ @LIBS@
+TCLLIB = @TCLLIB@
+TCLLIBFN = @TCLLIBFN@
+
+SUBDIRS			= compat egglib md5 adns mod
+MAINTAINERCLEANFILES	= Makefile.in
+
+INCLUDES		= -I$(top_builddir) -I$(top_srcdir) @INCLTDL@ \
+			-I$(top_builddir)/intl -I$(top_srcdir)/intl
+
+localedir		= $(datadir)/locale
+DEFS			= -DLOCALEDIR=\"\$(localedir)\" @EGG_DEBUG@ @DEFS@
+
+bin_PROGRAMS	= eggdrop
+eggdrop_SOURCES = bg.c \
+		chanprog.c \
+		dns.c \
+		mem.c \
+		net.c \
+		tclhash.c \
+		userrec.c \
+		botcmd.c \
+		cmds.c \
+		flags.c \
+		misc.c \
+		rfc1459.c \
+		tclmisc.c \
+		users.c \
+		botmsg.c \
+		dcc.c \
+		main.c \
+		misc_file.c \
+		tcl.c \
+		tcluser.c \
+		botnet.c \
+		dccutil.c \
+		modules.c \
+		tcldcc.c \
+		userent.c
+eggdrop_LDFLAGS = -no-undefined
+# FIXME: dlopened/preopened module's list is going to be dynamically defined
+#        by ./configure
+eggdrop_LDADD 	= @LIBLTDL@ \
+		"-dlopen" self \
+		"-dlopen" mod/assoc.mod/assoc.la \
+		"-dlopen" mod/blowfish.mod/blowfish.la \
+		"-dlopen" mod/compress.mod/compress.la \
+		"-dlopen" mod/channels.mod/channels.la \
+		"-dlopen" mod/console.mod/console.la \
+		"-dlopen" mod/ctcp.mod/ctcp.la \
+		"-dlopen" mod/filesys.mod/filesys.la \
+		"-dlopen" mod/irc.mod/irc.la \
+		"-dlopen" mod/notes.mod/notes.la \
+		"-dlopen" mod/server.mod/server.la \
+		"-dlopen" mod/share.mod/share.la \
+		"-dlopen" mod/transfer.mod/transfer.la \
+		"-dlopen" mod/uptime.mod/uptime.la \
+		"-dlopen" mod/woobie.mod/woobie.la \
+                compat/libcompat.la \
+                adns/libadns.la \
+                egglib/libegg.la \
+                md5/libmd5.la \
+                egglib/libegg.la \
+                $(XLIBS)
+eggdrop_DEPENDENCIES= $(XREQS)
+			src/mod/assoc.mod/assoc.la \
+			src/mod/blowflish/blowfish.la \
+			src/mod/channels.la \
+			src/mod/console.la \
+			src/mod/ctcp.la \
+			src/mod/filesys.la \
+			src/mod/irc.la \
+			src/mod/notes.la \
+			src/mod/server.la \
+			src/mod/share.la \
+			src/mod/transfer.la \
+			src/mod/uptime.la \
+			src/mod/woobie.la
+
+libtcle.a: $(TCLLIB)/lib$(TCLLIBFN)
+	echo "[ Fixing lib$(TCLLIBFN) -> libtcle.a ]"
+	cp $(TCLLIB)/lib$(TCLLIBFN) libtcle.a
+	chmod u+rw libtcle.a
+	ar d libtcle.a tclMain.o
+	$(RANLIB) libtcle.a
+
Index: eggdrop1.7/src/Makefile.in
diff -u eggdrop1.7/src/Makefile.in:1.20 eggdrop1.7/src/Makefile.in:removed
--- eggdrop1.7/src/Makefile.in:1.20	Fri Aug 24 21:43:38 2001
+++ eggdrop1.7/src/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,206 +0,0 @@
-# Makefile for src/
-# $Id: Makefile.in,v 1.20 2001/08/25 02:43:38 ite Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-
- at SET_MAKE@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-datadir = @datadir@
-localedir = $(datadir)/locale
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-top_builddir = ..
-
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-CFLAGS = @CFLAGS@ -I.. -I$(top_srcdir) -I../intl -I$(top_srcdir)/intl $(DEFS) $(CFLGS) 
-CPPFLAGS = @CPPFLAGS@
-
-eggdrop_objs = bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \
-dccutil.o dns.o flags.o main.o mem.o misc.o misc_file.o \
-modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o \
-tcluser.o userent.o userrec.o users.o
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd .. && $(MAKE)
-
-../$(EGGEXEC): build_msg $(eggdrop_objs) $(XREQS)
-	@echo ""
-	@echo "Linking eggdrop... $(EGGBUILD)"
-	@echo ""
-	@touch mod/mod.xlibs
-	$(LD) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o adns/libadns.a @INTLLIBS@ `cat mod/mod.xlibs`
-	$(STRIP) ../$(EGGEXEC)
-	@echo "Successful compile: $(EGGEXEC)"
-	@echo ""
-
-$(EGGEXEC): ../$(EGGEXEC)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend
-
-clean:
-	@rm -f .depend *.o *.a *~
-
-build_msg:
-	@echo "(This may take a while.  Go get some runts.)"
-
-main.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) \
-'-DCCFLAGS="$(CC) $(CFLAGS) $(CPPFLAGS)"' \
-'-DLDFLAGS="$(LD)"' \
-'-DSTRIPFLAGS="$(STRIP)"' -c $(srcdir)/main.c
-
-libtcle.a: $(TCLLIB)/lib$(TCLLIBFN)
-	@echo "[ Fixing lib$(TCLLIBFN) -> libtcle.a ]"
-	cp $(TCLLIB)/lib$(TCLLIBFN) libtcle.a
-	chmod u+rw libtcle.a
-	ar d libtcle.a tclMain.o
-	$(RANLIB) libtcle.a
-
-eggdrop.h:
-	@echo "You do not have the eggdrop source!"
-	@exit 1
-
-.SUFFIXES:
-.SUFFIXES: .c .h .o .a
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-#safety hash
-bg.o: ./bg.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- bg.h
-botcmd.o: ./botcmd.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h tandem.h modules.h mod/modvals.h
-botmsg.o: ./botmsg.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h tandem.h
-botnet.o: ./botnet.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h tandem.h
-chanprog.o: ./chanprog.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h modules.h mod/modvals.h
-cmds.o: ./cmds.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- tandem.h modules.h mod/modvals.h
-dcc.o: ./dcc.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- modules.h mod/modvals.h tandem.h md5/md5.h
-dccutil.o: ./dccutil.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h modules.h mod/modvals.h tandem.h
-dns.o: ./dns.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- dns.h
-flags.o: ./flags.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h
-main.o: ./main.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- modules.h mod/modvals.h tandem.h bg.h patch.h
-match.o: ./match.c
-mem.o: ./mem.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- mod/modvals.h
-misc.o: ./misc.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- stat.h
-misc_file.o: ./misc_file.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h stat.h
-modules.o: ./modules.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h modules.h mod/modvals.h tandem.h
-net.o: ./net.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h
-rfc1459.o: ./rfc1459.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h
-tcl.o: ./tcl.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h
-tcldcc.o: ./tcldcc.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h tandem.h modules.h mod/modvals.h
-tclhash.o: ./tclhash.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h match.c
-tclmisc.o: ./tclmisc.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h modules.h mod/modvals.h tandem.h md5/md5.h
-tcluser.o: ./tcluser.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h tandem.h
-userent.o: ./userent.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h
-userrec.o: ./userrec.c main.h ../config.h eggdrop.h flags.h \
- proto.h ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h \
- users.h compat/compat.h compat/inet_aton.h ../src/main.h \
- compat/snprintf.h compat/memset.h compat/memcpy.h compat/strcasecmp.h \
- compat/strftime.h modules.h mod/modvals.h tandem.h
-users.o: ./users.c main.h ../config.h eggdrop.h flags.h proto.h \
- ../lush.h misc_file.h cmdt.h tclegg.h tclhash.h chan.h users.h \
- compat/compat.h compat/inet_aton.h ../src/main.h compat/snprintf.h \
- compat/memset.h compat/memcpy.h compat/strcasecmp.h compat/strftime.h \
- modules.h mod/modvals.h tandem.h
Index: eggdrop1.7/src/adns/.cvsignore
diff -u eggdrop1.7/src/adns/.cvsignore:1.2 eggdrop1.7/src/adns/.cvsignore:1.3
--- eggdrop1.7/src/adns/.cvsignore:1.2	Wed Aug 15 01:13:42 2001
+++ eggdrop1.7/src/adns/.cvsignore	Tue Oct  9 20:20:10 2001
@@ -1,4 +1,8 @@
 Makefile
+Makefile.in
+.deps
+.libs
 *.o
-*.a
-*.so.*
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/adns/Makefile.am
diff -u /dev/null eggdrop1.7/src/adns/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/adns/Makefile.am	Tue Oct  9 20:20:10 2001
@@ -0,0 +1,24 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:10 ite Exp $
+
+## libcompat is built as convenience library
+
+MAINTAINERCLEANFILES	= Makefile.in
+
+INCLUDES		= -I$(top_builddir) -I$(top_srcdir) \
+			-I$(top_builddir)/src/compat -I$(top_srcdir)/src/compat
+
+noinst_LTLIBRARIES = libadns.la
+libadns_la_SOURCES = adns.h \
+                  check.c \
+		  dlist.h \
+		  event.c \
+		  general.c \
+		  internal.h \
+		  parse.c \
+		  query.c \
+		  reply.c \
+		  setup.c \
+		  transmit.c \
+		  tvarith.h \
+		  types.c
+
Index: eggdrop1.7/src/adns/Makefile.in
diff -u eggdrop1.7/src/adns/Makefile.in:1.2 eggdrop1.7/src/adns/Makefile.in:removed
--- eggdrop1.7/src/adns/Makefile.in:1.2	Thu Jul 26 19:46:33 2001
+++ eggdrop1.7/src/adns/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,59 +0,0 @@
-# src/Makefile - library main Makefile
-# 
-#  This file is
-#    Copyright (C) 1997-1999 Ian Jackson <ian at davenant.greenend.org.uk>
-#
-#  It is part of adns, which is
-#    Copyright (C) 1997-2000 Ian Jackson <ian at davenant.greenend.org.uk>
-#    Copyright (C) 1999-2000 Tony Finch <dot at dotat.at>
-#  
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2, or (at your option)
-#  any later version.
-#  
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#  
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
-
-top_srcdir = ../..
-
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-CFLAGS = @CFLAGS@ -I$(top_srcdir) -I$(top_srcdir)/src/compat @DEFS@ $(CFLGS)
-CPPFLAGS = @CPPFLAGS@
-RANLIB = @RANLIB@
-AR = @AR@
-XLIBS = @LIBS@
-
-include		adns.make
-
-all:		libadns.a
-
-distclean:	clean
-		rm -f Makefile
-
-clean:
-		rm -f *.[oa] libadns.so libadns.so.1 libadns.so.1.0
-
-libadns.a:	$(LIBOBJS)
-		rm -f $@
-		$(AR) cqv $@.new $(LIBOBJS)
-		$(RANLIB) $@.new
-		mv -f $@.new $@
-
-libadns.so:	$(LIBOBJS)
-		rm -f $@ $@.1 $@.1.0
-		$(LD) -shared $(LIBOBJS) -soname=libadns.so.1 -o $@.1.0 \
--lc $(XLIBS) src/compat/inet_ntop.o src/compat/inet_pton.o src/compat/inet_aton.o
-		ln -s $@.1.0 $@.1
-		ln -s $@.1.0 $@
-
-$(LIBOBJS):	adns.h internal.h ../../config.h
-
Index: eggdrop1.7/src/adns/adns.make
diff -u eggdrop1.7/src/adns/adns.make:1.1 eggdrop1.7/src/adns/adns.make:removed
--- eggdrop1.7/src/adns/adns.make:1.1	Thu Jul 26 12:06:39 2001
+++ eggdrop1.7/src/adns/adns.make	Tue Oct  9 20:20:27 2001
@@ -1,26 +0,0 @@
-# src/adns.make - library definitions, including list of object files
-# 
-#  This file is
-#    Copyright (C) 1997-1999 Ian Jackson <ian at davenant.greenend.org.uk>
-#
-#  It is part of adns, which is
-#    Copyright (C) 1997-2000 Ian Jackson <ian at davenant.greenend.org.uk>
-#    Copyright (C) 1999-2000 Tony Finch <dot at dotat.at>
-#  
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2, or (at your option)
-#  any later version.
-#  
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#  
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
-
-LIBOBJS=	types.o event.o query.o reply.o general.o setup.o transmit.o \
-		parse.o check.o
-# poll.o
Index: eggdrop1.7/src/compat/.cvsignore
diff -u eggdrop1.7/src/compat/.cvsignore:1.1 eggdrop1.7/src/compat/.cvsignore:1.2
--- eggdrop1.7/src/compat/.cvsignore:1.1	Mon Aug 13 17:51:43 2001
+++ eggdrop1.7/src/compat/.cvsignore	Tue Oct  9 20:20:10 2001
@@ -1,2 +1,8 @@
 Makefile
+Makefile.in
+.deps
+.libs
 *.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/compat/Makefile.am
diff -u /dev/null eggdrop1.7/src/compat/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/compat/Makefile.am	Tue Oct  9 20:20:10 2001
@@ -0,0 +1,28 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:10 ite Exp $
+
+## libcompat is built as convenience library
+
+MAINTAINERCLEANFILES	= Makefile.in
+
+INCLUDES		= -I$(top_builddir) -I$(top_srcdir)
+
+noinst_LTLIBRARIES = libcompat.la
+libcompat_la_SOURCES = compat.h \
+                  gnu_strftime.c \
+                  inet_aton.c \
+		  inet_aton.h \
+		  inet_ntop.c \
+		  inet_ntop.h \
+		  inet_pton.c \
+		  inet_pton.h \
+		  memcpy.c \
+		  memcpy.h \
+		  memset.c \
+		  memset.h \
+		  snprintf.c \
+		  snprintf.h \
+		  strcasecmp.c \
+		  strcasecmp.h \
+		  strftime.c \
+		  strftime.h
+
Index: eggdrop1.7/src/compat/Makefile.in
diff -u eggdrop1.7/src/compat/Makefile.in:1.7 eggdrop1.7/src/compat/Makefile.in:removed
--- eggdrop1.7/src/compat/Makefile.in:1.7	Mon Aug 13 15:47:53 2001
+++ eggdrop1.7/src/compat/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,93 +0,0 @@
-# Makefile for src/compat/
-# $Id: Makefile.in,v 1.7 2001/08/13 20:47:53 guppy Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
- at SET_MAKE@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-CFLAGS = @CFLAGS@ -I../.. -I$(top_srcdir) -I$(top_srcdir)/src @DEFS@ $(CFLGS)
-CPPFLAGS = @CPPFLAGS@
-
-OBJS = inet_aton.o snprintf.o memset.o memcpy.o strcasecmp.o strftime.o \
-inet_pton.o inet_ntop.o
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../.. && $(MAKE)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend
-
-clean:
-	@rm -f .depend *.o *~
-
-compat: $(OBJS)
-
-.SUFFIXES:
-.SUFFIXES: .c .o .h
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-#safety hash
-gnu_strftime.o: ./gnu_strftime.c
-inet_aton.o: ./inet_aton.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h \
- ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \
- ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \
- ../../src/users.h ../../src/compat/compat.h \
- ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \
- ../../src/compat/memset.h ../../src/compat/memcpy.h \
- ../../src/compat/strcasecmp.h ../../src/compat/strftime.h inet_aton.h
-memcpy.o: ./memcpy.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h ../../src/proto.h ../../lush.h \
- ../../src/misc_file.h ../../src/cmdt.h ../../src/tclegg.h \
- ../../src/tclhash.h ../../src/chan.h ../../src/users.h \
- ../../src/compat/compat.h ../../src/compat/inet_aton.h \
- ../../src/compat/snprintf.h ../../src/compat/memset.h \
- ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \
- ../../src/compat/strftime.h memcpy.h
-memset.o: ./memset.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h ../../src/proto.h ../../lush.h \
- ../../src/misc_file.h ../../src/cmdt.h ../../src/tclegg.h \
- ../../src/tclhash.h ../../src/chan.h ../../src/users.h \
- ../../src/compat/compat.h ../../src/compat/inet_aton.h \
- ../../src/compat/snprintf.h ../../src/compat/memset.h \
- ../../src/compat/memcpy.h ../../src/compat/strcasecmp.h \
- ../../src/compat/strftime.h memset.h
-snprintf.o: ./snprintf.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h \
- ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \
- ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \
- ../../src/users.h ../../src/compat/compat.h \
- ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \
- ../../src/compat/memset.h ../../src/compat/memcpy.h \
- ../../src/compat/strcasecmp.h ../../src/compat/strftime.h snprintf.h
-strcasecmp.o: ./strcasecmp.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h \
- ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \
- ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \
- ../../src/users.h ../../src/compat/compat.h \
- ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \
- ../../src/compat/memset.h ../../src/compat/memcpy.h \
- ../../src/compat/strcasecmp.h ../../src/compat/strftime.h memcpy.h
-strftime.o: ./strftime.c ../../src/main.h ../../config.h \
- ../../src/eggdrop.h ../../src/flags.h \
- ../../src/proto.h ../../lush.h ../../src/misc_file.h ../../src/cmdt.h \
- ../../src/tclegg.h ../../src/tclhash.h ../../src/chan.h \
- ../../src/users.h ../../src/compat/compat.h \
- ../../src/compat/inet_aton.h ../../src/compat/snprintf.h \
- ../../src/compat/memset.h ../../src/compat/memcpy.h \
- ../../src/compat/strcasecmp.h ../../src/compat/strftime.h strftime.h
Index: eggdrop1.7/src/compat/inet_aton.c
diff -u eggdrop1.7/src/compat/inet_aton.c:1.5 eggdrop1.7/src/compat/inet_aton.c:1.6
--- eggdrop1.7/src/compat/inet_aton.c:1.5	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/compat/inet_aton.c	Tue Oct  9 20:20:10 2001
@@ -1,7 +1,7 @@
 /*
  * inet_aton.c -- provides inet_aton() if necessary.
  *
- * $Id: inet_aton.c,v 1.5 2001/04/12 02:39:44 guppy Exp $
+ * $Id: inet_aton.c,v 1.6 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Poritions Copyright (C) 2000, 2001 Eggheads Development Team
@@ -21,7 +21,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include "main.h"
+#include "../main.h"
 #include "inet_aton.h"
 
 #ifndef HAVE_ISASCII
Index: eggdrop1.7/src/compat/memcpy.c
diff -u eggdrop1.7/src/compat/memcpy.c:1.2 eggdrop1.7/src/compat/memcpy.c:1.3
--- eggdrop1.7/src/compat/memcpy.c:1.2	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/compat/memcpy.c	Tue Oct  9 20:20:10 2001
@@ -1,7 +1,7 @@
 /*
  * memcpy.c -- provides memcpy() if necessary.
  *
- * $Id: memcpy.c,v 1.2 2001/04/12 02:39:44 guppy Exp $
+ * $Id: memcpy.c,v 1.3 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -22,7 +22,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include "main.h"
+#include "../main.h"
 #include "memcpy.h"
 
 #ifndef HAVE_MEMCPY
Index: eggdrop1.7/src/compat/memset.c
diff -u eggdrop1.7/src/compat/memset.c:1.3 eggdrop1.7/src/compat/memset.c:1.4
--- eggdrop1.7/src/compat/memset.c:1.3	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/compat/memset.c	Tue Oct  9 20:20:10 2001
@@ -1,7 +1,7 @@
 /*
  * memset.c -- provides memset() if necessary.
  *
- * $Id: memset.c,v 1.3 2001/04/12 02:39:44 guppy Exp $
+ * $Id: memset.c,v 1.4 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -22,7 +22,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include "main.h"
+#include "../main.h"
 #include "memset.h"
 
 #ifndef HAVE_MEMSET
Index: eggdrop1.7/src/compat/snprintf.c
diff -u eggdrop1.7/src/compat/snprintf.c:1.4 eggdrop1.7/src/compat/snprintf.c:1.5
--- eggdrop1.7/src/compat/snprintf.c:1.4	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/compat/snprintf.c	Tue Oct  9 20:20:10 2001
@@ -1,7 +1,7 @@
 /*
  * snprintf.c - a portable implementation of snprintf and vsnprintf
  *
- * $Id: snprintf.c,v 1.4 2001/04/12 02:39:44 guppy Exp $
+ * $Id: snprintf.c,v 1.5 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Portions Copyright (C) 2000, 2001 Eggheads Development Team
@@ -21,7 +21,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include "main.h"
+#include "../main.h"
 #include "snprintf.h"
 
 
Index: eggdrop1.7/src/compat/strcasecmp.c
diff -u eggdrop1.7/src/compat/strcasecmp.c:1.2 eggdrop1.7/src/compat/strcasecmp.c:1.3
--- eggdrop1.7/src/compat/strcasecmp.c:1.2	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/compat/strcasecmp.c	Tue Oct  9 20:20:10 2001
@@ -1,7 +1,7 @@
 /*
  * strcasecmp.c -- provides strcasecmp() and strncasecmp if necessary.
  *
- * $Id: strcasecmp.c,v 1.2 2001/04/12 02:39:44 guppy Exp $
+ * $Id: strcasecmp.c,v 1.3 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -22,7 +22,7 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-#include "main.h"
+#include "../main.h"
 #include "memcpy.h"
 
 #ifndef HAVE_STRCASECMP
Index: eggdrop1.7/src/eggdrop.h
diff -u eggdrop1.7/src/eggdrop.h:1.41 eggdrop1.7/src/eggdrop.h:1.42
--- eggdrop1.7/src/eggdrop.h:1.41	Mon Aug 20 19:21:17 2001
+++ eggdrop1.7/src/eggdrop.h	Tue Oct  9 20:20:10 2001
@@ -4,7 +4,7 @@
  *
  *   IF YOU ALTER THIS FILE, YOU NEED TO RECOMPILE THE BOT.
  *
- * $Id: eggdrop.h,v 1.41 2001/08/21 00:21:17 ite Exp $
+ * $Id: eggdrop.h,v 1.42 2001/10/10 01:20:10 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -97,12 +97,6 @@
 #endif
 
 #define ADDRLEN (ADDRMAX + 1)
-
-#ifndef STATIC
-#  if (!defined(MODULES_OK) || !defined(HAVE_DLOPEN)) && !defined(HPUX_HACKS)
-#    include "you_can't_compile_with_module_support_on_this_system_try_make_static"
-#  endif
-#endif
 
 #if !defined(STDC_HEADERS)
 #  include "you_need_to_upgrade_your_compiler_to_a_standard_c_one_mate!"
Index: eggdrop1.7/src/egglib/.cvsignore
diff -u eggdrop1.7/src/egglib/.cvsignore:1.1 eggdrop1.7/src/egglib/.cvsignore:1.2
--- eggdrop1.7/src/egglib/.cvsignore:1.1	Mon Aug 13 17:51:43 2001
+++ eggdrop1.7/src/egglib/.cvsignore	Tue Oct  9 20:20:10 2001
@@ -1,3 +1,8 @@
 Makefile
+Makefile.in
+.deps
+.libs
 *.o
-*.a
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/egglib/Makefile.am
diff -u /dev/null eggdrop1.7/src/egglib/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/egglib/Makefile.am	Tue Oct  9 20:20:10 2001
@@ -0,0 +1,18 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:10 ite Exp $
+
+## libcompat is built as convenience library
+
+MAINTAINERCLEANFILES	= Makefile.in
+
+INCLUDES		= -I$(top_builddir) -I$(top_srcdir)
+
+noinst_LTLIBRARIES = libegg.la
+libegg_la_SOURCES = avl.c \
+               avl.h \
+	       hash_table.c \
+	       hash_table.h \
+	       linked_list.c \
+	       linked_list.h \
+	       mempool.c \
+	       mempool.h
+
Index: eggdrop1.7/src/md5/.cvsignore
diff -u eggdrop1.7/src/md5/.cvsignore:1.1 eggdrop1.7/src/md5/.cvsignore:1.2
--- eggdrop1.7/src/md5/.cvsignore:1.1	Mon Aug 13 17:51:44 2001
+++ eggdrop1.7/src/md5/.cvsignore	Tue Oct  9 20:20:11 2001
@@ -1,2 +1,8 @@
 Makefile
+Makefile.in
+.deps
+.libs
 *.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/md5/Makefile.am
diff -u /dev/null eggdrop1.7/src/md5/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/md5/Makefile.am	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,11 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:11 ite Exp $
+
+## libcompat is built as convenience library
+
+MAINTAINERCLEANFILES	= Makefile.in
+
+INCLUDES		= -I$(top_builddir) -I$(top_srcdir)
+
+noinst_LTLIBRARIES = libmd5.la
+libmd5_la_SOURCES = md5c.c md5.h
+
Index: eggdrop1.7/src/md5/Makefile.in
diff -u eggdrop1.7/src/md5/Makefile.in:1.11 eggdrop1.7/src/md5/Makefile.in:removed
--- eggdrop1.7/src/md5/Makefile.in:1.11	Fri Aug 17 00:35:48 2001
+++ eggdrop1.7/src/md5/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,44 +0,0 @@
-# Makefile for src/md5/
-# $Id: Makefile.in,v 1.11 2001/08/17 05:35:48 guppy Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
- at SET_MAKE@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-CFLAGS = @CFLAGS@ -I. @DEFS@ $(CFLGS)
-CPPFLAGS = @CPPFLAGS@
-
-OBJS = md5c.o
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../.. && $(MAKE)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/*.c > .depend
-
-clean:
-	@rm -f .depend *.o *~
-
-md5: $(OBJS)
-
-.SUFFIXES:
-.SUFFIXES: .c .o .h
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-
-#safety hash
-md5c.o: ./md5c.c md5.h
Index: eggdrop1.7/src/mod/.cvsignore
diff -u eggdrop1.7/src/mod/.cvsignore:1.1 eggdrop1.7/src/mod/.cvsignore:1.2
--- eggdrop1.7/src/mod/.cvsignore:1.1	Mon Aug 13 17:51:44 2001
+++ eggdrop1.7/src/mod/.cvsignore	Tue Oct  9 20:20:11 2001
@@ -1,4 +1,5 @@
 Makefile
+Makefile.in
 *.o
 *.obj
 mod.xlibs
Index: eggdrop1.7/src/mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/mod/Makefile.am	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,6 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:11 ite Exp $
+
+# FIXME: list will prolly become dinamic
+SUBDIRS = assoc.mod blowfish.mod channels.mod compress.mod console.mod ctcp.mod filesys.mod irc.mod notes.mod server.mod share.mod transfer.mod uptime.mod woobie.mod
+
+MAINTAINERCLEANFILES = Makefile.in
Index: eggdrop1.7/src/mod/Makefile.in
diff -u eggdrop1.7/src/mod/Makefile.in:1.14 eggdrop1.7/src/mod/Makefile.in:removed
--- eggdrop1.7/src/mod/Makefile.in:1.14	Mon Aug 13 15:47:53 2001
+++ eggdrop1.7/src/mod/Makefile.in	Tue Oct  9 20:20:27 2001
@@ -1,158 +0,0 @@
-# Makefile for src/mod/
-# $Id: Makefile.in,v 1.14 2001/08/13 20:47:53 guppy Exp $
-
-SHELL = @SHELL@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-MOD_UPDIR = @MOD_UPDIR@
-
- at SET_MAKE@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-
-CC = @CC@
-LD = @CC@
-STRIP = @STRIP@
-CFLAGS = @CFLAGS@ -I../.. -I$(top_srcdir) @DEFS@ $(CFLGS)
-CPPFLAGS = @CPPFLAGS@
-MOD_CFLAGS = @CFLAGS@ -I. -I../../.. -I$(MOD_UPDIR)$(top_srcdir) \
-  -I$(MOD_UPDIR)$(top_srcdir)/src/mod @DEFS@ $(CFLGS)
-MOD_CPPFLAGS = @CPPFLAGS@
-XLIBS = @XLIBS@
-MOD_EXT = @MOD_EXT@
-
-# Note: The following three lines are automatically adjusted by
-#       misc/modconfig. They have to be present here.
-mods =
-mod_objs =
-mod_libs =
-
-modconfig = $(top_srcdir)/misc/modconfig --bindir=../.. \
-  --top_srcdir=$(top_srcdir)
-egg_ac_parameters = @egg_ac_parameters@
-
-MAKE_MOD = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
-'STRIP=$(STRIP)' 'CFLAGS=$(MOD_CFLAGS)' 'CPPFLAGS=$(MOD_CPPFLAGS)' \
-'XLIBS=$(XLIBS)' 'MOD_EXT=$(MOD_EXT)' 'SHELL=$(SHELL)'
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../.. && $(MAKE)
-
-modules: $(mod_libs)
-	@echo "All modules compiled."
-	@echo ""
-
-static: $(mod_objs)
-	@$(modconfig) static.h
-
-.SUFFIXES:
-.SUFFIXES: .mod .mod_so .mod_o
-
-.mod.mod_so:
-	@if test ! -d $*.mod; then mkdir $*.mod; fi; \
-	if test ! -r $*.mod/Makefile; then \
-		cp $(srcdir)/$*.mod/Makefile $*.mod/Makefile; \
-	fi; \
-	cd $*.mod && $(MAKE_MOD) 'VPATH=$(MOD_UPDIR)$(srcdir)/$*.mod' 'srcdir=$(MOD_UPDIR)$(srcdir)/$*.mod' 'MAKE=$(MAKE)' modules;
-
-.mod.mod_o:
-	@if test ! -d $*.mod; then mkdir $*.mod; fi; \
-	if test ! -r $*.mod/Makefile; then \
-		cp $(srcdir)/$*.mod/Makefile $*.mod/Makefile; \
-	fi; \
-	cd $*.mod && $(MAKE_MOD) 'VPATH=$(MOD_UPDIR)$(srcdir)/$*.mod' 'srcdir=$(MOD_UPDIR)$(srcdir)/$*.mod' 'MAKE=$(MAKE)' static;
-
-depend:
-	@for i in $(mods); do \
-		if test ! -d $$i; then mkdir $$i; fi; \
-		if test ! -r $$i/Makefile; then \
-			cp $(srcdir)/$$i/Makefile $$i/Makefile; \
-		fi; \
-		(cd $$i && $(MAKE_MOD) "VPATH=$(MOD_UPDIR)$(srcdir)/$$i" "srcdir=$(MOD_UPDIR)$(srcdir)/$$i" depend); \
-	done
-
-config:
-	@for i in $(mods); do \
-		if test -f $(srcdir)/$$i/configure; then \
-			modname=`echo $$i | sed -e 's/.mod//'`; \
-			echo ""; \
-			echo "Configuring module $${modname} ..."; \
-			echo ""; \
-			if test ! -d $$i; then mkdir $$i; fi; \
-			(cd $$i && $(MOD_UPDIR)$(srcdir)/$$i/configure $(egg_ac_parameters) --cache-file=../../../config.cache --srcdir=$(MOD_UPDIR)$(top_srcdir)/src/mod/$$i); \
-		fi; \
-	done; \
-	echo ""
-
-clean:
-	@rm -f *.o *.$(MOD_EXT) *~ static.h mod.xlibs
-	@for i in *.mod; do \
-		if test ! -d $$i; then mkdir $$i; fi; \
-		if (test ! -r $$i/Makefile) && \
-		   (test -r $(srcdir)/$$i/Makefile); then \
-			cp $(srcdir)/$$i/Makefile $$i/Makefile; \
-		fi; \
-		if (test -r $$i/Makefile); then \
-			(cd $$i; $(MAKE) "VPATH=$(MOD_UPDIR)$(srcdir)/$$i" "srcdir=$(MOD_UPDIR)$(srcdir)/$$i" 'MAKE=$(MAKE)' clean); \
-		fi; \
-	done
-
-distclean:
-	@rm -f *.o *.$(MOD_EXT) *~ static.h mod.xlibs
-	@for i in *.mod; do \
-		if test ! -d $$i; then mkdir $$i; fi; \
-		if (test ! -r $$i/Makefile) && \
-		   (test -r $(srcdir)/$$i/Makefile); then \
-			cp $(srcdir)/$$i/Makefile $$i/Makefile; \
-		fi; \
-		if (test -r $$i/Makefile); then \
-			(cd $$i; $(MAKE) "VPATH=$(MOD_UPDIR)$(srcdir)/$$i" "srcdir=$(MOD_UPDIR)$(srcdir)/$$i" 'MAKE=$(MAKE)' distclean); \
-		fi; \
-	done
-
-install: install-help
-
-install-help:
-	@echo "Copying module help files."
-	@if test ! -d $(DEST)/help; then \
-		echo "Creating 'help' subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/help; \
-	fi; \
-	for i in $(mods); do \
-		if test ! "x`echo $(srcdir)/$$i/help/*.help`" = "x$(srcdir)/$$i/help/*.help"; then \
-			for h in $(srcdir)/$$i/help/*.help; do \
-				$(INSTALL_DATA) $$h $(DEST)/help/; \
-			done; \
-		fi; \
-	done;
-	@if test ! -d $(DEST)/help/msg; then \
-		echo "Creating 'help/msg' subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/msg; \
-	fi; \
-	for i in $(mods); do \
-		if test ! "x`echo $(srcdir)/$$i/help/msg/*.help`" = "x$(srcdir)/$$i/help/msg/*.help"; then \
-			for h in $(srcdir)/$$i/help/msg/*.help; do \
-				$(INSTALL_DATA) $$h $(DEST)/help/msg/; \
-			done; \
-		fi; \
-	done;
-	@if test ! -d $(DEST)/help/set; then \
-		echo "Creating 'help/set' subdirectory."; \
-		$(top_srcdir)/misc/mkinstalldirs $(DEST)/help/set; \
-	fi; \
-	for i in $(mods); do \
-		if test ! "x`echo $(srcdir)/$$i/help/set/*.help`" = "x$(srcdir)/$$i/help/set/*.help"; then \
-			for h in $(srcdir)/$$i/help/set/*.help; do \
-				$(INSTALL_DATA) $$h $(DEST)/help/set/; \
-			done; \
-		fi; \
-	done;
-
-#safety hash
Index: eggdrop1.7/src/mod/assoc.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/assoc.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/mod/assoc.mod/.cvsignore	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/assoc.mod/Makefile
diff -u eggdrop1.7/src/mod/assoc.mod/Makefile:1.13 eggdrop1.7/src/mod/assoc.mod/Makefile:removed
--- eggdrop1.7/src/mod/assoc.mod/Makefile:1.13	Mon Aug 13 15:47:53 2001
+++ eggdrop1.7/src/mod/assoc.mod/Makefile	Tue Oct  9 20:20:27 2001
@@ -1,43 +0,0 @@
-# Makefile for src/mod/assoc.mod/
-# $Id: Makefile,v 1.13 2001/08/13 20:47:53 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../assoc.o
-
-modules: ../../../assoc.$(MOD_EXT)
-
-../assoc.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/assoc.c
-	@rm -f ../assoc.o
-	mv assoc.o ../
-
-../../../assoc.$(MOD_EXT): ../assoc.o
-	$(LD) -o ../../../assoc.$(MOD_EXT) ../assoc.o $(XLIBS)
-	$(STRIP) ../../../assoc.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/assoc.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../assoc.o: .././assoc.mod/assoc.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h ../assoc.mod/assoc.h
Index: eggdrop1.7/src/mod/assoc.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/assoc.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/mod/assoc.mod/Makefile.am	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:11 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = assoc.la
+assoc_la_SOURCES   = assoc.c
+assoc_la_LDFLAGS   = -module -avoid-version -no-undefined
+assoc_la_LIBADD    = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/assoc.mod/assoc.c
diff -u eggdrop1.7/src/mod/assoc.mod/assoc.c:1.19 eggdrop1.7/src/mod/assoc.mod/assoc.c:1.20
--- eggdrop1.7/src/mod/assoc.mod/assoc.c:1.19	Fri Aug 10 18:51:20 2001
+++ eggdrop1.7/src/mod/assoc.mod/assoc.c	Tue Oct  9 20:20:11 2001
@@ -2,7 +2,7 @@
  * assoc.c -- part of assoc.mod
  *   the assoc code, moved here mainly from botnet.c for module work
  *
- * $Id: assoc.c,v 1.19 2001/08/10 23:51:20 ite Exp $
+ * $Id: assoc.c,v 1.20 2001/10/10 01:20:11 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -30,6 +30,8 @@
 #include <stdlib.h>
 #include "assoc.h"
 
+#define start assoc_LTX_start
+
 #undef global
 static Function *global = NULL;
 
@@ -393,17 +395,17 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *assoc_start();
+EXPORT_SCOPE char *start();
 
 static Function assoc_table[] =
 {
-  (Function) assoc_start,
+  (Function) start,
   (Function) assoc_close,
   (Function) assoc_expmem,
   (Function) assoc_report,
 };
 
-char *assoc_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/blowfish.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/blowfish.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:27 2001
+++ eggdrop1.7/src/mod/blowfish.mod/.cvsignore	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/blowfish.mod/Makefile
diff -u eggdrop1.7/src/mod/blowfish.mod/Makefile:1.12 eggdrop1.7/src/mod/blowfish.mod/Makefile:removed
--- eggdrop1.7/src/mod/blowfish.mod/Makefile:1.12	Mon Aug 13 15:47:53 2001
+++ eggdrop1.7/src/mod/blowfish.mod/Makefile	Tue Oct  9 20:20:27 2001
@@ -1,44 +0,0 @@
-# Makefile for src/mod/blowfish.mod/
-# $Id: Makefile,v 1.12 2001/08/13 20:47:53 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../blowfish.o
-
-modules: ../../../blowfish.$(MOD_EXT)
-
-../blowfish.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/blowfish.c
-	@rm -f ../blowfish.o
-	mv blowfish.o ../
-
-../../../blowfish.$(MOD_EXT): ../blowfish.o
-	$(LD) -o ../../../blowfish.$(MOD_EXT) ../blowfish.o $(XLIBS)
-	$(STRIP) ../../../blowfish.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/blowfish.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../blowfish.o: .././blowfish.mod/blowfish.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../blowfish.mod/blowfish.h ../blowfish.mod/bf_tab.h
Index: eggdrop1.7/src/mod/blowfish.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/blowfish.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/blowfish.mod/Makefile.am	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:11 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES  = blowfish.la
+blowfish_la_SOURCES = blowfish.c
+blowfish_la_LDFLAGS = -module -avoid-version -no-undefined
+blowfish_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/blowfish.mod/blowfish.c
diff -u eggdrop1.7/src/mod/blowfish.mod/blowfish.c:1.21 eggdrop1.7/src/mod/blowfish.mod/blowfish.c:1.22
--- eggdrop1.7/src/mod/blowfish.mod/blowfish.c:1.21	Tue Jul 24 23:21:07 2001
+++ eggdrop1.7/src/mod/blowfish.mod/blowfish.c	Tue Oct  9 20:20:11 2001
@@ -2,7 +2,7 @@
  * blowfish.c -- part of blowfish.mod
  *   encryption and decryption of passwords
  *
- * $Id: blowfish.c,v 1.21 2001/07/25 04:21:07 guppy Exp $
+ * $Id: blowfish.c,v 1.22 2001/10/10 01:20:11 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -32,6 +32,9 @@
 #include "src/mod/module.h"
 #include "blowfish.h"
 #include "bf_tab.h"		/* P-box P-array, S-box */
+
+#define start blowfish_LTX_start
+
 #undef global
 static Function *global = NULL;
 
@@ -436,12 +439,12 @@
   return "You can't unload an encryption module";
 }
 
-EXPORT_SCOPE char *blowfish_start(Function *);
+EXPORT_SCOPE char *start(Function *);
 
 static Function blowfish_table[] =
 {
   /* 0 - 3 */
-  (Function) blowfish_start,
+  (Function) start,
   (Function) blowfish_close,
   (Function) blowfish_expmem,
   (Function) blowfish_report,
@@ -450,7 +453,7 @@
   (Function) decrypt_string,
 };
 
-char *blowfish_start(Function *global_funcs)
+char *start(Function *global_funcs)
 {
   int i;
 
Index: eggdrop1.7/src/mod/channels.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/channels.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/channels.mod/.cvsignore	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/channels.mod/Makefile
diff -u eggdrop1.7/src/mod/channels.mod/Makefile:1.13 eggdrop1.7/src/mod/channels.mod/Makefile:removed
--- eggdrop1.7/src/mod/channels.mod/Makefile:1.13	Mon Aug 13 15:47:54 2001
+++ eggdrop1.7/src/mod/channels.mod/Makefile	Tue Oct  9 20:20:28 2001
@@ -1,46 +0,0 @@
-# Makefile for src/mod/channels.mod/
-# $Id: Makefile,v 1.13 2001/08/13 20:47:54 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../channels.o
-
-modules: ../../../channels.$(MOD_EXT)
-
-../channels.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/channels.c
-	@rm -f ../channels.o
-	mv channels.o ../
-
-../../../channels.$(MOD_EXT): ../channels.o
-	$(LD) -o ../../../channels.$(MOD_EXT) ../channels.o $(XLIBS)
-	$(STRIP) ../../../channels.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/channels.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../channels.o: .././channels.mod/channels.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../channels.mod/channels.h ../channels.mod/cmdschan.c \
- ../channels.mod/tclchan.c ../channels.mod/userchan.c \
- ../channels.mod/udefchan.c
Index: eggdrop1.7/src/mod/channels.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/channels.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/channels.mod/Makefile.am	Tue Oct  9 20:20:11 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:11 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES  = channels.la
+channels_la_SOURCES = channels.c
+channels_la_LDFLAGS = -module -avoid-version -no-undefined
+channels_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/channels.mod/channels.c
diff -u eggdrop1.7/src/mod/channels.mod/channels.c:1.60 eggdrop1.7/src/mod/channels.mod/channels.c:1.61
--- eggdrop1.7/src/mod/channels.mod/channels.c:1.60	Wed Aug 22 23:06:10 2001
+++ eggdrop1.7/src/mod/channels.mod/channels.c	Tue Oct  9 20:20:11 2001
@@ -2,7 +2,7 @@
  * channels.c -- part of channels.mod
  *   support for channels within the bot
  *
- * $Id: channels.c,v 1.60 2001/08/23 04:06:10 stdarg Exp $
+ * $Id: channels.c,v 1.61 2001/10/10 01:20:11 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -28,6 +28,8 @@
 #include <sys/stat.h>
 #include "src/mod/module.h"
 
+#define start channels_LTX_start
+
 static Function *global		= NULL;
 
 static int  setstatic;
@@ -791,12 +793,12 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *channels_start();
+EXPORT_SCOPE char *start();
 
 static Function channels_table[] =
 {
   /* 0 - 3 */
-  (Function) channels_start,
+  (Function) start,
   (Function) channels_close,
   (Function) channels_expmem,
   (Function) channels_report,
@@ -855,7 +857,7 @@
   (Function) remove_channel,
 };
 
-char *channels_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/compress.mod/.cvsignore
diff -u eggdrop1.7/src/mod/compress.mod/.cvsignore:1.2 eggdrop1.7/src/mod/compress.mod/.cvsignore:1.3
--- eggdrop1.7/src/mod/compress.mod/.cvsignore:1.2	Wed Aug 15 01:13:42 2001
+++ eggdrop1.7/src/mod/compress.mod/.cvsignore	Tue Oct  9 20:20:12 2001
@@ -1,6 +1,14 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
 *_config.h
 *_config.h.in
 configure
 config.log
 config.status
-Makefile
+
Index: eggdrop1.7/src/mod/compress.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/compress.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/compress.mod/Makefile.am	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,22 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:12 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+if EGG_COMPRESS
+  EGG_CMP = compress.la
+else
+  EGG_CMP =
+endif
+
+pkglib_LTLIBRARIES  = $(EGG_CMP)
+compress_la_SOURCES = compress.c
+compress_la_LDFLAGS = -module -avoid-version -no-undefined
+compress_la_LIBADD  = @TCL_LIBS@ @ZLIB@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in configure config.h.in stamp-h.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/compress.mod/Makefile.in
diff -u eggdrop1.7/src/mod/compress.mod/Makefile.in:1.9 eggdrop1.7/src/mod/compress.mod/Makefile.in:removed
--- eggdrop1.7/src/mod/compress.mod/Makefile.in:1.9	Mon Aug 13 16:39:24 2001
+++ eggdrop1.7/src/mod/compress.mod/Makefile.in	Tue Oct  9 20:20:28 2001
@@ -1,49 +0,0 @@
-# Makefile.in for src/mod/compress.mod/
-# $Id: Makefile.in,v 1.9 2001/08/13 21:39:24 ite Exp $
-
-ZLIB = @ZLIB@
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../compress.o
-	@echo "$(ZLIB)" >> ../mod.xlibs
-
-modules: ../../../compress.$(MOD_EXT)
-
-../compress.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/compress.c
-	rm -f ../compress.o
-	mv compress.o ../
-
-../../../compress.$(MOD_EXT): ../compress.o
-	$(LD) -o ../../../compress.$(MOD_EXT) ../compress.o $(ZLIB) $(XLIBS)
-	$(STRIP) ../../../compress.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/compress.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-
-distclean: clean
-	@rm -f Makefile config.cache config.log config.status config.h compress_config.h configure compress_config.h.in
-
-#safety hash
-../compress.o: .././compress.mod/compress.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../../../src/mod/share.mod/share.h ../compress.mod/compress_config.h \
- ../compress.mod/compress.h ../compress.mod/tclcompress.c
Index: eggdrop1.7/src/mod/compress.mod/compress.c
diff -u eggdrop1.7/src/mod/compress.mod/compress.c:1.12 eggdrop1.7/src/mod/compress.mod/compress.c:1.13
--- eggdrop1.7/src/mod/compress.mod/compress.c:1.12	Tue Jul 24 23:21:07 2001
+++ eggdrop1.7/src/mod/compress.mod/compress.c	Tue Oct  9 20:20:12 2001
@@ -6,7 +6,7 @@
  * Written by Fabian Knittel <fknittel at gmx.de>. Based on zlib examples
  * by Jean-loup Gailly and Miguel Albrecht.
  *
- * $Id: compress.c,v 1.12 2001/07/25 04:21:07 guppy Exp $
+ * $Id: compress.c,v 1.13 2001/10/10 01:20:12 ite Exp $
  */
 /*
  * Copyright (C) 2000, 2001 Eggheads Development Team
@@ -34,9 +34,8 @@
 #include <zlib.h>
 
 #include "src/mod/module.h"
-#include "share.mod/share.h"
+#include "src/mod/share.mod/share.h"
 
-#include "compress_config.h"
 #ifdef HAVE_MMAP
 #  include <sys/types.h>
 #  include <sys/mman.h>
@@ -44,6 +43,8 @@
 #endif /* HAVE_MMAP */
 #include "compress.h"
 
+#define start compress_LTX_start
+
 #define BUFLEN	512
 
 
@@ -399,12 +400,12 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *compress_start();
+EXPORT_SCOPE char *start();
 
 static Function compress_table[] =
 {
   /* 0 - 3 */
-  (Function) compress_start,
+  (Function) start,
   (Function) compress_close,
   (Function) compress_expmem,
   (Function) compress_report,
@@ -417,7 +418,7 @@
   (Function) is_compressedfile,
 };
 
-char *compress_start(Function *global_funcs)
+char *start(Function *global_funcs)
 {
   global = global_funcs;
   compressed_files	= 0;
Index: eggdrop1.7/src/mod/compress.mod/configure.in
diff -u eggdrop1.7/src/mod/compress.mod/configure.in:1.3 eggdrop1.7/src/mod/compress.mod/configure.in:removed
--- eggdrop1.7/src/mod/compress.mod/configure.in:1.3	Thu Jun 28 14:04:28 2001
+++ eggdrop1.7/src/mod/compress.mod/configure.in	Tue Oct  9 20:20:28 2001
@@ -1,48 +0,0 @@
-dnl Eggdrop compile-time configuration file for src/mod/compress.mod
-dnl
-dnl $Id: configure.in,v 1.3 2001/06/28 19:04:28 guppy Exp $
-
-dnl This file is based on the autoconf m4 macros. Special eggdrop
-dnl macros are used to optimise the size of the resulting configure
-dnl script `./configure'.  Run `../eggautoconf' to update that
-dnl script. You need to have the GNU autoconf package installed
-dnl though.
-
-
-dnl Instead of AC_INIT, we call EGG_INIT().
-sinclude(../eggmod.m4)
-EGG_INIT(compress.c)
-AC_CONFIG_HEADER(compress_config.h)
-
-AC_PROG_CC
-
-AC_CHECK_LIB(z, gzopen, ZLIB="-lz", )
-AC_CHECK_HEADER(zlib.h)
-
-# Disable the module if either the header file or the library
-# are missing.
-if test "x${ZLIB}" = x; then
-  cat >&2 <<EOF
-configure: warning:
-
-  Your system does not provide a working zlib compression library. The
-  compress module will therefore be disabled.
-
-EOF
-  EGG_REMOVE_MOD(compress)
-else
-  if test "${ac_cv_header_zlib_h}" != yes; then
-    cat >&2 <<EOF
-configure: warning:
-
-  Your system does not provide the necessary zlib header files. The
-  compress module will therefore be disabled.
-
-EOF
-    EGG_REMOVE_MOD(compress)
-  fi
-fi
-AC_FUNC_MMAP
-AC_SUBST(ZLIB)
-
-AC_OUTPUT(Makefile)
Index: eggdrop1.7/src/mod/console.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/console.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/console.mod/.cvsignore	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/console.mod/Makefile
diff -u eggdrop1.7/src/mod/console.mod/Makefile:1.15 eggdrop1.7/src/mod/console.mod/Makefile:removed
--- eggdrop1.7/src/mod/console.mod/Makefile:1.15	Mon Aug 13 15:47:54 2001
+++ eggdrop1.7/src/mod/console.mod/Makefile	Tue Oct  9 20:20:28 2001
@@ -1,44 +0,0 @@
-# Makefile for src/mod/console.mod/
-# $Id: Makefile,v 1.15 2001/08/13 20:47:54 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../console.o
-
-modules: ../../../console.$(MOD_EXT)
-
-../console.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/console.c
-	@rm -f ../console.o
-	mv console.o ../
-
-../../../console.$(MOD_EXT): ../console.o
-	$(LD) -o ../../../console.$(MOD_EXT) ../console.o $(XLIBS)
-	$(STRIP) ../../../console.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/console.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../console.o: .././console.mod/console.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../console.mod/console.h
Index: eggdrop1.7/src/mod/console.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/console.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/console.mod/Makefile.am	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:12 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = console.la
+console_la_SOURCES = console.c
+console_la_LDFLAGS = -module -avoid-version -no-undefined
+console_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/console.mod/console.c
diff -u eggdrop1.7/src/mod/console.mod/console.c:1.23 eggdrop1.7/src/mod/console.mod/console.c:1.24
--- eggdrop1.7/src/mod/console.mod/console.c:1.23	Fri Aug 10 18:51:20 2001
+++ eggdrop1.7/src/mod/console.mod/console.c	Tue Oct  9 20:20:12 2001
@@ -3,7 +3,7 @@
  *   saved console settings based on console.tcl
  *   by cmwagner/billyjoe/D. Senso
  *
- * $Id: console.c,v 1.23 2001/08/10 23:51:20 ite Exp $
+ * $Id: console.c,v 1.24 2001/10/10 01:20:12 ite Exp $
  */
 /*
  * Copyright (C) 1999, 2000, 2001 Eggheads Development Team
@@ -29,6 +29,8 @@
 #include <stdlib.h>
 #include "console.h"
 
+#define start console_LTX_start
+
 static Function *global = NULL;
 static int console_autosave = 0;
 static int force_channel = 0;
@@ -362,18 +364,18 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *console_start();
+EXPORT_SCOPE char *start();
 
 static Function console_table[] =
 {
-  (Function) console_start,
+  (Function) start,
   (Function) console_close,
   (Function) NULL,
   (Function) NULL,
   (Function) console_dostore,
 };
 
-char *console_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/ctcp.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/ctcp.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/ctcp.mod/.cvsignore	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/ctcp.mod/Makefile
diff -u eggdrop1.7/src/mod/ctcp.mod/Makefile:1.12 eggdrop1.7/src/mod/ctcp.mod/Makefile:removed
--- eggdrop1.7/src/mod/ctcp.mod/Makefile:1.12	Mon Aug 13 15:47:54 2001
+++ eggdrop1.7/src/mod/ctcp.mod/Makefile	Tue Oct  9 20:20:28 2001
@@ -1,44 +0,0 @@
-# Makefile for src/mod/ctcp.mod/
-# $Id: Makefile,v 1.12 2001/08/13 20:47:54 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../ctcp.o
-
-modules: ../../../ctcp.$(MOD_EXT)
-
-../ctcp.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/ctcp.c
-	@rm -f ../ctcp.o
-	mv ctcp.o ../
-
-../../../ctcp.$(MOD_EXT): ../ctcp.o
-	$(LD) -o ../../../ctcp.$(MOD_EXT) ../ctcp.o
-	$(STRIP) ../../../ctcp.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/ctcp.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../ctcp.o: .././ctcp.mod/ctcp.c ../ctcp.mod/ctcp.h \
- ../../../src/mod/module.h ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h \
- ../../../src/proto.h ../../../lush.h ../../../src/misc_file.h \
- ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \
- ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../../../src/mod/server.mod/server.h
Index: eggdrop1.7/src/mod/ctcp.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/ctcp.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/ctcp.mod/Makefile.am	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:12 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = ctcp.la
+ctcp_la_SOURCES    = ctcp.c
+ctcp_la_LDFLAGS    = -module -avoid-version -no-undefined
+ctcp_la_LIBADD     = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/ctcp.mod/ctcp.c
diff -u eggdrop1.7/src/mod/ctcp.mod/ctcp.c:1.18 eggdrop1.7/src/mod/ctcp.mod/ctcp.c:1.19
--- eggdrop1.7/src/mod/ctcp.mod/ctcp.c:1.18	Sat Oct  6 23:02:55 2001
+++ eggdrop1.7/src/mod/ctcp.mod/ctcp.c	Tue Oct  9 20:20:12 2001
@@ -2,7 +2,7 @@
  * ctcp.c -- part of ctcp.mod
  *   all the ctcp handling (except DCC, it's special ;)
  *
- * $Id: ctcp.c,v 1.18 2001/10/07 04:02:55 stdarg Exp $
+ * $Id: ctcp.c,v 1.19 2001/10/10 01:20:12 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -27,10 +27,12 @@
 #define MAKING_CTCP
 #include "ctcp.h"
 #include "src/mod/module.h"
-#include "server.mod/server.h"
+#include "src/mod/server.mod/server.h"
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
+#define start ctcp_LTX_start
+
 /* Import this bind table from server.mod */
 static bind_table_t *BT_ctcp;
 
@@ -205,17 +207,17 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *ctcp_start();
+EXPORT_SCOPE char *start();
 
 static Function ctcp_table[] =
 {
-  (Function) ctcp_start,
+  (Function) start,
   (Function) ctcp_close,
   (Function) NULL,
   (Function) NULL,
 };
 
-char *ctcp_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/eggautoconf
diff -u eggdrop1.7/src/mod/eggautoconf:1.3 eggdrop1.7/src/mod/eggautoconf:removed
--- eggdrop1.7/src/mod/eggautoconf:1.3	Wed Apr 11 21:39:44 2001
+++ eggdrop1.7/src/mod/eggautoconf	Tue Oct  9 20:20:28 2001
@@ -1,36 +0,0 @@
-#! /bin/sh
-#
-# eggautoconf -- creates workable small configure scripts by cutting down
-#                GNU autoconf scripts with the help of special eggdrop
-#                m4 macros.
-#
-# $Id: eggautoconf,v 1.3 2001/04/12 02:39:44 guppy Exp $
-#
-# Copyright (C) 2000, 2001 Eggheads Development Team
-# Written by Fabian Knittel
-
-set -e
-if test ! -f configure.in; then
-	echo "$0: error: no \`configure.in' found."
-	exit 1
-fi
-if test ! -f ../eggmod.sh; then
-	echo "$0: \`../eggmod.sh' not found. Not calling from module directory?"
-	exit 1
-fi
-autoconf
-if test ! -f configure; then
-	echo "$0: error: autoconf did not produce \`configure' script."
-	exit 1
-fi
-echo "Recreating eggdrop/autoconf configure script."
-if (cat configure | awk '
-	BEGIN { RS = "\f-never-\f"; FS = "\n## SPLIT" }
-	{ print "#! /bin/sh" $2 }' > configure_new); then
-	mv configure_new configure
-	chmod 0775 configure
-else
-	echo "Failed to create configure script!" >&2
-	exit 1
-fi
-exit 0
Index: eggdrop1.7/src/mod/eggmod.m4
diff -u eggdrop1.7/src/mod/eggmod.m4:1.5 eggdrop1.7/src/mod/eggmod.m4:removed
--- eggdrop1.7/src/mod/eggmod.m4:1.5	Thu Mar 23 17:17:56 2000
+++ eggdrop1.7/src/mod/eggmod.m4	Tue Oct  9 20:20:28 2001
@@ -1,46 +0,0 @@
-dnl eggmod.m4
-dnl   macros eggdrop modules should use instead of the original autoconf
-dnl   versions.
-dnl
-dnl $Id: eggmod.m4,v 1.5 2000/03/23 23:17:56 fabian Exp $
-
-dnl
-dnl EGG_REMOVE_MOD(MODULE-NAME)
-dnl
-define(EGG_REMOVE_MOD,
-[${srcdir}/../../../misc/modconfig -q --top_srcdir=${srcdir}/../../.. --bindir=../../.. del $1])
-
-dnl
-dnl EGG_INIT(UNIQUE-SOURCE-FILE)
-dnl
-define(EGG_INIT,
-[AC_INIT($1)
-## SPLIT
-# configure  --  Special configure variant for eggdrop modules based on the
-#                GNU autoconf scripts.
-#
-# Automatically created by src/mod/eggautoconf from `configure.in'
-#
-
-echo "running in eggdrop mode."
-# This tells the code in eggmod.sh to search for the file `$1'.
-# That way we can make sure we're started from the correct directory.
-ac_egg_uniquefile=$1
-
-# Scan for out source directory
-ac_egg_srcdir=.
-for i in [$]*; do
-  case "[$]{i}" in
-    --srcdir=*)
-      ac_egg_srcdir=`echo [$]{i} | sed -e 's/^--srcdir=//'`
-    ;;
-  esac
-done
-if test -r [$]{ac_egg_srcdir}/../eggmod.sh; then
-	. [$]{ac_egg_srcdir}/../eggmod.sh
-else
-	echo "[$]0: error: failed to locate eggmod.sh in [$]{ac_egg_srcdir}/.." >&2
-	exit 1
-fi
-
-# Standard autoconf commands/tests follow below.])
Index: eggdrop1.7/src/mod/eggmod.sh
diff -u eggdrop1.7/src/mod/eggmod.sh:1.1 eggdrop1.7/src/mod/eggmod.sh:removed
--- eggdrop1.7/src/mod/eggmod.sh:1.1	Fri Feb 25 15:51:30 2000
+++ eggdrop1.7/src/mod/eggmod.sh	Tue Oct  9 20:20:28 2001
@@ -1,532 +0,0 @@
-# This is the original `configure' script modified for eggdrop use. All
-# changes are marked with `EGG-CHANGE-POINT'.
-#
-# $Id: eggmod.sh,v 1.1 2000/02/25 21:51:30 fabian Exp $
-#
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
-    ac_prev=
-    continue
-  fi
-
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case "$ac_option" in
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file="$ac_optarg" ;;
-
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir="$ac_optarg" ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir="$ac_optarg" ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix="$ac_optarg" ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix="$ac_optarg" ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir="$ac_optarg" ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13"
-    exit 0 ;;
-
-  -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
-
-  -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes="$ac_optarg" ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries="$ac_optarg" ;;
-
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-    ;;
-
-  *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-  esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-## EGG-CHANGE-POINT
-## Instead of a static filename, the variable $ac_egg_uniquefile specifies
-## the unique file.
-ac_unique_file=${ac_egg_uniquefile}
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-## EGG-CHANGE-POINT
-## The original configure script would now normally execute the
-## normal tests.
Index: eggdrop1.7/src/mod/filesys.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/filesys.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/filesys.mod/.cvsignore	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/filesys.mod/Makefile
diff -u eggdrop1.7/src/mod/filesys.mod/Makefile:1.16 eggdrop1.7/src/mod/filesys.mod/Makefile:removed
--- eggdrop1.7/src/mod/filesys.mod/Makefile:1.16	Mon Aug 13 15:47:54 2001
+++ eggdrop1.7/src/mod/filesys.mod/Makefile	Tue Oct  9 20:20:28 2001
@@ -1,49 +0,0 @@
-# Makefile for src/mod/filesys.mod/
-# $Id: Makefile,v 1.16 2001/08/13 20:47:54 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../filesys.o
-
-modules: ../../../filesys.$(MOD_EXT)
-
-../filesys.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/filesys.c
-	@rm -f ../filesys.o
-	mv filesys.o ../
-
-../../../filesys.$(MOD_EXT): ../filesys.o
-	$(LD) -o ../../../filesys.$(MOD_EXT) ../filesys.o $(XLIBS)
-	$(STRIP) ../../../filesys.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/filesys.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../filesys.o: .././filesys.mod/filesys.c ../../../config.h \
- ../../../src/mod/module.h ../../../src/main.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../filesys.mod/filedb3.h ../filesys.mod/filesys.h \
- ../../../src/mod/transfer.mod/transfer.h ../filesys.mod/files.h \
- ../filesys.mod/dbcompat.h ../filesys.mod/filelist.h \
- ../filesys.mod/files.c ../../../src/stat.h ../filesys.mod/filedb3.c \
- ../filesys.mod/tclfiles.c ../filesys.mod/dbcompat.c \
- ../filesys.mod/filelist.c
Index: eggdrop1.7/src/mod/filesys.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/filesys.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/filesys.mod/Makefile.am	Tue Oct  9 20:20:12 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:12 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = filesys.la
+filesys_la_SOURCES = filesys.c
+filesys_la_LDFLAGS = -module -avoid-version -no-undefined
+filesys_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/filesys.mod/filesys.c
diff -u eggdrop1.7/src/mod/filesys.mod/filesys.c:1.48 eggdrop1.7/src/mod/filesys.mod/filesys.c:1.49
--- eggdrop1.7/src/mod/filesys.mod/filesys.c:1.48	Mon Aug 13 09:51:12 2001
+++ eggdrop1.7/src/mod/filesys.mod/filesys.c	Tue Oct  9 20:20:12 2001
@@ -2,7 +2,7 @@
  * filesys.c -- part of filesys.mod
  *   main file of the filesys eggdrop module
  *
- * $Id: filesys.c,v 1.48 2001/08/13 14:51:12 guppy Exp $
+ * $Id: filesys.c,v 1.49 2001/10/10 01:20:12 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -55,6 +55,8 @@
 #include "dbcompat.h"
 #include "filelist.h"
 
+#define start filesys_LTX_start
+
 static p_tcl_bind_list H_fil;
 static Function *transfer_funcs = NULL;
 
@@ -957,12 +959,12 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *filesys_start();
+EXPORT_SCOPE char *start();
 
 static Function filesys_table[] =
 {
   /* 0 - 3 */
-  (Function) filesys_start,
+  (Function) start,
   (Function) filesys_close,
   (Function) filesys_expmem,
   (Function) filesys_report,
@@ -975,7 +977,7 @@
   (Function) & H_fil,
 };
 
-char *filesys_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/filesys.mod/filesys.h
diff -u eggdrop1.7/src/mod/filesys.mod/filesys.h:1.10 eggdrop1.7/src/mod/filesys.mod/filesys.h:1.11
--- eggdrop1.7/src/mod/filesys.mod/filesys.h:1.10	Mon Aug 13 15:47:54 2001
+++ eggdrop1.7/src/mod/filesys.mod/filesys.h	Tue Oct  9 20:20:12 2001
@@ -2,7 +2,7 @@
  * filesysc.h -- part of filesys.mod
  *   header file for the filesys2 eggdrop module
  *
- * $Id: filesys.h,v 1.10 2001/08/13 20:47:54 guppy Exp $
+ * $Id: filesys.h,v 1.11 2001/10/10 01:20:12 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -26,7 +26,7 @@
 #ifndef _EGG_MOD_FILESYS_FILESYS_H
 #define _EGG_MOD_FILESYS_FILESYS_H
 
-#include "transfer.mod/transfer.h"
+#include "src/mod/transfer.mod/transfer.h"
 
 #ifdef MAKING_FILESYS
 static int too_many_filers();
Index: eggdrop1.7/src/mod/irc.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/irc.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/irc.mod/.cvsignore	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/irc.mod/Makefile
diff -u eggdrop1.7/src/mod/irc.mod/Makefile:1.12 eggdrop1.7/src/mod/irc.mod/Makefile:removed
--- eggdrop1.7/src/mod/irc.mod/Makefile:1.12	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/irc.mod/Makefile	Tue Oct  9 20:20:28 2001
@@ -1,47 +0,0 @@
-# Makefile for src/mod/irc.mod/
-# $Id: Makefile,v 1.12 2001/08/13 20:47:55 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../irc.o
-
-modules: ../../../irc.$(MOD_EXT)
-
-../irc.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/irc.c
-	@rm -f ../irc.o
-	mv irc.o ../
-
-../../../irc.$(MOD_EXT): ../irc.o
-	$(LD) -o ../../../irc.$(MOD_EXT) ../irc.o $(XLIBS)
-	$(STRIP) ../../../irc.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/irc.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../irc.o: .././irc.mod/irc.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h ../irc.mod/irc.h \
- ../../../src/mod/server.mod/server.h \
- ../../../src/mod/channels.mod/channels.h ../irc.mod/chan.c \
- ../irc.mod/mode.c ../irc.mod/cmdsirc.c ../irc.mod/msgcmds.c \
- ../irc.mod/tclirc.c
Index: eggdrop1.7/src/mod/irc.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/irc.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/irc.mod/Makefile.am	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:13 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = irc.la
+irc_la_SOURCES     = irc.c
+irc_la_LDFLAGS     = -module -avoid-version -no-undefined
+irc_la_LIBADD      = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/irc.mod/irc.c
diff -u eggdrop1.7/src/mod/irc.mod/irc.c:1.63 eggdrop1.7/src/mod/irc.mod/irc.c:1.64
--- eggdrop1.7/src/mod/irc.mod/irc.c:1.63	Sat Oct  6 23:02:55 2001
+++ eggdrop1.7/src/mod/irc.mod/irc.c	Tue Oct  9 20:20:13 2001
@@ -2,7 +2,7 @@
  * irc.c -- part of irc.mod
  *   support for channels within the bot
  *
- * $Id: irc.c,v 1.63 2001/10/07 04:02:55 stdarg Exp $
+ * $Id: irc.c,v 1.64 2001/10/10 01:20:13 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -26,13 +26,15 @@
 #define MODULE_NAME "irc"
 #define MAKING_IRC
 #include "src/mod/module.h"
-#include "server.mod/server.h"
+#include "src/mod/server.mod/server.h"
 #include "irc.h"
-#include "channels.mod/channels.h"
+#include "src/mod/channels.mod/channels.h"
 #ifdef HAVE_UNAME
 #include <sys/utsname.h>
 #endif
 
+#define start irc_LTX_start
+
 /* We import some bind tables from server.mod */
 static bind_table_t *BT_dcc, *BT_raw, *BT_msg, *BT_ctcp, *BT_ctcr;
 
@@ -970,12 +972,12 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *irc_start();
+EXPORT_SCOPE char *start();
 
 static Function irc_table[] =
 {
   /* 0 - 3 */
-  (Function) irc_start,
+  (Function) start,
   (Function) irc_close,
   (Function) irc_expmem,
   (Function) irc_report,
@@ -988,7 +990,7 @@
   (Function) check_this_ban
 };
 
-char *irc_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
   struct chanset_t *chan;
 
Index: eggdrop1.7/src/mod/module.h
diff -u eggdrop1.7/src/mod/module.h:1.58 eggdrop1.7/src/mod/module.h:1.59
--- eggdrop1.7/src/mod/module.h:1.58	Thu Sep 27 22:15:34 2001
+++ eggdrop1.7/src/mod/module.h	Tue Oct  9 20:20:11 2001
@@ -1,7 +1,7 @@
 /*
  * module.h
  *
- * $Id: module.h,v 1.58 2001/09/28 03:15:34 stdarg Exp $
+ * $Id: module.h,v 1.59 2001/10/10 01:20:11 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -24,6 +24,9 @@
 
 #ifndef _EGG_MOD_MODULE_H
 #define _EGG_MOD_MODULE_H
+
+/* FIXME: remove this ugliness ASAP! */
+#define MAKING_MODS
 
 /* Just include *all* the include files...it's slower but EASIER */
 #include "src/main.h"
Index: eggdrop1.7/src/mod/modvals.h
diff -u eggdrop1.7/src/mod/modvals.h:1.21 eggdrop1.7/src/mod/modvals.h:1.22
--- eggdrop1.7/src/mod/modvals.h:1.21	Sat Oct  6 23:02:54 2001
+++ eggdrop1.7/src/mod/modvals.h	Tue Oct  9 20:20:11 2001
@@ -1,7 +1,7 @@
 /*
  * modvals.h
  *
- * $Id: modvals.h,v 1.21 2001/10/07 04:02:54 stdarg Exp $
+ * $Id: modvals.h,v 1.22 2001/10/10 01:20:11 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -84,9 +84,7 @@
 /* Console */
 #define CONSOLE_DOSTORE		  4
 
-#ifdef HPUX_HACKS
-#  include <dl.h>
-#endif
+#include <ltdl.h>
 
 typedef struct _module_entry {
   struct _module_entry	*next;
@@ -94,11 +92,7 @@
   int			 major;	/* Major version number MUST match	*/
   int			 minor;	/* Minor version number MUST be >=	*/
 #ifndef STATIC
-#  ifdef HPUX_HACKS
-  shl_t			 hand;
-#  else		/* !HPUX_HACKS */
-  void			*hand;	/* Module handle			*/
-#  endif	/* !HPUX_HACKS */
+  lt_dlhandle		hand;
 #endif		/* STATIC */
   Function		*funcs;
 #  ifdef DEBUG_MEM
Index: eggdrop1.7/src/mod/notes.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/notes.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:28 2001
+++ eggdrop1.7/src/mod/notes.mod/.cvsignore	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/notes.mod/Makefile
diff -u eggdrop1.7/src/mod/notes.mod/Makefile:1.13 eggdrop1.7/src/mod/notes.mod/Makefile:removed
--- eggdrop1.7/src/mod/notes.mod/Makefile:1.13	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/notes.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,44 +0,0 @@
-# Makefile for src/mod/notes.mod
-# $Id: Makefile,v 1.13 2001/08/13 20:47:55 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../notes.o
-
-modules: ../../../notes.$(MOD_EXT)
-
-../notes.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/notes.c
-	@rm -f ../notes.o
-	mv notes.o ../
-
-../../../notes.$(MOD_EXT): ../notes.o
-	$(LD) -o ../../../notes.$(MOD_EXT) ../notes.o $(XLIBS)
-	$(STRIP) ../../../notes.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/notes.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../notes.o: .././notes.mod/notes.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h ../notes.mod/notes.h \
- ../notes.mod/cmdsnote.c
Index: eggdrop1.7/src/mod/notes.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/notes.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/notes.mod/Makefile.am	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:13 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = notes.la
+notes_la_SOURCES   = notes.c
+notes_la_LDFLAGS   = -module -avoid-version -no-undefined
+notes_la_LIBADD    = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/notes.mod/notes.c
diff -u eggdrop1.7/src/mod/notes.mod/notes.c:1.34 eggdrop1.7/src/mod/notes.mod/notes.c:1.35
--- eggdrop1.7/src/mod/notes.mod/notes.c:1.34	Fri Aug 10 18:51:21 2001
+++ eggdrop1.7/src/mod/notes.mod/notes.c	Tue Oct  9 20:20:13 2001
@@ -5,7 +5,7 @@
  *   note cmds
  *   note ignores
  *
- * $Id: notes.c,v 1.34 2001/08/10 23:51:21 ite Exp $
+ * $Id: notes.c,v 1.35 2001/10/10 01:20:13 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -35,6 +35,8 @@
 #undef global
 #include "notes.h"
 
+#define start notes_LTX_start
+
 static int maxnotes = 50;	/* Maximum number of notes to allow stored
 				 * for each user */
 static int note_life = 60;	/* Number of DAYS a note lives */
@@ -1202,18 +1204,18 @@
   }
 }
 
-EXPORT_SCOPE char *notes_start();
+EXPORT_SCOPE char *start();
 
 static Function notes_table[] =
 {
-  (Function) notes_start,
+  (Function) start,
   (Function) notes_close,
   (Function) notes_expmem,
   (Function) notes_report,
   (Function) cmd_note,
 };
 
-char *notes_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
 
   global = global_funcs;
Index: eggdrop1.7/src/mod/server.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/server.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/server.mod/.cvsignore	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/server.mod/Makefile
diff -u eggdrop1.7/src/mod/server.mod/Makefile:1.13 eggdrop1.7/src/mod/server.mod/Makefile:removed
--- eggdrop1.7/src/mod/server.mod/Makefile:1.13	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/server.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,45 +0,0 @@
-# Makefile for src/mod/server.mod/
-# $Id: Makefile,v 1.13 2001/08/13 20:47:55 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../server.o
-
-modules: ../../../server.$(MOD_EXT)
-
-../server.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/server.c
-	@rm -f ../server.o
-	mv server.o ../
-
-../../../server.$(MOD_EXT): ../server.o
-	$(LD) -o ../../../server.$(MOD_EXT) ../server.o $(XLIBS)
-	$(STRIP) ../../../server.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/server.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../server.o: .././server.mod/server.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../server.mod/server.h ../server.mod/servmsg.c \
- ../server.mod/cmdsserv.c ../server.mod/tclserv.c
Index: eggdrop1.7/src/mod/server.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/server.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/server.mod/Makefile.am	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:13 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = server.la
+server_la_SOURCES  = server.c
+server_la_LDFLAGS  = -module -avoid-version -no-undefined
+server_la_LIBADD   = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/server.mod/server.c
diff -u eggdrop1.7/src/mod/server.mod/server.c:1.81 eggdrop1.7/src/mod/server.mod/server.c:1.82
--- eggdrop1.7/src/mod/server.mod/server.c:1.81	Sat Oct  6 23:02:55 2001
+++ eggdrop1.7/src/mod/server.mod/server.c	Tue Oct  9 20:20:13 2001
@@ -2,7 +2,7 @@
  * server.c -- part of server.mod
  *   basic irc server support
  *
- * $Id: server.c,v 1.81 2001/10/07 04:02:55 stdarg Exp $
+ * $Id: server.c,v 1.82 2001/10/10 01:20:13 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -28,6 +28,8 @@
 #include "src/mod/module.h"
 #include "server.h"
 
+#define start server_LTX_start
+
 static Function *global = NULL;
 
 static int ctcp_mode;
@@ -1725,11 +1727,11 @@
   return NULL;
 }
 
-EXPORT_SCOPE char *server_start();
+EXPORT_SCOPE char *start();
 
 static Function server_table[] =
 {
-  (Function) server_start,
+  (Function) start,
   (Function) server_close,
   (Function) server_expmem,
   (Function) server_report,
@@ -1779,7 +1781,7 @@
   (Function) check_tcl_notc
 };
 
-char *server_start(Function *global_funcs)
+char *start(Function *global_funcs)
 {
   char *s;
 
Index: eggdrop1.7/src/mod/share.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/share.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/share.mod/.cvsignore	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/share.mod/Makefile
diff -u eggdrop1.7/src/mod/share.mod/Makefile:1.13 eggdrop1.7/src/mod/share.mod/Makefile:removed
--- eggdrop1.7/src/mod/share.mod/Makefile:1.13	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/share.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,46 +0,0 @@
-# Makefile for src/mod/share.mod/
-# $Id: Makefile,v 1.13 2001/08/13 20:47:55 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../share.o
-
-modules: ../../../share.$(MOD_EXT)
-
-../share.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/share.c
-	@rm -f ../share.o
-	mv share.o ../
-
-../../../share.$(MOD_EXT): ../share.o
-	$(LD) -o ../../../share.$(MOD_EXT) ../share.o
-	$(STRIP) ../../../share.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/share.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../share.o: .././share.mod/share.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../../../src/mod/transfer.mod/transfer.h \
- ../../../src/mod/channels.mod/channels.h ../share.mod/share.h \
- ../share.mod/uf_features.c
Index: eggdrop1.7/src/mod/share.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/share.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/share.mod/Makefile.am	Tue Oct  9 20:20:13 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:13 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = share.la
+share_la_SOURCES   = share.c
+share_la_LDFLAGS   = -module -avoid-version -no-undefined
+share_la_LIBADD    = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/share.mod/share.c
diff -u eggdrop1.7/src/mod/share.mod/share.c:1.58 eggdrop1.7/src/mod/share.mod/share.c:1.59
--- eggdrop1.7/src/mod/share.mod/share.c:1.58	Fri Aug 10 18:51:22 2001
+++ eggdrop1.7/src/mod/share.mod/share.c	Tue Oct  9 20:20:13 2001
@@ -1,7 +1,7 @@
 /*
  * share.c -- part of share.mod
  *
- * $Id: share.c,v 1.58 2001/08/10 23:51:22 ite Exp $
+ * $Id: share.c,v 1.59 2001/10/10 01:20:13 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -33,8 +33,10 @@
 
 #include "src/chan.h"
 #include "src/users.h"
-#include "transfer.mod/transfer.h"
-#include "channels.mod/channels.h"
+#include "src/mod/transfer.mod/transfer.h"
+#include "src/mod/channels.mod/channels.h"
+
+#define start share_LTX_start
 
 /* Minimum version I will share with. */
 static const int min_share		= 1029900;
@@ -2177,12 +2179,12 @@
   }
 }
 
-EXPORT_SCOPE char *share_start();
+EXPORT_SCOPE char *start();
 
 static Function share_table[] =
 {
   /* 0 - 3 */
-  (Function) share_start,
+  (Function) start,
   (Function) share_close,
   (Function) share_expmem,
   (Function) share_report,
@@ -2194,7 +2196,7 @@
   /* 8 - 11 */
 };
 
-char *share_start(Function *global_funcs)
+char *start(Function *global_funcs)
 {
 
   global = global_funcs;
Index: eggdrop1.7/src/mod/transfer.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/transfer.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/transfer.mod/.cvsignore	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/transfer.mod/Makefile
diff -u eggdrop1.7/src/mod/transfer.mod/Makefile:1.12 eggdrop1.7/src/mod/transfer.mod/Makefile:removed
--- eggdrop1.7/src/mod/transfer.mod/Makefile:1.12	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/transfer.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,44 +0,0 @@
-# Makefile for src/mod/transfer.mod/
-# $Id: Makefile,v 1.12 2001/08/13 20:47:55 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../transfer.o
-
-modules: ../../../transfer.$(MOD_EXT)
-
-../transfer.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/transfer.c
-	@rm -f ../transfer.o
-	mv transfer.o ../
-
-../../../transfer.$(MOD_EXT): ../transfer.o
-	$(LD) -o ../../../transfer.$(MOD_EXT) ../transfer.o $(XLIBS)
-	$(STRIP) ../../../transfer.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/transfer.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../transfer.o: .././transfer.mod/transfer.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h ../../../src/proto.h \
- ../../../lush.h ../../../src/misc_file.h ../../../src/cmdt.h \
- ../../../src/tclegg.h ../../../src/tclhash.h ../../../src/chan.h \
- ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../transfer.mod/transfer.h
Index: eggdrop1.7/src/mod/transfer.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/transfer.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/transfer.mod/Makefile.am	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:14 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES  = transfer.la
+transfer_la_SOURCES = transfer.c
+transfer_la_LDFLAGS = -module -avoid-version -no-undefined
+transfer_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/transfer.mod/transfer.c
diff -u eggdrop1.7/src/mod/transfer.mod/transfer.c:1.43 eggdrop1.7/src/mod/transfer.mod/transfer.c:1.44
--- eggdrop1.7/src/mod/transfer.mod/transfer.c:1.43	Fri Aug 10 18:51:22 2001
+++ eggdrop1.7/src/mod/transfer.mod/transfer.c	Tue Oct  9 20:20:14 2001
@@ -1,7 +1,7 @@
 /*
  * transfer.c -- part of transfer.mod
  *
- * $Id: transfer.c,v 1.43 2001/08/10 23:51:22 ite Exp $
+ * $Id: transfer.c,v 1.44 2001/10/10 01:20:14 ite Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -41,6 +41,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
+#define start transfer_LTX_start
 
 static Function *global = NULL;
 
@@ -1939,11 +1940,11 @@
   }
 }
 
-EXPORT_SCOPE char *transfer_start();
+EXPORT_SCOPE char *start();
 
 static Function transfer_table[] =
 {
-  (Function) transfer_start,
+  (Function) start,
   (Function) transfer_close,
   (Function) transfer_expmem,
   (Function) transfer_report,
@@ -1971,7 +1972,7 @@
   (Function) & H_tout,			/* p_tcl_bind_list		*/
 };
 
-char *transfer_start(Function *global_funcs)
+char *start(Function *global_funcs)
 {
   global = global_funcs;
 
Index: eggdrop1.7/src/mod/uptime.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/uptime.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/uptime.mod/.cvsignore	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/uptime.mod/Makefile
diff -u eggdrop1.7/src/mod/uptime.mod/Makefile:1.3 eggdrop1.7/src/mod/uptime.mod/Makefile:removed
--- eggdrop1.7/src/mod/uptime.mod/Makefile:1.3	Mon Aug 13 15:47:55 2001
+++ eggdrop1.7/src/mod/uptime.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,43 +0,0 @@
-# Makefile for src/mod/uptime.mod/
-# $Id: Makefile,v 1.3 2001/08/13 20:47:55 guppy Exp $
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../uptime.o
-
-modules: ../../../uptime.$(MOD_EXT)
-
-../uptime.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/uptime.c
-	@rm -f ../uptime.o
-	mv uptime.o ../
-
-../../../uptime.$(MOD_EXT): ../uptime.o
-	$(LD) -o ../../../uptime.$(MOD_EXT) ../uptime.o
-	$(STRIP) ../../../uptime.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/uptime.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../uptime.o: .././uptime.mod/uptime.c ../uptime.mod/uptime.h \
- ../../../src/mod/module.h ../../../src/main.h ../../../config.h \
- ../../../src/eggdrop.h ../../../src/flags.h \
- ../../../src/proto.h ../../../lush.h ../../../src/misc_file.h \
- ../../../src/cmdt.h ../../../src/tclegg.h ../../../src/tclhash.h \
- ../../../src/chan.h ../../../src/users.h ../../../src/compat/compat.h \
- ../../../src/compat/inet_aton.h ../../../src/compat/snprintf.h \
- ../../../src/compat/memset.h ../../../src/compat/memcpy.h \
- ../../../src/compat/strcasecmp.h ../../../src/compat/strftime.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h \
- ../../../src/mod/server.mod/server.h
Index: eggdrop1.7/src/mod/uptime.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/uptime.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/uptime.mod/Makefile.am	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:14 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES  = uptime.la
+uptime_la_SOURCES = uptime.c
+uptime_la_LDFLAGS = -module -avoid-version -no-undefined
+uptime_la_LIBADD  = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/uptime.mod/uptime.c
diff -u eggdrop1.7/src/mod/uptime.mod/uptime.c:1.12 eggdrop1.7/src/mod/uptime.mod/uptime.c:1.13
--- eggdrop1.7/src/mod/uptime.mod/uptime.c:1.12	Wed Oct  3 11:00:06 2001
+++ eggdrop1.7/src/mod/uptime.mod/uptime.c	Tue Oct  9 20:20:14 2001
@@ -1,6 +1,6 @@
 /* Original Copyright (c) 2000-2001 proton
  * 
- * $Id: uptime.c,v 1.12 2001/10/03 16:00:06 poptix Exp $
+ * $Id: uptime.c,v 1.13 2001/10/10 01:20:14 ite Exp $
  * Borrowed from Emech, reports to http://uptime.energymech.net, feel free to opt out if you
  * dont like it by not loading the module.
  * 
@@ -40,6 +40,8 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#define start uptime_LTX_start
+
 typedef struct PackUp
 {
         int     regnr;
@@ -218,17 +220,17 @@
 	return NULL;
 }
 
-EXPORT_SCOPE char *uptime_start();
+EXPORT_SCOPE char *start();
 
 static Function uptime_table[] =
     {
-        (Function) uptime_start,
+        (Function) start,
         (Function) uptime_close,
         (Function) uptime_expmem,
         (Function) uptime_report,
     };
 
-char *uptime_start(Function * global_funcs)
+char *start(Function * global_funcs)
 {
 	global = global_funcs;
 
Index: eggdrop1.7/src/mod/woobie.mod/.cvsignore
diff -u /dev/null eggdrop1.7/src/mod/woobie.mod/.cvsignore:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/woobie.mod/.cvsignore	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,8 @@
+Makefile
+Makefile.in
+.deps
+.libs
+*.o
+*.lo
+*.la
+*.obj
Index: eggdrop1.7/src/mod/woobie.mod/Makefile
diff -u eggdrop1.7/src/mod/woobie.mod/Makefile:1.10 eggdrop1.7/src/mod/woobie.mod/Makefile:removed
--- eggdrop1.7/src/mod/woobie.mod/Makefile:1.10	Mon Aug 13 15:47:56 2001
+++ eggdrop1.7/src/mod/woobie.mod/Makefile	Tue Oct  9 20:20:29 2001
@@ -1,42 +0,0 @@
-# Makefile for src/mod/woobie.mod/
-# $Id: Makefile,v 1.10 2001/08/13 20:47:56 guppy Exp $
-
-srcdir = .
-
-
-doofus:
-	@echo ""
-	@echo "Let's try this from the right directory..."
-	@echo ""
-	@cd ../../../ && make
-
-static: ../woobie.o
-
-modules: ../../../woobie.$(MOD_EXT)
-
-../woobie.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DMAKING_MODS -c $(srcdir)/woobie.c
-	@rm -f ../woobie.o
-	mv woobie.o ../
-
-../../../woobie.$(MOD_EXT): ../woobie.o
-	$(LD) -o ../../../woobie.$(MOD_EXT) ../woobie.o
-	$(STRIP) ../../../woobie.$(MOD_EXT)
-
-depend:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -MM $(srcdir)/woobie.c > .depend
-
-clean:
-	@rm -f .depend *.o *.$(MOD_EXT) *~
-distclean: clean
-
-#safety hash
-../woobie.o: .././woobie.mod/woobie.c ../../../src/mod/module.h \
- ../../../src/main.h ../../../src/eggdrop.h \
- ../../../src/flags.h ../../../src/proto.h ../../../lush.h \
- ../../../src/misc_file.h ../../../src/cmdt.h ../../../src/tclegg.h \
- ../../../src/tclhash.h ../../../src/chan.h ../../../src/users.h \
- ../../../src/compat/compat.h ../../../src/compat/inet_aton.h \
- ../../../src/compat/snprintf.h ../../../src/compat/memset.h \
- ../../../src/compat/memcpy.h ../../../src/compat/strcasecmp.h \
- ../../../src/mod/modvals.h ../../../src/tandem.h
Index: eggdrop1.7/src/mod/woobie.mod/Makefile.am
diff -u /dev/null eggdrop1.7/src/mod/woobie.mod/Makefile.am:1.1
--- /dev/null	Tue Oct  9 20:20:29 2001
+++ eggdrop1.7/src/mod/woobie.mod/Makefile.am	Tue Oct  9 20:20:14 2001
@@ -0,0 +1,16 @@
+# $Id: Makefile.am,v 1.1 2001/10/10 01:20:14 ite Exp $
+
+# FIXME: optionally allow a system wide install by ignoring the line below.
+pkglibdir = $(exec_prefix)/modules
+
+pkglib_LTLIBRARIES = woobie.la
+woobie_la_SOURCES  = woobie.c
+woobie_la_LDFLAGS  = -module -avoid-version -no-undefined
+woobie_la_LIBADD   = @TCL_LIBS@ @LIBS@
+
+MAINTAINERCLEANFILES    = Makefile.in
+
+INCLUDES                = -I$(top_builddir) -I$(top_srcdir)
+
+DEFS = @EGG_DEBUG@ @DEFS@
+
Index: eggdrop1.7/src/mod/woobie.mod/woobie.c
diff -u eggdrop1.7/src/mod/woobie.mod/woobie.c:1.16 eggdrop1.7/src/mod/woobie.mod/woobie.c:1.17
--- eggdrop1.7/src/mod/woobie.mod/woobie.c:1.16	Tue Jul 24 23:21:10 2001
+++ eggdrop1.7/src/mod/woobie.mod/woobie.c	Tue Oct  9 20:20:14 2001
@@ -5,7 +5,7 @@
  * Originally written by ButchBub	  15 July     1997
  * Comments by Fabian Knittel		  29 December 1999
  *
- * $Id: woobie.c,v 1.16 2001/07/25 04:21:10 guppy Exp $
+ * $Id: woobie.c,v 1.17 2001/10/10 01:20:14 ite Exp $
  */
 /*
  * Copyright (C) 1999, 2000, 2001 Eggheads Development Team
@@ -29,6 +29,8 @@
 #define MAKING_WOOBIE
 #include "src/mod/module.h"
 #include <stdlib.h>
+
+#define start woobie_LTX_start
 
 #undef global
 /* Pointer to the eggdrop core function table. Gets initialized in
Index: eggdrop1.7/src/modules.c
diff -u eggdrop1.7/src/modules.c:1.61 eggdrop1.7/src/modules.c:1.62
--- eggdrop1.7/src/modules.c:1.61	Thu Sep 27 22:15:34 2001
+++ eggdrop1.7/src/modules.c	Tue Oct  9 20:20:10 2001
@@ -4,7 +4,7 @@
  * 
  * by Darrin Smith (beldin at light.iinet.net.au)
  * 
- * $Id: modules.c,v 1.61 2001/09/28 03:15:34 stdarg Exp $
+ * $Id: modules.c,v 1.62 2001/10/10 01:20:10 ite Exp $
  */
 /* 
  * Copyright (C) 1997  Robey Pointer
@@ -29,36 +29,8 @@
 #include "modules.h"
 #include "tandem.h"
 #include <ctype.h>
-#ifndef STATIC
-#  ifdef HPUX_HACKS
-#    include <dl.h>
-#  else
-#    ifdef OSF1_HACKS
-#      include <loader.h>
-#    else
-#      ifdef DLOPEN_1
-char *dlerror();
-void *dlopen(const char *, int);
-int dlclose(void *);
-void *dlsym(void *, char *);
-#        define DLFLAGS 1
-#      else
-#        include <dlfcn.h>
-#        ifndef RTLD_GLOBAL
-#          define RTLD_GLOBAL 0
-#        endif
-#        ifndef RTLD_NOW
-#          define RTLD_NOW 1
-#        endif
-#        ifdef RTLD_LAZY
-#          define DLFLAGS RTLD_LAZY|RTLD_GLOBAL
-#        else
-#          define DLFLAGS RTLD_NOW|RTLD_GLOBAL
-#        endif
-#      endif			/* DLOPEN_1 */
-#    endif			/* OSF1_HACKS */
-#  endif			/* HPUX_HACKS */
-#endif				/* STATIC */
+
+#include <ltdl.h>
 
 extern struct dcc_t	*dcc;
 
@@ -556,6 +528,7 @@
 void init_modules(void)
 {
   int i;
+  char wbuf[1024];
 
   module_list = nmalloc(sizeof(module_entry));
   module_list->name = nmalloc(8);
@@ -564,6 +537,14 @@
   module_list->minor = ((egg_numver) / 100) % 100;
 #ifndef STATIC
   module_list->hand = NULL;
+  
+  LTDL_SET_PRELOADED_SYMBOLS();
+  if (lt_dlinit() != 0) {
+    egg_snprintf(wbuf, sizeof(wbuf),
+		    _("error during libtdl initialization: %s\n"),
+		    lt_dlerror());
+    fatal(wbuf, 0);
+  }
 #endif
   module_list->next = NULL;
   module_list->funcs = NULL;
@@ -627,15 +608,7 @@
   Function f;
 #ifndef STATIC
   char workbuf[1024];
-#  ifdef HPUX_HACKS
-  shl_t hand;
-#  else
-#    ifdef OSF1_HACKS
-  ldr_module_t hand;
-#    else
-  void *hand;
-#    endif
-#  endif
+  lt_dlhandle hand;
 #else
   struct static_list *sl;
 #endif
@@ -646,63 +619,19 @@
   if (moddir[0] != '/') {
     if (getcwd(workbuf, 1024) == NULL)
       return _("Cant determine current directory.");
-    sprintf(&(workbuf[strlen(workbuf)]), "/%s%s." EGG_MOD_EXT, moddir, name);
+    sprintf(&(workbuf[strlen(workbuf)]), "/%s%s", moddir, name);
   } else
-    sprintf(workbuf, "%s%s." EGG_MOD_EXT, moddir, name);
-#  ifdef HPUX_HACKS
-  hand = shl_load(workbuf, BIND_IMMEDIATE, 0L);
-  if (!hand)
-    return "Can't load module.";
-#  else
-#    ifdef OSF1_HACKS
-#      ifndef HAVE_PRE7_5_TCL
-  hand = (Tcl_PackageInitProc *) load(workbuf, LDR_NOFLAGS);
-  if (hand == LDR_NULL_MODULE)
-    return "Can't load module.";
-#      endif
-#    else
-  hand = dlopen(workbuf, DLFLAGS);
+    sprintf(workbuf, "%s%s", moddir, name);
+  hand = lt_dlopenext(workbuf);
   if (!hand)
-    return dlerror();
-#    endif
-#  endif
-
-  sprintf(workbuf, "%s_start", name);
-#  ifdef HPUX_HACKS
-  if (shl_findsym(&hand, workbuf, (short) TYPE_PROCEDURE, (void *) &f))
-    f = NULL;
-#  else
-#    ifdef OSF1_HACKS
-  f = (Function) ldr_lookup_package(hand, workbuf);
-#    else
-  f = (Function) dlsym(hand, workbuf);
-#    endif
-#  endif
-  if (f == NULL) {		/* some OS's need the _ */
-    sprintf(workbuf, "_%s_start", name);
-#  ifdef HPUX_HACKS
-    if (shl_findsym(&hand, workbuf, (short) TYPE_PROCEDURE, (void *) &f))
-      f = NULL;
-#  else
-#    ifdef OSF1_HACKS
-    f = (Function) ldr_lookup_package(hand, workbuf);
-#    else
-    f = (Function) dlsym(hand, workbuf);
-#    endif
-#  endif
+    return lt_dlerror();
+
+  f = (Function) lt_dlsym(hand, "start");
     if (f == NULL) {
-#  ifdef HPUX_HACKS
-      shl_unload(hand);
-#  else
-#    ifdef OSF1_HACKS
-#    else
-      dlclose(hand);
-#    endif
-#  endif
+    lt_dlclose(hand);
       return _("No start function defined.");
     }
-  }
-#  else
+#else
   for (sl = static_modules; sl && egg_strcasecmp(sl->name, name); sl = sl->next);
   if (!sl)
     return "Unknown module.";
@@ -756,14 +685,7 @@
 	if (e != NULL)
 	  return e;
 #ifndef STATIC
-#  ifdef HPUX_HACKS
-	shl_unload(p->hand);
-#  else
-#    ifdef OSF1_HACKS
-#    else
-	dlclose(p->hand);
-#    endif
-#  endif
+	lt_dlclose(p->hand);
 #endif				/* STATIC */
       }
       nfree(p->name);
----------------------- End of diff -----------------------



More information about the Changes mailing list