X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=61313c9fe2804e60be87b4550fa45a2e56799db0;hb=baa9ba88b78cf9de5e37dc78433c4e2f91ee9c79;hp=3f684df8ab2f09ffcc400aa99cedc620b385ec9b;hpb=bd6496191222fab41b364dfcad54ec52a753be7d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index 3f684df8a..61313c9fe 100755 --- a/configure +++ b/configure @@ -1,16 +1,30 @@ #!/usr/bin/env perl -################################################### -# InspIRCd Configuration Script + +# +# InspIRCd -- Internet Relay Chat Daemon # -# Copyright 2002-2010 The InspIRCd Development Team -# http://wiki.inspircd.org/Credits +# Copyright (C) 2009-2010 Daniel De Graaf +# Copyright (C) 2007, 2009 Dennis Friis +# Copyright (C) 2003, 2006-2008 Craig Edwards +# Copyright (C) 2006-2008 Robin Burchell +# Copyright (C) 2008 Thomas Stagner +# Copyright (C) 2007 John Brooks +# Copyright (C) 2006 Oliver Lupton +# Copyright (C) 2003-2006 Craig McLure # -# Licensed under GPL, please see the COPYING file -# for more information +# This file is part of InspIRCd. InspIRCd is free software: you can +# redistribute it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation, version 2. # -# $Id$ +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. # -################################################### +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + BEGIN { require 5.8.0; @@ -82,7 +96,6 @@ GetOptions ( 'disable-debuginfo' => sub { $opt_disable_debug = 1 }, 'help' => sub { showhelp(); }, 'update' => sub { update(); }, - 'svnupdate' => sub { svnupdate(); }, 'clean' => sub { clean(); }, 'list-extras' => sub { list_extras; exit 0; }, # This, --enable-extras, and --disable-extras are for non-interactive managing. 'enable-extras=s@' => \@opt_enableextras, # ^ @@ -220,23 +233,21 @@ 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} = "xcrun clang++"; # C++ compiler for OSX. +} +else +{ + $config{CC} = "g++"; # C++ compiler } -$config{CC} = "g++"; # C++ compiler if (defined $opt_cc) { $config{CC} = $opt_cc; @@ -254,7 +265,11 @@ if ($config{HAS_OPENSSL} =~ /^([-[:digit:].]+)([a-z])?(\-[a-z][0-9])?$/) { } 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"; + if ($config{IS_DARWIN} eq "YES") { + print $config{CC} . " was not found! You require clang++ (the LLVM C++ compiler, part of the OSX developer tools) to build InspIRCd!\n"; + } else { + print $config{CC} . " was not found! You require g++ (the GNU C++ compiler, part of GCC) to build InspIRCd!\n"; + } exit; } @@ -303,84 +318,6 @@ sub update 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"; - } - exit 1; - } - if (scalar(@conflicted) > 0) - { - print STDERR "\e[0;33;1mERROR:\e[0m You have local modifications which conflicted with the updates from SVN\n"; - print STDERR "Configure is not able to complete the update. Please resolve these conflicts, then run ./configure -update\n"; - print "Conflicted files: " . join ", ", @conflicted . "\n"; - exit 1; - } - if ($configurechanged) - { - system("perl configure -update"); - } - else - { - print "No need to update Makefiles.\n"; - } - if (defined $opt_rebuild) { - system("make install"); - } - exit; -} sub test_compile { my $feature = shift; @@ -634,9 +571,6 @@ should NOT be used. You should probably specify a newer compiler.\n\n"; } } - yesno('IPV6',"Would you like to build InspIRCd with IPv6 support?\nYou can still use IPv4 addresses in your port bindings.\n\nEnable IPv6?"); - print "\n"; - $config{USE_FREEBSD_BASE_SSL} = "n"; $config{USE_FREEBSD_PORTS_SSL} = "n"; if ($config{HAS_OPENSSL_PORT} ne "") @@ -703,6 +637,9 @@ should NOT be used. You should probably specify a newer compiler.\n\n"; } } +# We are on a POSIX system, we can enable POSIX extras without asking +symlink "extra/m_regex_posix.cpp", "src/modules/m_regex_posix.cpp"; + dumphash(); if (($config{USE_GNUTLS} eq "y") && ($config{HAS_GNUTLS} ne "y")) @@ -953,12 +890,12 @@ print FILEHANDLE "#define MAXBUF " . ($config{MAXBUF}+2) . "\n"; if ($config{HAS_STDINT} eq "true") { print FILEHANDLE "#define HAS_STDINT\n"; } - if ($config{IPV6} =~ /y/i) { - print FILEHANDLE "#define IPV6\n"; - } if ($config{HAS_EVENTFD} eq 'true') { print FILEHANDLE "#define HAS_EVENTFD\n"; } + if ($config{OSNAME} !~ /DARWIN/i) { + print FILEHANDLE "#define HAS_CLOCK_GETTIME\n"; + } my $use_hiperf = 0; if (($has_kqueue) && ($config{USE_KQUEUE} eq "y")) { print FILEHANDLE "#define USE_KQUEUE\n"; @@ -1055,7 +992,7 @@ EOF for my $var (qw( CC SYSTEM BASE_DIR CONFIG_DIR MODULE_DIR BINARY_DIR BUILD_DIR UID - STARTSCRIPT DESTINATION EXTRA_DIR SOCKETENGINE + STARTSCRIPT DESTINATION SOCKETENGINE )) { s/\@$var\@/$config{$var}/g; } @@ -1156,7 +1093,6 @@ sub list_extras () { my %extras = (); EXTRA: for my $extra (@extras) { next if (File::Spec->curdir() eq $extra || File::Spec->updir() eq $extra); - next if ($extra eq '.svn'); my $abs_extra = File::Spec->catfile($abs_srcdir, "extra", $extra); my $abs_source = File::Spec->catfile($abs_srcdir, $extra); next unless ($extra =~ m/\.(cpp|h)$/ || (-d $abs_extra)); # C++ Source/Header, or directory