]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Document TimerManager class
[user/henk/code/inspircd.git] / configure
index ceac058476349881f291d5eb3ca62a17168e4f50..ea43148425069455c4a0077432518c23c650f082 100755 (executable)
--- a/configure
+++ b/configure
@@ -12,7 +12,9 @@
 #
 ########################################
 
-chomp($topdir = `pwd`);
+use Cwd;
+
+chomp($topdir = getcwd());
 $this = resolve_directory($topdir);                                            # PWD, Regardless.
 @modlist = ();                                                                 # Declare for Module List..
 %config = ();                                                                  # Initiate Configuration Hash..
@@ -70,15 +72,22 @@ if ($config{GCCVER} eq "") {
 # Keep my dynamic module experiments here for later
 # concideration!
 
-if ($config{OSNAME} =~ /CYGWIN/) {
+if ($config{OSNAME} =~ /CYGWIN/)
+{
        $config{OSNAME} = "CYG-STATIC";
 }
-
-if ((!$config{OSNAME}) || ($config{OSNAME} eq "")) {
+elsif($config{OSNAME} =~ /^MINGW32/)
+{
+       $config{OSNAME} = "MINGW32";
+}
+elsif ((!$config{OSNAME}) || ($config{OSNAME} eq ""))
+{
        chomp($config{OSNAME} = `/usr/bin/uname`);
-       if ((!$config{OSNAME}) || ($config{OSNAME} eq "")){
+       
+       if((!$config{OSNAME}) || ($config{OSNAME} eq ""))
+       {
                $config{OSNAME} = "Unknown";
-       }
+       }       
 }
 
 if (!$config{MAX_CLIENT_T}) { 
@@ -828,17 +837,20 @@ sub dir_check {
                        # Convert it to a full path..
                        $var = resolve_directory($ENV{HOME} . "/" . $1);
                }
-               if (substr($var,0,1) ne "/")
+               elsif ((($config{OSNAME} == "MINGW32") and ($var !~ /^[A-Z]{1}:\\.*/)) and (substr($var,0,1) ne "/"))
                {
                        # Assume relative Path was given.. fill in the rest.
                        $var = $this . "/$var";
                }
+               
                $var = resolve_directory($var); 
                if (! -e $var) {
                        print "$var does not exist. Create it?\n[\033[1;32my\033[0m] ";
                        chomp($tmp = <STDIN>);
                        if (($tmp eq "") || ($tmp =~ /^y/i)) {
                                # Attempt to Create the Dir..
+                               
+                               print("mkdir -p \"$var\" >> /dev/null 2>&1");
                                $chk = system("mkdir -p \"$var\" >> /dev/null 2>&1") / 256;
                                if ($chk != 0) {
                                        print "Unable to create directory. ($var)\n\n";
@@ -897,7 +909,9 @@ sub getosflags {
                        $config{STATIC_LINK} = "yes";
                }
        }
-       if ($config{OSNAME} =~ /SunOS/) {
+       
+       if ($config{OSNAME} =~ /SunOS/)
+       {
                # solaris/sunos needs these
                # socket = bsd sockets api
                # nsl = dns stuff
@@ -905,6 +919,12 @@ sub getosflags {
                # resolv = inet_aton only (why isnt this in nsl?!)
                $config{LDLIBS} = $config{LDLIBS} . " -lsocket -lnsl -lrt -lresolv";
        }
+       
+       if($config{OSNAME} eq "MINGW32")
+       {
+               # All code is position-independent on windows
+               $config{FLAGS} =~ s/-fPIC //;
+       }
 }
 
 sub is_dir {
@@ -942,6 +962,7 @@ sub getrevision {
                return "0";
        }
        my $data = `svn info`;
+       
        if ($data eq "") {
                $no_svn = 1;
                $rev = "0";
@@ -1002,6 +1023,9 @@ EOF
                        print FILEHANDLE "#define IS_CYGWIN\n";
                        print FILEHANDLE "#ifndef FD_SETSIZE\n#define FD_SETSIZE        1024\n#endif\n";
                }
+               if ($config{OSNAME} eq "MINGW32") {
+                       print FILEHANDLE "#define IS_MINGW\n";
+               }
                if ($config{OSNAME} eq "CYG-STATIC") {
                        print FILEHANDLE "#ifndef FD_SETSIZE\n#define FD_SETSIZE    1024\n#endif\n";
                }