X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=configure;h=ecc8b1640ed997ff800f6a2e35c4c2b919037caa;hb=2e4f3512c9414793c714748aec7d676d33e18e2c;hp=ff83fab19a8544d0161e04da12219429c93abf44;hpb=741682d5c54bcf9bb2c0dc79dc2c318b7df9381c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index ff83fab19..ecc8b1640 100755 --- a/configure +++ b/configure @@ -2,7 +2,7 @@ ################################################### # InspIRCd Configuration Script # -# Copyright 2002-2007 The InspIRCd Development Team +# Copyright 2002-2008 The InspIRCd Development Team # http://www.inspircd.org/wiki/index.php/Credits # # Licensed under GPL, please see the COPYING file @@ -98,7 +98,7 @@ our %extraobjects = (); our %extrasources = (); our ($opt_use_gnutls, $opt_rebuild, $opt_use_openssl, $opt_nointeractive, $opt_nick_length, - $opt_chan_length, $opt_maxclients, $opt_ports, $opt_epoll, $opt_kqueue, $opt_noports, + $opt_chan_length, $opt_ports, $opt_epoll, $opt_kqueue, $opt_noports, $opt_noepoll, $opt_nokqueue, $opt_disablerpath, $opt_ipv6, $opt_ipv6links, $opt_noipv6links, $opt_ident, $opt_quit, $opt_topic, $opt_maxbuf, $opt_kick, $opt_gecos, $opt_away, $opt_modes, $opt_disable_debug, $opt_maxchans, @@ -123,7 +123,6 @@ GetOptions ( 'disable-interactive' => \$opt_nointeractive, 'with-nick-length=i' => \$opt_nick_length, 'with-channel-length=i' => \$opt_chan_length, - 'with-max-clients=i' => \$opt_maxclients, 'enable-ports' => \$opt_ports, 'enable-epoll' => \$opt_epoll, 'enable-kqueue' => \$opt_kqueue, @@ -181,7 +180,6 @@ our $non_interactive = ( (defined $opt_away) || (defined $opt_gecos) || (defined $opt_kick) || - (defined $opt_maxclients) || (defined $opt_modes) || (defined $opt_topic) || (defined $opt_quit) || @@ -241,7 +239,16 @@ if (defined $opt_library_dir) $config{LIBRARY_DIR} = $opt_library_dir; } chomp($config{HAS_GNUTLS} = `libgnutls-config --version 2>/dev/null | cut -c 1,2,3`); # GNUTLS Version. -chomp($config{HAS_OPENSSL} = `pkg-config --modversion openssl 2>/dev/null`); # Openssl version + +if ($^O eq "freebsd") +{ + chomp($config{HAS_OPENSSL} = `openssl version | cut -d ' ' -f 2`); # OpenSSL version, freebsd specific +} +else +{ + chomp($config{HAS_OPENSSL} = `pkg-config --modversion openssl 2>/dev/null`); # Openssl version, others +} + chomp(our $gnutls_ver = $config{HAS_GNUTLS}); chomp(our $openssl_ver = $config{HAS_OPENSSL}); $config{USE_GNUTLS} = "n"; @@ -324,8 +331,6 @@ if (defined $opt_noipv6links) { $config{SUPPORT_IP6LINKS} = "n"; } -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 @@ -391,12 +396,6 @@ if ($config{GCCVER} eq "") { exit; } -our $fd_scan_fail = ""; -if (!$config{MAX_CLIENT_T}) { - $config{MAX_CLIENT_T} = 1024; # Set a reasonable 'Default' - $fd_scan_fail = "true"; # Used Later -} - # Get and Set some important vars.. getmodules(); @@ -493,6 +492,7 @@ sub svnupdate my $configurechanged = 0; # Needs ./configure -update my $coredirchanged = 0; # Needs ./configure -update my $moduledirchanged = 0; # Needs ./configure -modupdate + my $rootincchanged = 0; my @conflicted = (); while (defined(my $line = <$fd>)) { @@ -507,7 +507,7 @@ sub svnupdate { $configurechanged = 1; } - if ($file =~ m#^src/modules#) + elsif ($file =~ m#^src/modules#) { $moduledirchanged = 1; } @@ -515,6 +515,10 @@ sub svnupdate { $coredirchanged = 1; } + elsif ($file =~ m/^\..*\.inc$/) + { + $rootincchanged = 1; + } } elsif ($action eq "U" || $action eq "G") { @@ -522,6 +526,10 @@ sub svnupdate { $configurechanged = 1; } + elsif ($file =~ m/^\..*\.inc$/) + { + $rootincchanged = 1; + } } elsif ($action eq "A" || $action eq "D") { @@ -550,13 +558,15 @@ sub svnupdate if (scalar(@conflicted) > 0) { print STDERR "\e[0;33;1mERROR:\e[0m You have local modifications which conflicted with the updates from SVN\n"; - printf STDERR "Configure is not able to complete the update. Please resolve these conflicts, then run ./configure -%supdate", (($coredirchanged || $configurechanged) ? "" : "mod"); + printf STDERR "Configure is not able to complete the update. Please resolve these conflicts, then run ./configure -%supdate\n", (($coredirchanged || $configurechanged) ? "" : "mod"); + print "Conflicted files: " . join ", ", @conflicted . "\n"; + exit 1; } if ($configurechanged || $coredirchanged) { system("perl configure -update"); } - elsif ($moduledirchanged) + elsif ($moduledirchanged || $rootincchanged) { system("perl configure -modupdate"); } @@ -576,18 +586,6 @@ print ((!getcache()) ? "not found\n" : "found\n"); print "Checking operating system version... "; print getosflags() . "\n"; -if (defined $opt_maxclients) -{ - $config{MAX_CLIENT} = $opt_maxclients; -} - -if (!$config{MAX_CLIENT}) { - # If the cache hasn't set the max clients, copy the variable of MAX_CLIENT_T, this - # allows us to keep _T for testing purposes. (ie. "Are you sure you want to go - # higher than the found value" :)) - $config{MAX_CLIENT} = $config{MAX_CLIENT_T}; -} - printf "Checking if stdint.h exists... "; $config{HAS_STDINT} = "true"; our $fail = 0; @@ -791,7 +789,6 @@ a new value. Please note: You will \e[1mHAVE\e[0m to read the docs dir, otherwise you won't have a config file! Your operating system is: \e[1;32m$config{OSNAME}\e[0m ($wholeos) -Maximum file descriptors: \e[1;32m$config{MAX_CLIENT_T}\e[0m Your InspIRCd revision ID is \e[1;32mr$rev\e[0m STOP if ($rev eq "r0") { @@ -905,11 +902,6 @@ should NOT be used. You should probably specify a newer compiler.\n\n"; print "of the 'maximum number of clients' setting which may be different on\n"; print "different servers on the network.\n\n"; - # File Descriptor Settings.. - promptnumeric("number of clients at any one time", "MAX_CLIENT_T"); - $config{MAX_CLIENT} = $config{MAX_CLIENT_T}; - $config{MAX_DESCRIPTORS} = $config{MAX_CLIENT_T}; - promptnumeric("length of nicknames", "NICK_LENGT"); promptnumeric("length of channel names", "CHAN_LENGT"); promptnumeric("number of mode changes in one line", "MAXI_MODES"); @@ -1122,8 +1114,8 @@ sub getosflags { # Beware: Linux sets it's own cflags below for some retarded reason $config{LDLIBS} = "-pthread -lstdc++"; - $config{FLAGS} = "-fPIC -Woverloaded-virtual -Wshadow -Wall $config{OPTIMISATI}"; - $config{DEVELOPER} = "-fPIC -Woverloaded-virtual -Wshadow -Wall -g"; + $config{FLAGS} = "-fPIC -Woverloaded-virtual -Wshadow -Wformat=2 -Wmissing-format-attribute -Wall $config{OPTIMISATI}"; + $config{DEVELOPER} = "-fPIC -Woverloaded-virtual -Wshadow -Wall -Wformat=2 -Wmissing-format-attribute -g"; $SHARED = "-Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared" unless defined $opt_disablerpath; $config{MAKEPROG} = "make"; @@ -1149,7 +1141,7 @@ sub getosflags { if ($config{OSNAME} =~ /Linux/i) { $config{LDLIBS} = "-ldl -lstdc++ -pthread"; - $config{FLAGS} = "-fPIC -Woverloaded-virtual -Wshadow -Wall $config{OPTIMISATI}"; +# $config{FLAGS} = "-fPIC -Woverloaded-virtual -Wshadow -Wall $config{OPTIMISATI}"; $config{FLAGS} .= " " . $ENV{CXXFLAGS} if exists($ENV{CXXFLAGS}); $config{LDLIBS} .= " " . $ENV{LDLIBS} if exists($ENV{LDLIBS}); $config{MAKEPROG} = "make"; @@ -1210,10 +1202,7 @@ sub writefiles { #define MOD_PATH "$config{MODULE_DIR}" #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 #define MAXMODES $config{MAXI_MODES}