]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Fixes to make ./configure prompt for libs if all else fails (discussed earlier with...
[user/henk/code/inspircd.git] / configure
index 8f7e7fe0dd23149f85a03b094bdff42e10ca738d..fdfcb5e7aa0f68ae94d5609c0671f43d1670a95e 100755 (executable)
--- a/configure
+++ b/configure
@@ -309,6 +309,7 @@ sub update
                $has_epoll = $config{HAS_EPOLL};
                $has_kqueue = $config{HAS_KQUEUE};
                writefiles(1);
+               makecache();
                print "Complete.\n";
                exit;
        }
@@ -331,6 +332,7 @@ sub modupdate
                 $has_epoll = $config{HAS_EPOLL};
                 $has_kqueue = $config{HAS_KQUEUE};
                 writefiles(0);
+               makecache();
                 print "Complete.\n";
                 exit;
         }
@@ -430,7 +432,7 @@ if (!$fail) {
 if ($has_epoll) {
        my $kernel = `uname -r`;
        chomp($kernel);
-       if (($kernel =~ /2\.0/) || ($kernel =~ /2\.2/) || ($kernel =~ /2\.4/)) {
+       if (($kernel =~ /^2\.0\./) || ($kernel =~ /^2\.2\./) || ($kernel =~ /^2\.4\./)) {
                $has_epoll = 0;
        }
 }
@@ -710,8 +712,8 @@ if (($config{USE_GNUTLS} eq "n") && ($config{USE_OPENSSL} eq "n")) {
 }
 
 getosflags();
-makecache();
 writefiles(1);
+makecache();
 
 print "\n\n";
 print "To build your server with these settings, please type '\033[1;32m$config{MAKEPROG}\033[0m' now.\n";
@@ -1251,32 +1253,29 @@ EOCHEESE
        foreach $name (sort readdir(DIRHANDLE)) {
                if ($name =~ /^m_(.+?)$/) {
                        $crapola = "";
-                       $crap2 = "ar r $name.a ";
                        $crap3 = "";
                        # A module made of multiple files, in a dir, e.g. src/modules/m_spanningtree/
                        if (opendir(MDIRHANDLE, "src/modules/$name") != 0) {
                                print "Composing Makefile rules for directory \033[1;32m$name\033[0m... ";
                                my $i = 0;
-                               print FILEHANDLE "$name.a: ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h $deps"; 
+                               print FILEHANDLE "$name.so: ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h"; 
                                foreach $fname (sort readdir(MDIRHANDLE)) {
                                        if ($fname =~ /\.cpp$/) {
                                                $cmflags = getcompilerflags("src/modules/$name/$fname");
                                                $liflags = getlinkerflags("src/modules/$name/$fname");
                                                $deps = getdependencies("src/modules/$name/$fname");
-                                               print FILEHANDLE " $name/$fname";
-                                               $crapola = $crapola .  "        \$(CC) -pipe -I../../include \$(FLAGS) $cmflags -export-dynamic -c $name/$fname\n";
                                                $oname = $fname;
                                                $oname =~ s/\.cpp$/.o/g;
-                                               $crap2 = $crap2 . " $oname";
+                                               print FILEHANDLE " $name/$oname";
+                                               $crapola = $crapola .  "$name/$oname: $name/$fname ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h $deps\n";
+                                               $crapola = $crapola .  "        \$(CC) -pipe -I../../include -I. \$(FLAGS) $cmflags -export-dynamic -o $name/$oname -c $name/$fname\n\n";
                                                $crap3 = $crap3 . " $name/$oname";
                                                $i++;
                                        }
                                }
                                print "(\033[1;32m$i files found\033[0m)\n";
-                               print FILEHANDLE "\n$crapola    $crap2\n\n";
-                               print FILEHANDLE "$name.so: $name.a ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/configreader.h$crap3\n";
-                               print FILEHANDLE "      ranlib $name.a\n";
-                               print FILEHANDLE "      \$(CC) -pipe $liflags -shared -o $name.so $name.a\n";
+                               print FILEHANDLE "\n    \$(CC) -pipe \$(FLAGS) -shared $liflags -o $name.so $crap3\n";
+                               print FILEHANDLE "\n$crapola\n";
                                closedir(MDIRHANDLE);
                                $crud = $crud . "       install -m \$(INSTMODE) $name.so \$(MODPATH)\n";
                        }