]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Move the <disabled> tag out of the core to a new module.
[user/henk/code/inspircd.git] / configure
index 1e66df00017cee3c139bbf9fb0f46ba0c626163a..f61143974b3be57a884ad089d025dd6e320394ef 100755 (executable)
--- a/configure
+++ b/configure
@@ -159,13 +159,13 @@ unless ($config{CXX}) {
 }
 my %compiler = get_compiler_info($config{CXX});
 
+$config{HAS_ARC4RANDOM_BUF} = run_test 'arc4random_buf()', test_file($config{CXX}, 'arc4random_buf.cpp');
 $config{HAS_CLOCK_GETTIME} = run_test 'clock_gettime()', test_file($config{CXX}, 'clock_gettime.cpp', $^O eq 'darwin' ? undef : '-lrt');
 $config{HAS_EVENTFD} = run_test 'eventfd()', test_file($config{CXX}, 'eventfd.cpp');
 
 my @socketengines;
 push @socketengines, 'epoll'  if run_test 'epoll', test_header $config{CXX}, 'sys/epoll.h';
 push @socketengines, 'kqueue' if run_test 'kqueue', test_file $config{CXX}, 'kqueue.cpp';
-push @socketengines, 'ports'  if run_test 'Solaris IOCP', test_header $config{CXX}, 'port.h';
 push @socketengines, 'poll'   if run_test 'poll', test_header $config{CXX}, 'poll.h';
 push @socketengines, 'select';
 
@@ -244,7 +244,8 @@ affect the running of your server. It is recommended that you use a stable
 version instead.
 
 You can obtain the latest stable version from http://www.inspircd.org/ or by
-running `git checkout insp20` if you are installing from Git.
+running `<|GREEN git checkout $(git describe --abbrev=0 --tags insp3)|>` if you are
+installing from Git.
 EOW
        if (!prompt_bool $interactive, 'I understand this warning and want to continue anyway.', $opt_development // 0) {
                say STDERR 'If you understand this warning and still want to continue pass the --development flag.' unless $interactive;
@@ -298,13 +299,37 @@ if (prompt_bool $interactive, $question, 0) {
 } else {
        # TODO: finish modulemanager rewrite and replace this code with:
        # system './modulemanager', 'enable', '--auto';
-       enable_extras 'm_ssl_gnutls.cpp' unless system 'pkg-config --exists gnutls >/dev/null 2>&1';
-       enable_extras 'm_ssl_mbedtls.cpp' if -e '/usr/include/mbedtls/ssl.h';
-       enable_extras 'm_ssl_openssl.cpp' unless system 'pkg-config --exists openssl >/dev/null 2>&1';
+       my %modules = (
+               # Missing: m_ldap, m_regex_stdlib, m_ssl_mbedtls
+               'm_geoip.cpp'           => 'pkg-config --exists geoip',
+               'm_mysql.cpp'           => 'mysql_config --version',
+               'm_pgsql.cpp'           => 'pg_config --version',
+               'm_regex_pcre.cpp'      => 'pcre-config --version',
+               'm_regex_posix.cpp'     => undef,
+               'm_regex_re2.cpp'       => 'pkg-config --exists re2',
+               'm_regex_tre.cpp'       => 'pkg-config --exists tre',
+               'm_sqlite3.cpp'         => 'pkg-config --exists sqlite3',
+               'm_ssl_gnutls.cpp'      => 'pkg-config --exists gnutls',
+               'm_ssl_openssl.cpp'     => 'pkg-config --exists openssl',
+               'm_sslrehashsignal.cpp' => undef,
+       );
+       while (my ($module, $command) = each %modules) {
+               unless (defined $command && system "$command 1>/dev/null 2>/dev/null") {
+                       enable_extras $module;
+               }
+       }
 }
 
 # Generate SSL certificates.
-if (<src/modules/m_ssl_*.cpp> && prompt_bool $interactive, 'Would you like to generate SSL certificates now?', $interactive) {
+$question = <<EOQ;
+Would you like to generate a self-signed SSL certificate now? This certificate
+can be used for testing but <|BOLD should not|> be used on a production network.
+
+Note: you can get a <|BOLD free|> CA-signed certificate from Let's Encrypt. See
+https://letsencrypt.org/getting-started/ for more details.
+EOQ
+
+if (<src/modules/m_ssl_*.cpp> && prompt_bool $interactive, $question, $interactive) {
        system './tools/genssl', 'auto';
 }