summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure76
1 files changed, 21 insertions, 55 deletions
diff --git a/configure b/configure
index fae17dfea..fd00ff89c 100755
--- a/configure
+++ b/configure
@@ -142,7 +142,7 @@ our %config = (); # Initiate Configuration Hash..
our $cache_loaded = getcache();
$config{ME} = resolve_directory($topdir); # Present Working Directory
-$config{BASE_DIR} = $config{ME}."/run";
+$config{BASE_DIR} ||= $config{ME}."/run";
if (defined $opt_base_dir) {
$config{BASE_DIR} = $opt_base_dir;
@@ -159,13 +159,13 @@ if (defined $opt_system) {
$config{DATA_DIR} = '/var/inspircd';
$config{LOG_DIR} = '/var/log/inspircd';
} else {
- $config{UID} = $opt_uid || $<;
- $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{BUILD_DIR} = resolve_directory($config{ME}."/build"); # Build Directory
- $config{DATA_DIR} = resolve_directory($config{BASE_DIR}."/data"); # Data directory
- $config{LOG_DIR} = resolve_directory($config{BASE_DIR}."/logs"); # Log directory
+ $config{UID} = $opt_uid || $config{UID} || $<;
+ $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{BUILD_DIR} ||= resolve_directory($config{ME}."/build"); # Build Directory
+ $config{DATA_DIR} ||= resolve_directory($config{BASE_DIR}."/data"); # Data directory
+ $config{LOG_DIR} ||= resolve_directory($config{BASE_DIR}."/logs"); # Log directory
}
if (defined $opt_config_dir) {
@@ -209,12 +209,12 @@ else
chomp(our $gnutls_ver = $config{HAS_GNUTLS});
chomp(our $openssl_ver = $config{HAS_OPENSSL});
-$config{USE_GNUTLS} = "n";
+$config{USE_GNUTLS} ||= "n";
if (defined $opt_use_gnutls)
{
$config{USE_GNUTLS} = "y"; # Use gnutls.
}
-$config{USE_OPENSSL} = "n"; # Use openssl.
+$config{USE_OPENSSL} ||= "n"; # Use openssl.
if (defined $opt_use_openssl)
{
$config{USE_OPENSSL} = "y";
@@ -257,7 +257,8 @@ if ($config{OSNAME} =~ /darwin/i)
elsif ($config{OSNAME} =~ /freebsd/i)
{
chomp(my $fbsd_version = `uname -r`);
- $config{CC} = $fbsd_version ge '10.0' ? 'clang++' : 'g++';
+ $fbsd_version =~ s/^(\d+\.\d+).*/$1/g;
+ $config{CC} = $fbsd_version >= 10.0 ? 'clang++' : 'g++';
}
else
{
@@ -352,51 +353,16 @@ $exec = $config{CC} . " -dumpversion | cut -c 3";
chomp($config{GCCMINOR} = `$exec`);
printf "Checking if stdint.h exists... ";
-$config{HAS_STDINT} = "true";
-our $fail = 0;
-open(STDINT, "</usr/include/stdint.h") or $config{HAS_STDINT} = "false";
-if ($config{HAS_STDINT} eq "true") {
- close(STDINT);
-}
-print "yes\n" if $config{HAS_STDINT} eq "true";
-print "no\n" if $config{HAS_STDINT} eq "false";
+$config{HAS_STDINT} = test_compile('stdint');
+print $config{HAS_STDINT} ? "yes\n" : "no\n";
printf "Checking if strlcpy exists... ";
-# Perform the strlcpy() test..
-$config{HAS_STRLCPY} = "false";
-$fail = 0;
-open(STRLCPY, "</usr/include/string.h") or $fail = 1;
-if (!$fail) {
- while (defined(my $line = <STRLCPY>)) {
- chomp($line);
- # try and find the delcaration of:
- # size_t strlcpy(...)
- if ($line =~ /size_t(\0x9|\s)+strlcpy/) {
- $config{HAS_STRLCPY} = "true";
- }
- }
- close(STRLCPY);
-}
-print "yes\n" if $config{HAS_STRLCPY} eq "true";
-print "no\n" if $config{HAS_STRLCPY} eq "false";
+$config{HAS_STRLCPY} = test_compile('strlcpy');
+print $config{HAS_STRLCPY} ? "yes\n" : "no\n";
printf "Checking if kqueue exists... ";
-$has_kqueue = 0;
-$fail = 0;
-open(KQUEUE, "</usr/include/sys/event.h") or $fail = 1;
-if (!$fail) {
- while (defined(my $line = <KQUEUE>)) {
- chomp($line);
- # try and find the delcaration of:
- # int kqueue(void);
- if ($line =~ /int(\0x9|\s)+kqueue/) {
- $has_kqueue = 1;
- }
- }
- close(KQUEUE);
-}
-print "yes\n" if $has_kqueue == 1;
-print "no\n" if $has_kqueue == 0;
+$has_kqueue = test_compile('kqueue');
+print $has_kqueue ? "yes\n" : "no\n";
printf "Checking for epoll support... ";
$has_epoll = test_compile('epoll');
@@ -609,8 +575,8 @@ should NOT be used. You should probably specify a newer compiler.\n\n";
$config{USE_FREEBSD_BASE_SSL} = "y" if ($^O eq "freebsd");
}
- $config{USE_SSL} = "n";
- $config{MODUPDATE} = 'n';
+ $config{USE_SSL} ||= "n";
+ $config{MODUPDATE} ||= 'n';
if ($config{HAS_GNUTLS} eq "y" || $config{HAS_OPENSSL} eq "y")
{
@@ -1008,7 +974,7 @@ EOF
for my $var (qw(
CC SYSTEM BASE_DIR CONFIG_DIR MODULE_DIR BINARY_DIR BUILD_DIR DATA_DIR UID
- STARTSCRIPT DESTINATION SOCKETENGINE
+ STARTSCRIPT DESTINATION SOCKETENGINE LOG_DIR
)) {
s/\@$var\@/$config{$var}/g;
}