chomp($config{MAX_CLIENT_T} = `sh -c \"ulimit -n\"`); # FD Limit
chomp($config{GCCVER} = `gcc -dumpversion | cut -c 1`); # Major GCC Version
chomp($config{GCC34} = `gcc -dumpversion | cut -c 3`); # Minor GCC Version
-chomp($config{OSNAME} = `uname -s`); # Operating System Name
+chomp($config{OSNAME} = `/bin/uname`); # Operating System Name
+$config{CC} = "g++"; # C++ compiler
-if (!$config{OSNAME}) {
- $config{OSNAME} = "Unknown"; # For use when uname fails.
+if ((!$config{OSNAME}) || ($config{OSNAME} eq "")) {
+ chomp($config{OSNAME} = `/usr/bin/uname`);
+ if ((!$config{OSNAME}) || ($config{OSNAME} eq "")){
+ $config{OSNAME} = "Unknown";
+ }
}
if (!$config{MAX_CLIENT_T}) {
print "\033[0mMax channel length:\033[1;32m\t\t$config{CHAN_LENGT}\n";
print "\033[0mMax mode length:\033[1;32m\t\t$config{MAXI_MODES}\n";
print "\033[0mGCC Version Found:\033[1;32m\t\t$config{GCCVER}.$config{GCC34}\n";
-print "\033[0mOptimatizaton Flag:\033[1;32m\t\t$config{OPTIMISATI}\033[0m\n\n";
+print "\033[0mOptimatizaton Flag:\033[1;32m\t\t$config{OPTIMISATI}\033[0m\n";
+print "\033[0mCompiler program:\033[1;32m\t\t$config{CC}\033[0m\n\n";
makecache();
writefiles();
}
sub getosflags {
- if ($config{OSNAME} eq "FreeBSD") {
+ if ($config{OSNAME} =~ /BSD$/) {
$config{LDLIBS} = "-Ldl";
$config{FLAGS} = "-fPIC -frtti $OPTIMISATI -Woverloaded-virtual $config{OPTIMISATI}";
$config{MAKEPROG} = "gmake";
+ if ($config{OSNAME} eq "OpenBSD") {
+ $config{CC} = "eg++";
+ }
} else {
$config{LDLIBS} = "-ldl";
$config{FLAGS} = "-fPIC -frtti $OPTIMISATI -Woverloaded-virtual $config{OPTIMISATI}";
$config{MAKEPROG} = "make";
}
+ if ($config{OSNAME} =~ /SunOS/) {
+ # solaris/sunos needs these
+ # socket = bsd sockets api
+ # nsl = dns stuff
+ # rt = POSIX realtime extensions
+ # resolv = inet_aton only (why isnt this in nsl?!)
+ $config{LDLIBS} = $config{LDLIBS} . " -lsocket -lnsl -lrt -lresolv";
+ }
}
sub is_dir {
#define MAXBUF 514
EOF
+ if ($config{OSNAME} =~ /SunOS/) {
+ print FILEHANDLE "#define IS_SOLARIS\n";
+ }
if ($config{GCCVER} > 3) {
print FILEHANDLE "#define GCC3\n";
print FILEHANDLE "#define GCC34\n";