]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Add some documentation
[user/henk/code/inspircd.git] / configure
index 1104d4209347ca34ea2d313c782050d129901255..67e5b7aab44bd327b29653cfeea35375ed3bd7ad 100755 (executable)
--- a/configure
+++ b/configure
@@ -397,7 +397,7 @@ sub svnupdate
 
 print "Running non-interactive configure...\n" unless $interactive;
 print "Checking for cache from previous configure... ";
-print ((getcache() eq "true") ? "found\n" : "not found\n");
+print ((!getcache()) ? "not found\n" : "found\n");
 print "Checking operating system version... ";
 print getosflags() . "\n";
 
@@ -474,6 +474,40 @@ if ($has_epoll) {
        if (($kernel =~ /^2\.0\./) || ($kernel =~ /^2\.2\./) || ($kernel =~ /^2\.4\./)) {
                $has_epoll = 0;
        }
+       else
+       {
+               # Suggestion from nenolod, weed out odd systems which have glibc built
+               # against 2.4 kernels (ick)
+
+               $libcv = 0.0;
+               $kernelv = 0.0;
+               open (FH,"/lib/libc.so.6|") or $has_epoll = 0;
+               if ($has_epoll)
+               {
+                       while (chomp($line = <FH>))
+                       {
+                               if ($line =~ /GNU C Library .* version (.*?) /)
+                               {
+                                       $libcv = $1;
+                               }
+                               elsif ($line =~ /Compiled on a Linux (.*?\..*?)\.* system/)
+                               {
+                                       $kernelv = $1;
+                               }
+                       }
+                       close FH;
+                       if ($libcv < 2.3)
+                       {
+                               $has_epoll = 0;
+                               printf "libc too old: $libcv... ";
+                       }
+                       if ($kernelv < 2.6)
+                       {
+                               $has_epoll = 0;
+                               printf "libc built against older kernel $kernelv... ";
+                       }
+               }
+       }
 }
 print "yes\n" if $has_epoll == 1;
 print "no\n" if $has_epoll == 0;
@@ -713,14 +747,14 @@ if ($config{USE_GNUTLS} eq "y") {
 * few times and get that HD going :) Then answer the        *
 * Questions which follow. If you are unsure, just hit enter *
 *************************************************************\n\n";
-                       make_gnutls_cert() or $failed = 1;
-                       if (!$failed) {
+                       $failed = make_gnutls_cert();
+                       if ($failed) {
+                               print "\n\033[1;32mCertificate generation failed!\033[0m\n\n";
+                       } else {
                                print "\nCertificate generation complete, copying to config directory... ";
                                system("mv key.pem $config{CONFIG_DIR}/key.pem");
                                system("mv cert.pem $config{CONFIG_DIR}/cert.pem");
                                print "Done.\n\n";
-                       } else {
-                               print "\n\033[1;32mCertificate generation failed!\033[0m\n\n";
                        }
                }
                else {
@@ -806,7 +840,7 @@ FOO2
 ################################################################################
 sub getcache {
        # Retrieves the .config.cache file, and loads values into the main config hash.
-       open(CACHE, ".config.cache") or return undef;
+       open(CACHE, ".config.cache") or return 0;
        while (<CACHE>) {
                chomp;
                # Ignore Blank lines, and comments..
@@ -818,7 +852,7 @@ sub getcache {
                $config{$key} = $1;
        }
        close(CONFIG);
-       return "true";
+       return 1;
 }
 
 sub makecache {
@@ -1134,6 +1168,10 @@ EOF
        foreach $name (sort readdir(DIRHANDLE)) {
                if ($name =~ /^\.(.+)\.inc$/) {
                        $file = $1;
+
+                       # Bug #353, omit this on non-darwin
+                       next if (($config{OSNAME} !~ /darwin/) && ($file eq "org.inspircd.plist"));
+
                        # All .name.inc files need parsing!
                        $tmp = "";
                        open(FILEHANDLE, ".$file.inc");