]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Fix $config{HAS_OPENSSL} winding up undefined and crashing configure if openssl isn...
[user/henk/code/inspircd.git] / configure
index 244afb691f9a059c7bf20713a310c597918cd41f..1b28e30a1f982e29f13d11c54b669195f3a7faa1 100755 (executable)
--- a/configure
+++ b/configure
@@ -12,7 +12,9 @@
 #
 ###################################################
 
-require 5.8.0;
+BEGIN {
+       require 5.8.0;
+}
 
 use strict;
 use warnings FATAL => qw(all);
@@ -378,8 +380,11 @@ if (defined $opt_away)
        $config{MAX_AWAY} = $opt_away;
 }
 
-$config{HAS_OPENSSL} =~ /^([-[:digit:].]+)([a-z])?(\-[a-z][0-9])?$/;
-$config{HAS_OPENSSL} = $1;
+if ($config{HAS_OPENSSL} =~ /^([-[:digit:].]+)([a-z])?(\-[a-z][0-9])?$/) {
+       $config{HAS_OPENSSL} = $1;
+} else {
+       $config{HAS_OPENSSL} = "";
+}
 
 if ($config{GCCVER} eq "") {
        print $config{CC} . " was not found! You require g++ (the GNU C++ compiler, part of GCC) to build InspIRCd!\n";
@@ -544,7 +549,7 @@ $has_kqueue = 0;
 $fail = 0;
 open(KQUEUE, "</usr/include/sys/event.h") or $fail = 1;
 if (!$fail) {
-       while (defiined(my $line = <KQUEUE>)) {
+       while (defined(my $line = <KQUEUE>)) {
                chomp($line);
                # try and find the delcaration of:
                # int kqueue(void);
@@ -641,7 +646,7 @@ $config{HAS_EPOLL} = $has_epoll;
 $config{HAS_KQUEUE} = $has_kqueue; 
 
 printf "Checking for libgnutls... ";
-if (($config{HAS_GNUTLS}) || ($config{HAS_GNUTLS} eq "y")) {
+if (defined($config{HAS_GNUTLS}) && (($config{HAS_GNUTLS}) || ($config{HAS_GNUTLS} eq "y"))) {
        print "yes\n";
        $config{HAS_GNUTLS} = "y";
 } else {
@@ -650,7 +655,7 @@ if (($config{HAS_GNUTLS}) || ($config{HAS_GNUTLS} eq "y")) {
 }
 
 printf "Checking for openssl... ";
-if (($config{HAS_OPENSSL}) || ($config{HAS_OPENSSL} eq "y")) {
+if (defined($config{HAS_OPENSSL}) && (($config{HAS_OPENSSL}) || ($config{HAS_OPENSSL} eq "y"))) {
        print "yes\n";
        $config{HAS_OPENSSL} = "y";
 } else {