-chomp(our $gnutls_ver = $config{HAS_GNUTLS});
-chomp(our $openssl_ver = $config{HAS_OPENSSL});
-$config{USE_GNUTLS} = "n";
-if (defined $opt_use_gnutls)
-{
- $config{USE_GNUTLS} = "y"; # Use gnutls.
-}
-$config{USE_OPENSSL} = "n"; # Use openssl.
-if (defined $opt_use_openssl)
-{
- $config{USE_OPENSSL} = "y";
-}
-
-if (!defined $opt_disable_debug) {
- $config{OPTIMISATI} = "-g1"; # Optimisation Flag
-} else {
- $config{OPTIMISATI} = "-O2";
-}
-
-$config{HAS_STRLCPY} = "false"; # strlcpy Check.
-$config{HAS_STDINT} = "false"; # stdint.h check
-$config{USE_KQUEUE} = "y"; # kqueue enabled
-if (defined $opt_nokqueue) {
- $config{USE_KQUEUE} = "n";
-}
-$config{USE_POLL} = "y"; # poll enabled
-$config{USE_EPOLL} = "y"; # epoll enabled
-if (defined $opt_noepoll)
-{
- $config{USE_EPOLL} = "n";
-}
-$config{USE_PORTS} = "y"; # epoll enabled
-if (defined $opt_noports)
-{
- $config{USE_PORTS} = "n";
-}
-$config{IPV6} = "y"; # IPv6 support
-if (defined $opt_noipv6)
-{
- $config{IPV6} = "n";
-}
-$config{_SOMAXCONN} = SOMAXCONN; # Max connections in accept queue
-$config{OSNAME} = $^O; # Operating System Name
-$config{IS_DARWIN} = "NO"; # Is OSX?
-$config{STARTSCRIPT} = "inspircd"; # start script?
-$config{DESTINATION} = "BASE"; # Is target path.
-$config{EXTRA_DIR} = ""; # Is empty.
-if ($config{OSNAME} =~ /darwin/i)
-{
- $config{IS_DARWIN} = "YES";
- $config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX.
-}
-$config{CC} = "g++"; # C++ compiler
-if (defined $opt_cc)
-{
- $config{CC} = $opt_cc;
-}
-our $exec = $config{CC} . " -dumpversion | cut -c 1";
-chomp($config{GCCVER} = `$exec`); # Major GCC Version
-$exec = $config{CC} . " -dumpversion | cut -c 3";
-chomp($config{GCCMINOR} = `$exec`);
-$config{MAXBUF} = "512"; # Max buffer size
-
-if ($config{HAS_OPENSSL} =~ /^([-[:digit:].]+)([a-z])?(\-[a-z][0-9])?$/) {
- $config{HAS_OPENSSL} = $1;
-} else {
- $config{HAS_OPENSSL} = "";
-}
-
-if (($config{GCCVER} eq "") || ($config{GCCMINOR} eq "")) {
- print $config{CC} . " was not found! You require g++ (the GNU C++ compiler, part of GCC) to build InspIRCd!\n";
- exit;
-}
-
-# Get and Set some important vars..
-getmodules();
-
-sub clean
-{
- unlink(".config.cache");
-}
-
-our ($has_epoll, $has_ports, $has_kqueue) = (0, 0, 0);
-
-sub update
-{
- eval {
- chomp($topdir = getcwd());
- $this = resolve_directory($topdir); # PWD, Regardless.
- getmodules();
- # Does the cache file exist?
- if (!getcache()) {
- # No, No it doesn't.. *BASH*
- print "You have not run ./configure before. Please do this before trying to run the update script.\n";
- exit 0;
- } else {
- # We've Loaded the cache file and all our variables..
- print "Updating files...\n";
- if (defined($opt_disable_debug) && $opt_disable_debug == 1)
- {
- print "Disabling debug information (-g).\n";
- $config{OPTIMISATI} = "";
- }
- $has_epoll = $config{HAS_EPOLL};
- $has_ports = $config{HAS_PORTS};
- $has_kqueue = $config{HAS_KQUEUE};
- writefiles(1);
- makecache();
- print "Complete.\n";
- exit;
- }
- };
- if ($@)
- {
- print "Configure update failed: $@\n";
- }
- exit;
-}
-
-sub svnupdate
-{
- my $fail = 0;
- open(FH,"<.svn/entries") or $fail = 1;
- if ($fail) {
- print "This is not an SVN copy of InspIRCd.\n";
- exit 1;
- }
- else
- {
- close(FH);
- }
- open my $fd, "-|", "svn update";
- my $configurechanged = 0; # Needs ./configure -update
- my $rootincchanged = 0;
- my @conflicted = ();
- while (defined(my $line = <$fd>))
- {
- my ($action, $file);
- print $line;
- $line =~ m/^([ADUCG])\s+(.*)$/ or next;
- ($action, $file) = ($1, $2);
- if ($action eq "C")
- {
- push @conflicted, $file;
- if ($file eq "configure")
- {
- $configurechanged = 1;
- }
- elsif ($file =~ m/^\..*\.inc$/)
- {
- $rootincchanged = 1;
- }
- }
- elsif ($action eq "U" || $action eq "G")
- {
- if ($file eq "configure")
- {
- $configurechanged = 1;
- }
- elsif ($file =~ m/^\..*\.inc$/)
- {
- $rootincchanged = 1;
- }
- }
- }
- unless (close $fd) # close() waits for exit and returns false if the command failed
- {
- if ($! == 0)
- {
- print STDERR "Problem updating from SVN, please check above for errors\n";
- }
- else
- {
- print STDERR "Failed to run SVN: $!\n";
- }