- exit 1 unless prompt_bool(1, 'I understand this warning and want to continue anyway.', 0);
- }
-
- # Directory Settings..
- my $tmpbase = $config{BASE_DIR};
- $config{BASE_DIR} = prompt_dir(1, 'What directory do you wish to install the InspIRCd base?', $config{BASE_DIR});
- if ($tmpbase ne $config{BASE_DIR}) {
- $config{CONFIG_DIR} = rel2abs($config{BASE_DIR}."/conf");
- $config{MODULE_DIR} = rel2abs($config{BASE_DIR}."/modules");
- $config{DATA_DIR} = rel2abs($config{BASE_DIR}."/data");
- $config{LOG_DIR} = rel2abs($config{BASE_DIR}."/logs");
- $config{BINARY_DIR} = rel2abs($config{BASE_DIR}."/bin");
- }
-
- $config{BINARY_DIR} = prompt_dir(1, 'In what directory should the InspIRCd binary be placed?', $config{BINARY_DIR});
- $config{CONFIG_DIR} = prompt_dir(1, 'In what directory are the configuration files to be stored?', $config{CONFIG_DIR});
- $config{DATA_DIR} = prompt_dir(1, 'In what directory are variable data files to be stored?', $config{DATA_DIR});
- $config{LOG_DIR} = prompt_dir(1, 'In what directory are log files to be stored?', $config{LOG_DIR});
- $config{MODULE_DIR} = prompt_dir(1, 'In what directory are the modules to be placed?', $config{MODULE_DIR});
-
- my $chose_hiperf = 0;
- if ($config{HAS_KQUEUE}) {
- $config{USE_KQUEUE} = prompt_bool(1, 'Your operating system has support for the high performance kqueue socket engine. Would you like to enable it?', 1);
- if ($config{USE_KQUEUE}) {
- $config{SOCKETENGINE} = "kqueue";
- $chose_hiperf = 1;
- }
- }
- if ($config{HAS_EPOLL}) {
- $config{USE_EPOLL} = prompt_bool(1, 'Your operating system has support for the high performance epoll socket engine. Would you like to enable it?', 1);
- if ($config{USE_EPOLL}) {
- $config{SOCKETENGINE} = "epoll";
- $chose_hiperf = 1;
- }
- }
- if ($config{HAS_PORTS}) {
- $config{USE_PORTS} = prompt_bool(1, 'Your operating system has support for the high performance IOCP socket engine. Would you like to enable it?', 1);
- if ($config{USE_PORTS}) {
- $config{SOCKETENGINE} = "ports";
- $chose_hiperf = 1;
- }
- }
-
- if (!$chose_hiperf && $config{HAS_POLL}) {
- $config{USE_POLL} = prompt_bool(1, 'Your operating system has support for the mid performance poll socket engine. Would you like to enable it?', 1);
- if ($config{USE_POLL}) {
- $config{SOCKETENGINE} = "poll";
- }
- }
- unless ($chose_hiperf || $config{USE_POLL})
- {
- print "No high-performance socket engines are available, or you chose not to enable one. Defaulting to select() engine.\n\n";
- $config{SOCKETENGINE} = "select";
- }
-
- if ($config{HAS_GNUTLS} eq "y" || $config{HAS_OPENSSL} eq "y")
- {
- print "Detected GnuTLS version: \e[1;32m" . $gnutls_ver . "\e[0m\n";
- print "Detected OpenSSL version: \e[1;32m" . $openssl_ver . "\e[0m\n\n";
-
- $config{USE_SSL} = prompt_bool(1, 'One or more SSL libraries detected. Would you like to enable SSL support?', 1);
- if ($config{USE_SSL})
- {
- if ($config{HAS_GNUTLS} eq "y")
- {
- $config{USE_GNUTLS} = prompt_bool(1, 'Would you like to enable SSL with m_ssl_gnutls (recommended)?', 1);
- if ($config{USE_GNUTLS})
- {
- print "Using GnuTLS SSL module.\n\n";
- unlink 'src/modules/m_ssl_gnutls.cpp' if -f 'src/modules/m_ssl_gnutls.cpp';
- symlink "extra/m_ssl_gnutls.cpp", "src/modules/m_ssl_gnutls.cpp" or print STDERR "Symlink failed: $!\n";
- }
- }
-
- if ($config{HAS_OPENSSL} eq "y")
- {
- $config{USE_OPENSSL} = prompt_bool(1, 'Would you like to enable SSL with m_ssl_openssl (recommended)?', 1);
- if ($config{USE_OPENSSL})
- {
- print "Using OpenSSL SSL module.\n\n";
- unlink 'src/modules/m_ssl_openssl.cpp' if -f 'src/modules/m_ssl_openssl.cpp';
- symlink "extra/m_ssl_openssl.cpp", "src/modules/m_ssl_openssl.cpp" or print STDERR "Symlink failed: $!\n";
- }
- }
- }
- }
- else
- {
- print "\nCould not detect OpenSSL or GnuTLS. Make sure pkg-config is installed and\n";
- print "is in your path.\n\n";