X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=ceac058476349881f291d5eb3ca62a17168e4f50;hb=2591562ada4cb1f866e5d1c98340fb19332b3844;hp=d13a078523a149f5a708b2fa0928a0bcb56d377c;hpb=5454b47bd5d5ce5fb08aed83bac0148eabab620e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index d13a07852..ceac05847 100755 --- a/configure +++ b/configure @@ -38,8 +38,9 @@ $config{HAS_STDINT} = "false"; # stdint.h check $config{HAS_EXECINFO} = "0"; # execinfo.h Check. $config{USE_KQUEUE} = "y"; # kqueue enabled $config{USE_EPOLL} = "y"; # epoll enabled -$config{THREADED_DNS} = "n"; # threaded dns (experimental) +$config{THREADED_DNS} = "n"; # threaded dns $config{IPV6} = "n"; # IPv6 support (experimental) +$config{SUPPORT_IP6LINKS} = "y"; # IPv4 supporting IPv6 links (experimental) $config{STATIC_LINK} = "no"; # are doing static modules? chomp($config{MAX_CLIENT_T} = `sh -c \"ulimit -n\"`); # FD Limit chomp($config{MAX_DESCRIPTORS} = `sh -c \"ulimit -n\"`); # Hard FD Limit @@ -62,7 +63,7 @@ $config{HAS_OPENSSL} = $1; if ($config{GCCVER} eq "") { print "g++ was not found! You require g++ (the GNU C++ compiler, part of GCC) to build InspIRCd!\n"; - return 0; + exit; } # Minihack! Convert Cygwin to 'Cyg-Static' so i can @@ -360,11 +361,16 @@ if (!$chose_hiperf) { print "not to enable one. Defaulting to select() engine.\n\n"; } -yesno(THREADED_DNS,"Would you like to enable the experimental multi-threaded DNS lookup?"); +yesno(IPV6,"Would you like to build InspIRCd with IPv6 support?"); print "\n"; -yesno(IPV6,"Would you like to enable IPv6 support?"); -print "\n"; +if ($config{IPV6} eq "y") { + print "You have chosen to build an \033[1;32mIPV6-only\033[0m server.\nTo accept IPV4 users, you must use the '::ffff:' notation of addresses.\n\n"; + $config{SUPPORT_IP6LINKS} = "y"; +} else { + yesno(SUPPORT_IP6LINKS,"You have chosen to build an \033[1;32mIPV4-only\033[0m server.\nWould you like to enable support for linking to IPV6-enabled\nInspIRCd servers which are using '::ffff:' notation?\nIf you are using a recent operating\nsystem and are unsure, answer yes."); + print "\n"; +} if (($config{HAS_GNUTLS} eq "y") && ($config{HAS_OPENSSL} eq "y")) { print "I have detected both GnuTLS and OpenSSL on your system.\n"; @@ -676,6 +682,7 @@ print "\033[0mCompiler program:\033[1;32m\t\t$config{CC}\033[0m\n"; print "\033[0mStatic modules:\033[1;32m\t\t\t$config{STATIC_LINK}\033[0m\n"; print "\033[0mMultithread DNS:\033[1;32m\t\t$config{THREADED_DNS}\033[0m\n"; print "\033[0mIPv6 Support:\033[1;32m\t\t\t$config{IPV6}\033[0m\n"; +print "\033[0mIPv6 to IPv4 Links:\033[1;32m\t\t$config{SUPPORT_IP6LINKS}\033[0m\n"; print "\033[0mGnuTLS Support:\033[1;32m\t\t\t$config{USE_GNUTLS}\033[0m\n"; print "\033[0mOpenSSL Support:\033[1;32m\t\t$config{USE_OPENSSL}\033[0m\n\n"; @@ -1016,27 +1023,49 @@ EOF if ($config{THREADED_DNS} =~ /y/i) { print FILEHANDLE "#define THREADED_DNS\n"; } - if ($config{IPV6} =~/y/i) { + if ($config{IPV6} =~ /y/i) { print FILEHANDLE "#define IPV6\n"; } + if ($config{SUPPORT_IP6LINKS} =~ /y/i) { + print FILEHANDLE "#define SUPPORT_IP6LINKS\n"; + } my $use_hiperf = 0; if (($has_kqueue) && ($config{USE_KQUEUE} eq "y")) { print FILEHANDLE "#define USE_KQUEUE\n"; + $se = "socketengine_kqueue"; $use_hiperf = 1; } if (($has_epoll) && ($config{USE_EPOLL} eq "y")) { print FILEHANDLE "#define USE_EPOLL\n"; + $se = "socketengine_epoll"; $use_hiperf = 1; } # user didn't choose either epoll or select for their OS. # default them to USE_SELECT (ewwy puke puke) if (!$use_hiperf) { print FILEHANDLE "#define USE_SELECT\n"; + $se = "socketengine_select"; } print FILEHANDLE "\n#endif\n"; close(FILEHANDLE); } + if ($writeheader) + { + open(FILEHANDLE, ">include/inspircd_se_config.h"); + print FILEHANDLE <src/Makefile") or die("Could not write src/Makefile"); print FH <