]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Add some documentation
[user/henk/code/inspircd.git] / configure
index 0e9511b87bd7ac4abc7c60e49cae1d73c3d6a8fb..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");
@@ -1196,13 +1234,16 @@ sub write_static_modules_makefile {
        # Module Makefile Header
        ###
        print FILEHANDLE <<EOF;
-# (C) ChatSpike development team
-# Makefile by <Craig\@ChatSpike.net>
-# Many Thanks to Andrew Church <achurch\@achurch.org>
-#    for assisting with making this work right.
+###################################################
+# Copyright 2002-2007 The InspIRCd Development Team
+#  http://www.inspircd.org/wiki/index.php/Credits
+#
+# Thanks to Andrew Church <achurch\@achurch.org>
+#  for assisting with making this work right.
 #
-# Automatically Generated by ./configure to add a modules
-# please run ./configure --update
+# Automatically Generated by ./configure to add a
+#  modules please run ./configure --modupdate
+###################################################
 
 all: \$(MODULES)
 
@@ -1298,13 +1339,16 @@ sub write_dynamic_modules_makefile {
 # Module Makefile Header
 ###
        print FILEHANDLE <<EOF;
-# (C) ChatSpike development team
-# Makefile by <Craig\@ChatSpike.net>
-# Many Thanks to Andrew Church <achurch\@achurch.org>
-#    for assisting with making this work right.
+###################################################
+# Copyright 2002-2007 The InspIRCd Development Team
+#  http://www.inspircd.org/wiki/index.php/Credits
+#
+# Thanks to Andrew Church <achurch\@achurch.org>
+#   for assisting with making this work right.
 #
-# Automatically Generated by ./configure to add a modules
-# please run ./configure -update or ./configure -modupdate
+# Automatically Generated by ./configure to add a
+#  modules please run ./configure -modupdate
+###################################################
 
 all: \$(MODULES)
 
@@ -1356,6 +1400,7 @@ EOCHEESE
                if ($name =~ /^m_(.+?)$/) {
                        $crapola = "";
                        $crap3 = "";
+                       $mliflags = "";
                        # A module made of multiple files, in a dir, e.g. src/modules/m_spanningtree/
                        if (opendir(MDIRHANDLE, "src/modules/$name") != 0) {
                                my $i = 0;
@@ -1363,7 +1408,7 @@ EOCHEESE
                                foreach $fname (sort readdir(MDIRHANDLE)) {
                                        if ($fname =~ /\.cpp$/) {
                                                $cmflags = getcompilerflags("src/modules/$name/$fname");
-                                               $liflags = getlinkerflags("src/modules/$name/$fname");
+                                               $mliflags = $mliflags . " " . getlinkerflags("src/modules/$name/$fname");
                                                $deps = getdependencies("src/modules/$name/$fname");
                                                $oname = $fname;
                                                $oname =~ s/\.cpp$/.o/g;
@@ -1378,7 +1423,7 @@ EOCHEESE
                                if ($config{IS_DARWIN} eq "YES") {
                                        print FILEHANDLE "\n    \$(CC) -pipe -twolevel_namespace -undefined dynamic_lookup \$(FLAGS) -bundle -o $name.so $crap3\n"; 
                                } else {
-                                       print FILEHANDLE "\n    \$(CC) -pipe \$(FLAGS) -shared $liflags -o $name.so $crap3\n";
+                                       print FILEHANDLE "\n    \$(CC) -pipe \$(FLAGS) -shared $mliflags -o $name.so $crap3\n";
                                }
                                print FILEHANDLE "\n$crapola\n";
                                closedir(MDIRHANDLE);
@@ -1410,12 +1455,16 @@ sub write_static_makefile {
                $srcobjs = $srcobjs . "cmd_$cmd.cpp ";
        }
        print FH <<EOM;
-# Insp Makefile :p
+###################################################
+# Copyright 2002-2007 The InspIRCd Development Team
+#  http://www.inspircd.org/wiki/index.php/Credits
 #
-# (C) ChatSpike development team
-# Makefile by <Craig\@ChatSpike.net>
-# Makefile version 2 (statically linked core) by <brain\@inspircd.org>
+# Thanks to Andrew Church <achurch\@achurch.org>
+#  for assisting with making this work right.
 #
+# This file is automagically generated by configure
+# Any changes made will be lost on ./configure
+###################################################
 
 CC = im a cheezeball
 
@@ -1575,12 +1624,16 @@ sub write_dynamic_makefile {
 
        open(FH,">src/Makefile") or die("Could not write src/Makefile");
        print FH <<EOM;
-# Insp Makefile :p
+###################################################
+# Copyright 2002-2007 The InspIRCd Development Team
+#  http://www.inspircd.org/wiki/index.php/Credits
 #
-# (C) ChatSpike development team
-# Makefile by <Craig\@ChatSpike.net>
-# Makefile version 2 (dynamically linked core) by <brain\@inspircd.org>
+# Thanks to Andrew Church <achurch\@achurch.org>
+#  for assisting with making this work right.
 #
+# This file is automagically generated by configure 
+# Any changes made will be lost on ./configure         
+###################################################
 
 CC = im a cheezeball