]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Added OnLoadModule and OnUnloadModule (OnLoadModule was not triggering)
[user/henk/code/inspircd.git] / configure
index 817b896d594eb7cb52a7cd7d74f4770710952280..0739a3b77a355c1710c7e2619fcd86dbecd00586 100755 (executable)
--- a/configure
+++ b/configure
@@ -186,6 +186,35 @@ dir, otherwise you won't have a config file!
 
 Your operating system is: \033[1;32m$config{OSNAME}\033[0m ($wholeos), fdmax: $config{MAX_CLIENT_T}\n\n";
 
+$config{CHANGE_COMPILER} = "n";
+print "I have detected the following compiler: \033[1;32m$config{CC}\033[0m (version \033[1;32m$config{GCCVER}.$config{GCC34}\033[0m)\n";
+
+if ($config{GCCVER} < 3)
+{
+       print "\033[1;32mIMPORTANT!\033[0m A GCC 2.x compiler has been detected, and
+should NOT be used. You should probably specify a newer compiler.\n";
+}
+yesno(CHANGE_COMPILER,"Do you want to change the compiler?");
+if ($config{CHANGE_COMPILER} =~ /y/i)
+{
+    print "What command do you want to use to invoke your compiler?\n";
+    print "[\033[1;32m$config{CC}\033[0m] -> ";
+    chomp($config{CC} = <STDIN>);
+    if ($config{CC} eq "") { $config{CC} = "g++"; }
+    chomp($foo = `$config{CC} -dumpversion | cut -c 1`);
+    if ($foo ne "") {
+            chomp($config{GCCVER}       = `$config{CC} -dumpversion | cut -c 1`); # we must redo these if we change
+            chomp($config{GCC34}        = `$config{CC} -dumpversion | cut -c 3`); # the compiler path
+           print "Queried compiler: \033[1;32m$config{CC}\033[0m (version \033[1;32m$config{GCCVER}.$config{GCC34}\033[0m)\n";
+    }
+    else
+    {
+           print "\033[1;32mWARNING!\033[0m Could not execute the compiler you specified. You may want to try again.\n";
+    }
+}
+
+print "\n";
+
 # Directory Settings..
 dir_check("are the configuration files", "CONFIG_DIR");
 dir_check("are the modules to be compiled to", "MODULE_DIR");
@@ -475,6 +504,16 @@ other ircds.
 FOO
 }
 
+if ($config{GCCVER} < "3") {
+       print <<FOO2;
+\033[1;32mWARNING!\033[0m You are attempting to compile InspIRCd on GCC 2.x!
+GCC 2.x series compilers only had partial (read as broken) C++ support, and
+your compile will most likely fail horribly! If you have any problems, do NOT
+report them to the bugtracker or forums without first upgrading your compiler
+to a newer 3.x or 4.x (or whatever is available currently) version.
+FOO2
+}
+
 ################################################################################
 #                              HELPER FUNCTIONS                                #
 ################################################################################
@@ -559,7 +598,7 @@ sub dir_check {
 sub getosflags {
   if ($config{OSNAME} =~ /BSD$/) {
     $config{LDLIBS} = "-Ldl";
-    $config{FLAGS}  = "-fPIC -frtti $OPTIMISATI -Woverloaded-virtual $config{OPTIMISATI}";
+    $config{FLAGS}  = "-fPIC -frtti $OPTIMISATI -Wall -Woverloaded-virtual $config{OPTIMISATI}";
     $config{MAKEPROG} = "gmake";
     if ($config{OSNAME} eq "OpenBSD") {
        chomp($foo = `eg++ -dumpversion | cut -c 1`);
@@ -574,10 +613,10 @@ sub getosflags {
     }
   } else {
     $config{LDLIBS} = "-ldl";
-    $config{FLAGS}  = "-fPIC -frtti $OPTIMISATI -Woverloaded-virtual $config{OPTIMISATI}";
+    $config{FLAGS}  = "-fPIC -frtti $OPTIMISATI -Wall -Woverloaded-virtual $config{OPTIMISATI}";
     $config{MAKEPROG} = "make";
     if ($config{OSNAME} =~ /CYGWIN/) {
-       $config{FLAGS}  = "-frtti $OPTIMISATI -Woverloaded-virtual $config{OPTIMISATI}";
+       $config{FLAGS}  = "-frtti $OPTIMISATI -Wall -Woverloaded-virtual $config{OPTIMISATI}";
        $config{LDLIBS} = "";
        $config{MAKEPROG} = "/usr/bin/make";
        $config{MAKEORDER} = "mods ircd config bininst";