use strict;
use warnings FATAL => qw(all);
-use Data::Dumper;
-BEGIN {
- $Data::Dumper::Sortkeys = 1;
- $Data::Dumper::Useqq = 1;
-};
-
use File::Copy ();
use Socket;
use Cwd;
if (defined $opt_log_dir) {
$config{LOG_DIR} = $opt_log_dir;
}
-chomp($config{HAS_GNUTLS} = `pkg-config --modversion gnutls 2>/dev/null | cut -c 1,2,3`); # GNUTLS Version.
+chomp($config{HAS_GNUTLS} = `pkg-config --modversion gnutls 2>/dev/null`); # GNUTLS Version.
if (defined $opt_freebsd_port)
{
{
chomp($config{HAS_OPENSSL} = `pkg-config --modversion openssl 2>/dev/null`); # Openssl version, others
$config{HAS_OPENSSL_PORT} = "";
+ $config{USE_FREEBSD_BASE_SSL} = "n";
}
}
$config{STARTSCRIPT} = "org.inspircd.plist"; # start script for OSX.
$config{CC} = "xcrun clang++"; # C++ compiler for OSX.
}
+elsif ($config{OSNAME} =~ /freebsd/i)
+{
+ chomp(my $fbsd_version = `uname -r`);
+ $config{CC} = $fbsd_version ge '10.0' ? 'clang++' : 'g++';
+}
else
{
$config{CC} = "g++"; # C++ compiler
}
if (($config{GCCVER} eq "") || ($config{GCCMINOR} eq "")) {
- 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";
- }
+ print "`$config{CC}` was not found! A C++ compiler is required to build InspIRCd!\n";
+ print "You can pass a custom compiler to $0 using --with-cc=[name].\n";
exit;
}
my $rev = getrevision();
# Display Introduction Message..
print <<"STOP" ;
-Welcome to the \e[1mInspIRCd\e[0m Configuration program! (\e[1minteractive mode\e[0m)
+Welcome to the \e[1mInspIRCd\e[0m configuration program! (\e[1minteractive mode\e[0m)
\e[1mPackage maintainers: Type ./configure --help for non-interactive help\e[0m
*** If you are unsure of any of these values, leave it blank for ***
yesno('MODUPDATE',"Would you like to check for updates to third-party modules?");
print "\n";
if ($config{MODUPDATE} eq "y") {
- print "Checking for upgrades to extra and third party modules... ";
+ print "Checking for upgrades to extra and third-party modules... ";
system "./modulemanager upgrade";
}
}
if (($config{USE_GNUTLS} eq "y") && ($config{HAS_GNUTLS} ne "y"))
{
- print "Sorry, but i couldn't detect gnutls. Make sure gnutls-config is in your path.\n";
+ print "Sorry, but I couldn't detect GnuTLS. Make sure pkg-config is in your path.\n";
exit(0);
}
if (($config{USE_OPENSSL} eq "y") && ($config{HAS_OPENSSL} ne "y"))
{
- print "Sorry, but i couldn't detect openssl. Make sure openssl is in your path.\n";
+ print "Sorry, but I couldn't detect OpenSSL. Make sure pkg-config and openssl are in your path.\n";
exit(0);
}
our $failed = 0;
$config{CERTGEN} ||= 'y';
-yesno('CERTGEN',"Would you like generate SSL certificates now?") if ($interactive && ($config{USE_GNUTLS} eq "y" || $config{USE_OPENSSL} eq "y"));
+yesno('CERTGEN',"Would you like to generate SSL certificates now?") if ($interactive && ($config{USE_GNUTLS} eq "y" || $config{USE_OPENSSL} eq "y"));
if ($config{USE_GNUTLS} eq "y") {
unless (-r "src/modules/m_ssl_gnutls.cpp") {
if ($interactive && $config{CERTGEN} eq 'y')
{
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem") {
- print "SSL Certificates Not found, Generating.. \n\n
+ print "SSL certificates not found, generating.. \n\n
*************************************************************
-* Generating the Private Key may take some time, go grab a *
-* Coffee. Even better, to generate some more entropy if it *
-* is taking a while, open another console and type du / a *
-* few times and get that HD going :) Then answer the *
-* Questions which follow. If you are unsure, just hit enter *
+* Generating the private key may take some time, once done, *
+* answer the questions which follow. If you are unsure, *
+* just hit enter! *
*************************************************************\n\n";
$failed = make_gnutls_cert();
if ($failed) {
}
}
else {
- print "SSL Certificates found, skipping.\n\n";
+ print "SSL certificates found, skipping.\n\n";
}
}
else
if ($interactive && $config{CERTGEN} eq 'y')
{
unless (-r "$config{CONFIG_DIR}/key.pem" && -r "$config{CONFIG_DIR}/cert.pem") {
- print "SSL Certificates Not found, Generating.. \n\n
+ print "SSL certificates not found, generating.. \n\n
*************************************************************
* Generating the certificates may take some time, go grab a *
-* coffee, or something. *
+* coffee or something. *
*************************************************************\n\n";
make_openssl_cert();
print "\nCertificate generation complete, copying to config directory... ";
File::Copy::move("dhparams.pem", "$config{CONFIG_DIR}/dhparams.pem") or print STDERR "Could not copy dhparams.pem!\n";
print "Done.\n\n";
} else {
- print "SSL Certificates found, skipping.\n\n"
+ print "SSL certificates found, skipping.\n\n"
}
}
else
}
}
if (($config{USE_GNUTLS} eq "n") && ($config{USE_OPENSSL} eq "n")) {
- print "Skipping SSL Certificate generation, SSL support is not available.\n\n";
+ print "Skipping SSL certificate generation as SSL support is not available.\n\n";
}
depcheck();
if (($config{USE_GNUTLS} eq "y") || ($config{USE_OPENSSL} eq "y")) {
print "Please note: for \e[1;32mSSL support\e[0m you will need to load required\n";
print "modules in your config. This configure script has added those modules to the\n";
- print "build process. For more info please refer to:\n";
+ print "build process. For more info, please refer to:\n";
print "\e[1;32mhttp://wiki.inspircd.org/Installation_From_Tarball\e[0m\n";
}
print "*** \e[1;32mRemember to edit your configuration files!!!\e[0m ***\n\n\n";
if (($config{OSNAME} eq "OpenBSD") && ($config{CC} ne "eg++")) {
- print "\e[1;32mWARNING!\e[0m You are running OpenBSD but you are using the base gcc package\nrather than eg++. This compile will most likely fail, but i'm letting you\ngo ahead with it anyway, just in case i'm wrong :-)\n";
+ print "\e[1;32mWARNING!\e[0m You are running OpenBSD but you are using the base gcc package\nrather than eg++. This compile will most likely fail, but I'm letting you\ngo ahead with it anyway, just in case I'm wrong :-)\n";
}
if ($config{GCCVER} < "3") {