]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
OMG SQLITE3 support, almost there now =)
[user/henk/code/inspircd.git] / configure
index 2c2c4bd9b21644d8758363f8710dc1d78045c81f..1ea43127da713ecbbf660766e49d1fda95306b8b 100755 (executable)
--- a/configure
+++ b/configure
@@ -2,7 +2,7 @@
 
 # InspIRCd Configuration Script
 #
-# Copyright 2002-2006 The ChatSpike Development Team
+# Copyright 2002-2007 The ChatSpike Development Team
 # <brain@chatspike.net>
 # <Craig@chatspike.net>
 #
 
 
 require 5.6.0;
+use Socket;
 use Cwd;
 use Getopt::Long;
 
+# Utility functions for our buildsystem
+use make::utilities;
+use make::configure;
+
 GetOptions (
        'enable-gnutls' => \$opt_use_gnutls,
        'enable-openssl' => \$opt_use_openssl,
@@ -209,6 +214,7 @@ $config{STATIC_LINK}            = "no";                                             # are doing static modules?
 chomp($config{MAX_CLIENT_T} = `sh -c \"ulimit -n\"`);                          # FD Limit
 chomp($config{MAX_DESCRIPTORS} = `sh -c \"ulimit -n\"`);                       # Hard FD Limit
 chomp($config{GCCVER}       = `g++ -dumpversion | cut -c 1`);                  # Major GCC Version
+$config{_SOMAXCONN} = SOMAXCONN;                                               # Max connections in accept queue
 $config{OSNAME}            = $^O;                                              # Operating System Name
 $config{CC}                = "g++";                                            # C++ compiler
 if (defined $opt_cc)
@@ -262,7 +268,7 @@ if ($config{GCCVER} eq "") {
 
 # Minihack! Convert Cygwin to 'Cyg-Static' so i can
 # Keep my dynamic module experiments here for later
-# concideration!
+# consideration!
 
 if ($config{OSNAME} =~ /CYGWIN/i)
 {
@@ -588,262 +594,25 @@ should NOT be used. You should probably specify a newer compiler.\n\n";
        print "different servers on the network.\n\n";
 
        # File Descriptor Settings..
-       my $continue = 0;
-       while (!$continue) {
-               print "Maximum number of clients at any one time ($config{MAX_CLIENT_T})\n";
-               print "[\033[1;32m$config{MAX_CLIENT}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_CLIENT};
-               }
-               if ($var =~ /^\d+$/) {
-                       if (($var > $config{MAX_CLIENT_T}) && ($fd_scan_fail ne "true")) {
-                               # Client has entered a larger number than the 'discovered' value
-                               # Confirm.
-                               print "WARNING: Our scans have indicated that you are attempting
-to use more sockets than there are avaliable. Are you sure
-you wish to do this? It may cause the IRCd to malfunction [y/n]
-[\033[1;32mn\033[0m] -> $c";
-                               chomp($tmp = <STDIN>);
-                               if ($tmp ne "y") {
-                                       print "Please enter the correct value.\n\n";
-                                       next;
-                               }
-                       }
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-                       next;
-               }
-               # If we get here, we should be good to go.
-               $config{MAX_CLIENT} = $var;
-               $config{MAX_DESCRIPTORS} = $var;
-               $continue = 1;
-               print "\n";
-       }
-
-       my $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of nicknames?\n";
-               print "[\033[1;32m$config{NICK_LENGT}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{NICK_LENGT};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{NICK_LENGT} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of channel names?\n";
-               print "[\033[1;32m$config{CHAN_LENGT}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{CHAN_LENGT};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{CHAN_LENGT} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum number of channels a normal user may join at any one time?\n";
-               print "[\033[1;32m$config{MAX_CHANNE}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_CHANNE};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_CHANNE} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum number of channels an oper may join at any one time?\n";
-               print "[\033[1;32m$config{MAX_OPERCH}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_OPERCH};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_OPERCH} = $var;
-                       $continue = 1;
-                       print "\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum number of mode changes in one line?\n";
-               print "[\033[1;32m$config{MAXI_MODES}\033[0m] -> ";
-                       chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAXI_MODES};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAXI_MODES} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
+       promptnumeric("number of clients at any one time", "MAX_CLIENT_T");
 
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of an ident (username)?\n";
-               print "[\033[1;32m$config{MAX_IDENT}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_IDENT};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_IDENT} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of a quit message?\n";
-               print "[\033[1;32m$config{MAX_QUIT}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_QUIT};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_QUIT} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of a channel topic?\n";
-               print "[\033[1;32m$config{MAX_TOPIC}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_TOPIC};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_TOPIC} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of a kick message?\n";
-               print "[\033[1;32m$config{MAX_KICK}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_KICK};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_KICK} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
-
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of a GECOS (real name) field?\n";
-               print "[\033[1;32m$config{MAX_GECOS}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_GECOS};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_GECOS} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
+       $config{MAX_CLIENT} = $var;
+       $config{MAX_DESCRIPTORS} = $var;
 
-       $continue = 0;
-       while (!$continue) {
-               print "What is the maximum length of an away message?\n";
-               print "[\033[1;32m$config{MAX_AWAY}\033[0m] -> ";
-               chomp($var = <STDIN>);
-               if ($var eq "") {
-                       $var = $config{MAX_AWAY};
-               }
-               if ($var =~ /^\d+$/) {
-                       # We don't care what the number is, set it and be on our way.
-                       $config{MAX_AWAY} = $var;
-                       $continue = 1;
-                       print "\n";
-               } else {
-                       print "You must enter a number in this field. Please try again.\n\n";
-               }
-       }
+       promptnumeric("length of nicknames", "NICK_LENGT");
+       promptnumeric("length of channel names", "CHAN_LENGT");
+       promptnumeric("number of channels a normal user may join at any one time", "MAX_CHANNE");
+       promptnumeric("number of channels an oper may join at any one time", "MAX_OPERCH");
+       promptnumeric("number of mode changes in one line", "MAXI_MODES");
+       promptnumeric("length of an ident (username)", "MAX_IDENT");
+       promptnumeric("length of a quit message", "MAX_QUIT");
+       promptnumeric("length of a channel topic", "MAX_TOPIC");
+       promptnumeric("length of a kick message", "MAX_KICK");
+       promptnumeric("length of a GECOS (real name)", "MAX_GECOS");
+       promptnumeric("length of an away message", "MAX_AWAY");
 }
 
-print "\n\033[1;32mPre-build configuration is complete!\033[0m\n\n";
-print "\033[0mBase install path:\033[1;32m\t\t$config{BASE_DIR}\033[0m\n";
-print "\033[0mConfig path:\033[1;32m\t\t\t$config{CONFIG_DIR}\033[0m\n";
-print "\033[0mModule path:\033[1;32m\t\t\t$config{MODULE_DIR}\033[0m\n";
-print "\033[0mLibrary path:\033[1;32m\t\t\t$config{LIBRARY_DIR}\033[0m\n";
-print "\033[0mMax connections:\033[1;32m\t\t$config{MAX_CLIENT}\033[0m\n";
-print "\033[0mMax User Channels:\033[1;32m\t\t$config{MAX_CHANNE}\033[0m\n";
-print "\033[0mMax Oper Channels:\033[1;32m\t\t$config{MAX_OPERCH}\033[0m\n";
-print "\033[0mMax nickname length:\033[1;32m\t\t$config{NICK_LENGT}\033[0m\n";
-print "\033[0mMax channel length:\033[1;32m\t\t$config{CHAN_LENGT}\033[0m\n";
-print "\033[0mMax mode length:\033[1;32m\t\t$config{MAXI_MODES}\033[0m\n";
-print "\033[0mMax ident length:\033[1;32m\t\t$config{MAX_IDENT}\033[0m\n";
-print "\033[0mMax quit length:\033[1;32m\t\t$config{MAX_QUIT}\033[0m\n";
-print "\033[0mMax topic length:\033[1;32m\t\t$config{MAX_TOPIC}\033[0m\n";
-print "\033[0mMax kick length:\033[1;32m\t\t$config{MAX_KICK}\033[0m\n";
-print "\033[0mMax name length:\033[1;32m\t\t$config{MAX_GECOS}\033[0m\n";
-print "\033[0mMax away length:\033[1;32m\t\t$config{MAX_AWAY}\033[0m\n";
-print "\033[0mGCC Version Found:\033[1;32m\t\t$config{GCCVER}.x\033[0m\n";
-# and not echo it out so we don't get some ricer fuck complaining
-#print "\033[0mOptimization Flag:\033[1;32m\t\t$config{OPTIMISATI}\033[0m\n";
-print "\033[0mCompiler program:\033[1;32m\t\t$config{CC}\033[0m\n";
-print "\033[0mStatic modules:\033[1;32m\t\t\t$config{STATIC_LINK}\033[0m\n";
-print "\033[0mIPv6 Support:\033[1;32m\t\t\t$config{IPV6}\033[0m\n";
-print "\033[0mIPv6 to IPv4 Links:\033[1;32m\t\t$config{SUPPORT_IP6LINKS}\033[0m\n";
-print "\033[0mGnuTLS Support:\033[1;32m\t\t\t$config{USE_GNUTLS}\033[0m\n";
-print "\033[0mOpenSSL Support:\033[1;32m\t\t$config{USE_OPENSSL}\033[0m\n\n";
+dumphash();
 
 if (($config{USE_GNUTLS} eq "y") && ($config{HAS_GNUTLS} ne "y"))
 {
@@ -1190,6 +959,8 @@ sub writefiles {
 #define VERSION "$version"
 #define REVISION "$revision2"
 #define MAXCLIENTS $config{MAX_CLIENT}
+#define MAXCLIENTS_S "$config{MAX_CLIENT}"
+#define SOMAXCONN_S "$config{_SOMAXCONN}"
 #define MAX_DESCRIPTORS $config{MAX_DESCRIPTORS}
 #define NICKMAX $NL
 #define CHANMAX $CL
@@ -1368,8 +1139,8 @@ sub getcompilerflags {
        open(FLAGS, $file);
        while (<FLAGS>) {
        if ($_ =~ /^\/\* \$CompileFlags: (.+) \*\/$/) {
-               close(FLAGS);
-                       return $1;
+                       close(FLAGS);
+                       return translate_functions($1,$file);
                }
        }
        close(FLAGS);
@@ -1382,7 +1153,7 @@ sub getlinkerflags {
        while (<FLAGS>) {
                if ($_ =~ /^\/\* \$LinkerFlags: (.+) \*\/$/) {
                        close(FLAGS);
-                       return $1;
+                       return translate_functions($1,$file);
                }
        }
        close(FLAGS);
@@ -1395,7 +1166,7 @@ sub getdependencies {
        while (<FLAGS>) {
                if ($_ =~ /^\/\* \$ModDep: (.+) \*\/$/) {
                        close(FLAGS);
-                       return $1;
+                       return translate_functions($1,$file);
                }
        }
        close(FLAGS);
@@ -1484,6 +1255,8 @@ HEADER
                        $liflags = getlinkerflags("src/modules/m_".$i.".cpp");
                        $deps = getdependencies("src/modules/m_".$i.".cpp");
 
+                       #print "file: $i: cmflags=$cmflags; liflags=$liflags; deps=$deps\n";
+
                        ###
                        # Write Entry to the Makefile
                        ###
@@ -1557,13 +1330,16 @@ EOF
        $cmflags = getcompilerflags("src/modules/m_".$i.".cpp");
        $liflags = getlinkerflags("src/modules/m_".$i.".cpp");
        $deps = getdependencies("src/modules/m_".$i.".cpp");
+
+       #print "file: $i: cmflags=$cmflags; liflags=$liflags; deps=$deps\n";
+
        print FILEHANDLE <<EOCHEESE;
 m_$i.so: m_$i.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h $deps
        \$(CC) -pipe -I../../include \$(FLAGS) $cmflags -export-dynamic -c m_$i.cpp
        \$(CC) -pipe \$(FLAGS) -shared $liflags -o m_$i.so m_$i.o $extra
 
 EOCHEESE
-       $crud = $crud . "       install -m 0700 m_$i.so \$(MODPATH)\n";
+       $crud = $crud . "       install -m \$(INSTMODE) m_$i.so \$(MODPATH)\n";
 ###
        # End Write Entry to the MakeFile
        ###
@@ -1677,7 +1453,7 @@ xline.o: xline.cpp ../include/base.h ../include/xline.h ../include/inspircd.h ..
 inspstring.o: inspstring.cpp ../include/base.h ../include/inspstring.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c inspstring.cpp
 
-dns.o: dns.cpp ../include/base.h ../include/dns.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+dns.o: dns.cpp ../include/base.h ../include/dns.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c dns.cpp
 
 base.o: base.cpp ../include/base.h ../include/globals.h ../include/inspircd_config.h
@@ -1686,16 +1462,16 @@ base.o: base.cpp ../include/base.h ../include/globals.h ../include/inspircd_conf
 configreader.o: configreader.cpp ../include/base.h ../include/configreader.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c configreader.cpp
 
-commands.o: commands.cpp ../include/base.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h $srcobjs
+commands.o: commands.cpp ../include/base.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h $srcobjs
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c commands.cpp $cmdobjs
 
 dynamic.o: dynamic.cpp ../include/base.h ../include/dynamic.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c dynamic.cpp
 
-users.o: users.cpp ../include/base.h ../include/users.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+users.o: users.cpp ../include/base.h ../include/users.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c users.cpp
 
-modules.o: modules.cpp ../include/base.h ../include/modules.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+modules.o: modules.cpp ../include/base.h ../include/modules.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c modules.cpp
 
 wildcard.o: wildcard.cpp ../include/base.h ../include/wildcard.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
@@ -1704,10 +1480,10 @@ wildcard.o: wildcard.cpp ../include/base.h ../include/wildcard.h ../include/insp
 socket.o: socket.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c socket.cpp
        
-inspsocket.o: inspsocket.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h
+inspsocket.o: inspsocket.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c inspsocket.cpp
 
-timer.o: timer.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h
+timer.o: timer.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c timer.cpp
 
 EOM
@@ -1804,7 +1580,7 @@ libIRCDmode.so: mode.cpp ../include/base.h ../include/mode.h ../include/inspircd
        \${MAKE} -C "modes" DIRNAME="src/modes" CC="\$(CC)" \$(MAKEARGS) CPPFILES="\$(CPPFILES)"
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDmode.so mode.o modes/modeclasses.a
 
-libIRCDxline.so: xline.cpp ../include/base.h ../include/xline.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+libIRCDxline.so: xline.cpp ../include/base.h ../include/xline.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c xline.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDxline.so xline.o
 
@@ -1812,7 +1588,7 @@ libIRCDstring.so: inspstring.cpp ../include/base.h ../include/inspstring.h ../in
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c inspstring.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDstring.so inspstring.o
 
-libIRCDasyncdns.so: dns.cpp ../include/base.h ../include/dns.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+libIRCDasyncdns.so: dns.cpp ../include/base.h ../include/dns.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c dns.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDasyncdns.so dns.o
 
@@ -1824,7 +1600,7 @@ libIRCDconfigreader.so: configreader.cpp ../include/base.h ../include/configread
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c configreader.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDconfigreader.so configreader.o
 
-libIRCDcommands.so: commands.cpp ../include/base.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+libIRCDcommands.so: commands.cpp ../include/base.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c commands.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDcommands.so commands.o
 
@@ -1832,11 +1608,11 @@ libIRCDdynamic.so: dynamic.cpp ../include/base.h ../include/dynamic.h ../include
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c dynamic.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDdynamic.so dynamic.o
 
-libIRCDusers.so: users.cpp ../include/base.h ../include/users.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+libIRCDusers.so: users.cpp ../include/base.h ../include/users.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c users.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDusers.so users.o
 
-libIRCDmodules.so: modules.cpp ../include/base.h ../include/modules.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h
+libIRCDmodules.so: modules.cpp ../include/base.h ../include/modules.h ../include/inspircd.h ../include/channels.h ../include/users.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c modules.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDmodules.so modules.o
 
@@ -1848,11 +1624,11 @@ libIRCDsocket.so: socket.cpp ../include/base.h ../include/inspircd.h ../include/
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c socket.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDsocket.so socket.o
 
-libIRCDinspsocket.so: inspsocket.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h
+libIRCDinspsocket.so: inspsocket.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c inspsocket.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDinspsocket.so inspsocket.o
 
-libIRCDtimer.so: timer.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h
+libIRCDtimer.so: timer.cpp ../include/base.h ../include/inspircd.h ../include/globals.h ../include/inspircd_config.h ../include/timer.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c timer.cpp
        \$(CC) -pipe -Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared -o libIRCDtimer.so timer.o