X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=67e5b7aab44bd327b29653cfeea35375ed3bd7ad;hb=b5944899a98a6cc0bae7bff0fe195b7e550e26bb;hp=0e9511b87bd7ac4abc7c60e49cae1d73c3d6a8fb;hpb=f2acdbc3820f0f4f5ef76a0a64e73d2a320df91f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index 0e9511b87..67e5b7aab 100755 --- 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 = )) + { + 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 () { 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 < -# Many Thanks to Andrew Church -# 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 +# 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 < -# Many Thanks to Andrew Church -# 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 +# 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 < -# Makefile version 2 (statically linked core) by +# Thanks to Andrew Church +# 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 < -# Makefile version 2 (dynamically linked core) by +# Thanks to Andrew Church +# 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