-our $interactive = !$non_interactive;
-
-chomp(our $topdir = getcwd());
-our $this = resolve_directory($topdir); # PWD, Regardless.
-our @modlist = (); # Declare for Module List..
-our %config = (); # Initiate Configuration Hash..
-$config{ME} = resolve_directory($topdir); # Present Working Directory
-
-$config{BASE_DIR} = $config{ME};
-
-if (defined $opt_base_dir)
-{
- $config{BASE_DIR} = $opt_base_dir;
-}
-
-$config{CONFIG_DIR} = resolve_directory($config{BASE_DIR}."/conf"); # Configuration Directory
-$config{MODULE_DIR} = resolve_directory($config{BASE_DIR}."/modules"); # Modules Directory
-$config{BINARY_DIR} = resolve_directory($config{BASE_DIR}."/bin"); # Binary Directory
-$config{LIBRARY_DIR} = resolve_directory($config{BASE_DIR}."/lib"); # Library Directory
-
-if (defined $opt_config_dir)
-{
- $config{CONFIG_DIR} = $opt_config_dir;
-}
-if (defined $opt_module_dir)
-{
- $config{MODULE_DIR} = $opt_module_dir;
-}
-if (defined $opt_binary_dir)
-{
- $config{BINARY_DIR} = $opt_binary_dir;
-}
-if (defined $opt_library_dir)
-{
- $config{LIBRARY_DIR} = $opt_library_dir;
-}
-chomp($config{HAS_GNUTLS} = `pkg-config --modversion gnutls 2>/dev/null | cut -c 1,2,3`); # GNUTLS Version.
-
-if (defined $opt_freebsd_port)
-{
- chomp($config{HAS_OPENSSL} = `pkg-config --modversion openssl 2>/dev/null`);
- chomp($config{HAS_OPENSSL_PORT} = `pkg-config --modversion openssl 2>/dev/null`);
- $config{USE_FREEBSD_BASE_SSL} = "n";
-}
-else
-{
- if ($^O eq "freebsd")
- {
- # default: use base ssl
- chomp($config{HAS_OPENSSL} = `openssl version | cut -d ' ' -f 2`); # OpenSSL version, freebsd specific
- chomp($config{HAS_OPENSSL_PORT} = `pkg-config --modversion openssl 2>/dev/null`); # Port version, may be different
- }
- else
- {
- chomp($config{HAS_OPENSSL} = `pkg-config --modversion openssl 2>/dev/null`); # Openssl version, others
- $config{HAS_OPENSSL_PORT} = "";
- }
-}
-
-chomp(our $gnutls_ver = $config{HAS_GNUTLS});
-chomp(our $openssl_ver = $config{HAS_OPENSSL});
-$config{USE_GNUTLS} = "n";
-if (defined $opt_use_gnutls)
-{
- $config{USE_GNUTLS} = "y"; # Use gnutls.
-}
-$config{USE_OPENSSL} = "n"; # Use openssl.
-if (defined $opt_use_openssl)
-{
- $config{USE_OPENSSL} = "y";
-}
-
-# no, let's not change these.
-$config{OPTIMITEMP} = "0"; # Default Optimisation Value
-if (!defined $opt_disable_debug)
-{
- $config{OPTIMISATI} = "-g1"; # Optimisation Flag
-}
-else
-{
- $config{OPTIMISATI} = "-O2"; # DEBUGGING OFF!
-}
-
-$config{HAS_STRLCPY} = "false"; # strlcpy Check.
-$config{HAS_STDINT} = "false"; # stdint.h check
-$config{USE_KQUEUE} = "y"; # kqueue enabled
-if (defined $opt_kqueue)
-{
- $config{USE_KQUEUE} = "y";
-}
-if (defined $opt_nokqueue)
-{
- $config{USE_KQUEUE} = "n";
-}
-$config{USE_POLL} = "y"; # poll enabled
-$config{USE_EPOLL} = "y"; # epoll enabled
-if (defined $opt_epoll)
-{
- $config{USE_EPOLL} = "y";
-}
-if (defined $opt_noepoll)
-{
- $config{USE_EPOLL} = "n";
-}
-$config{USE_PORTS} = "y"; # epoll enabled
-if (defined $opt_ports)
-{
- $config{USE_PORTS} = "y";
-}
-if (defined $opt_noports)
-{
- $config{USE_PORTS} = "n";
-}
-$config{IPV6} = "n"; # IPv6 support (experimental)
-if (defined $opt_ipv6)
-{
- $config{IPV6} = "y";
-}
-$config{SUPPORT_IP6LINKS} = "y"; # IPv4 supporting IPv6 links (experimental)
-if (defined $opt_ipv6links)
-{
- $config{SUPPORT_IP6LINKS} = "y";
-}
-if (defined $opt_noipv6links)
-{
- $config{SUPPORT_IP6LINKS} = "n";
-}
-chomp($config{GCCVER} = `g++ -dumpversion | cut -c 1`); # Major GCC Version
-chomp($config{GCCMINOR} = `g++ -dumpversion | cut -c 3`);
-$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{DESTINATION} = "LAUNCHDPATH"; # Is OSX target.
- $config{EXTRA_DIR} = " launchd_dir"; # Is OSX specific path.
-}
-$config{CC} = "g++"; # C++ compiler
-if (defined $opt_cc)
-{
- $config{CC} = $opt_cc;
-}
-our $exec = $config{CC} . " -dumpversion | cut -c 1";
-chomp($config{GCCVER} = `$exec`); # Major GCC Version
-$exec = $config{CC} . " -dumpversion | cut -c 3";
-chomp($config{GCCMINOR} = `$exec`);
-$config{MAXBUF} = "512"; # Max buffer size
-
-if ($config{HAS_OPENSSL} =~ /^([-[:digit:].]+)([a-z])?(\-[a-z][0-9])?$/) {
- $config{HAS_OPENSSL} = $1;
-} else {
- $config{HAS_OPENSSL} = "";
-}
-
-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";
- exit;
-}