X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=6b736e92e114b15b151737441ab1c3d0004aaa0b;hb=3102dedbb8a4bf4b0263715d507e3603cf048711;hp=b476d045f02738f03ff461ea47570d377a0f1eaa;hpb=f586405ce854d823876f843a5500b0a7d6031534;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index b476d045f..6b736e92e 100755 --- a/configure +++ b/configure @@ -24,6 +24,7 @@ use make::configure; GetOptions ( 'enable-gnutls' => \$opt_use_gnutls, + 'rebuild' => \$opt_rebuild, 'enable-openssl' => \$opt_use_openssl, 'disable-interactive' => \$opt_nointeractive, 'with-nick-length=i' => \$opt_nick_length, @@ -144,11 +145,11 @@ if (defined $opt_use_openssl) $config{OPTIMITEMP} = "0"; # Default Optimisation Value if (!defined $opt_disable_debug) { - $config{OPTIMISATI} = "-O2 -g1"; # Optimisation Flag + $config{OPTIMISATI} = "-g1"; # Optimisation Flag } else { - $config{OPTIMISATI} = "-O2"; # DEBUGGING OFF! + $config{OPTIMISATI} = "-O2"; # DEBUGGING OFF! } $config{NICK_LENGT} = "31"; # Default Nick Length @@ -215,8 +216,12 @@ chomp($config{MAX_CLIENT_T} = `sh -c \"ulimit -n\"`); # FD Limit chomp($config{MAX_DESCRIPTORS} = `sh -c \"ulimit -n\"`); # Hard FD Limit chomp($config{GCCVER} = `g++ -dumpversion | cut -c 1`); # Major GCC Version $config{_SOMAXCONN} = SOMAXCONN; # Max connections in accept queue -$config{OSNAME} = $^O; # Operating System Name +$config{OSNAME} = $^O; # Operating System Name $config{IS_DARWIN} = "NO"; # Is OSX? +if ($config{OSNAME} =~ /darwin/i) +{ + $config{IS_DARWIN} = "YES"; +} $config{CC} = "g++"; # C++ compiler if (defined $opt_cc) { @@ -265,11 +270,6 @@ if ($config{GCCVER} eq "") { exit; } -if ($config{OSNAME} =~ /darwin/) -{ - $config{IS_DARWIN} = "YES"; -} - # Minihack! Convert Cygwin to 'Cyg-Static' so i can # Keep my dynamic module experiments here for later # consideration! @@ -368,9 +368,13 @@ sub svnupdate print "This is not an SVN copy of InspIRCd.\n"; exit; } + else + { + close(FH); + } system("svn update"); system("perl configure -update"); - if ($ARGV[1] eq "rebuild") { + if (defined $opt_rebuild) { system("make install"); } exit; @@ -845,8 +849,15 @@ sub getosflags { $config{LDLIBS} = "-lstdc++"; $config{FLAGS} = "-fno-strict-aliasing -fPIC -Wall -Woverloaded-virtual $config{OPTIMISATI}"; - $config{MAKEPROG} = "make"; + $config{DEVELOPER} = "-fno-strict-aliasing -fPIC -Wall -Woverloaded-virtual -g"; $SHARED = "-Wl,--rpath -Wl,$config{LIBRARY_DIR} -shared"; + $config{MAKEPROG} = "make"; + + if ($config{OSNAME} =~ /darwin/i) { + $config{FLAGS} = "-DDARWIN -frtti -fPIC -Wall -Woverloaded-virtual $config{OPTIMISATI}"; + $SHARED = "-bundle -twolevel_namespace -undefined dynamic_lookup"; + $config{LDLIBS} = "-ldl -lstdc++"; + } if ($config{OSNAME} =~ /OpenBSD/i) { $config{MAKEPROG} = "gmake"; @@ -861,10 +872,6 @@ sub getosflags { return "OpenBSD"; } - if ($config{OSNAME} =~ /darwin/i) { - $SHARED = "-bundle -undefined dynamic_lookup"; - $config{LDLIBS} = "-ldl -lstdc++"; - } if ($config{OSNAME} =~ /Linux/i) { $config{LDLIBS} = "-ldl -lstdc++"; $config{FLAGS} = "-fno-strict-aliasing -fPIC -Wall -Woverloaded-virtual $config{OPTIMISATI}"; @@ -1066,12 +1073,11 @@ EOF chomp(my $revision = getrevision()); $version = "$version(r$revision)"; - $modext = "so"; - if ($config{IS_DARWIN} eq "NO") + my $LIBEXT = "so"; + if ($config{IS_DARWIN} eq "YES") { - $modext = "dylib"; + $LIBEXT = "dylib"; } - # We can actually parse any file starting with . and ending with .inc, # but right now we only parse .inspircd.inc to form './inspircd' @@ -1089,18 +1095,18 @@ EOF $tmp =~ s/\@CC\@/$config{CC}/; $tmp =~ s/\@MAKEPROG\@/$config{MAKEPROG}/; $tmp =~ s/\@FLAGS\@/$config{FLAGS}/; + $tmp =~ s/\@DEVELOPER\@/$config{DEVELOPER}/; $tmp =~ s/\@LDLIBS\@/$config{LDLIBS}/; $tmp =~ s/\@BASE_DIR\@/$config{BASE_DIR}/; $tmp =~ s/\@CONFIG_DIR\@/$config{CONFIG_DIR}/; $tmp =~ s/\@MODULE_DIR\@/$config{MODULE_DIR}/; - $tmp =~ s/\@MODULE_EXT\@/$modext/; $tmp =~ s/\@BINARY_DIR\@/$config{BINARY_DIR}/; $tmp =~ s/\@LIBRARY_DIR\@/$config{LIBRARY_DIR}/; + $tmp =~ s/\@LIBRARY_EXT\@/$LIBEXT/; $tmp =~ s/\@MODULES\@/$modules/; $tmp =~ s/\@EXECUTABLE\@/$exe/; $tmp =~ s/\@MAKEORDER\@/$config{MAKEORDER}/; $tmp =~ s/\@STATICLIBS\@/$config{STATICLIBS}/; - $tmp =~ s/\@IS_DARWIN\@/$config{IS_DARWIN}/; $tmp =~ s/\@VERSION\@/$version/; print "Writing \033[1;32m$file\033[0m\n"; @@ -1317,7 +1323,7 @@ EOCHEESE } } print "(\033[1;32m$i files found\033[0m)\n"; - if ($config{OSNAME} =~ /darwin/) { + if ($config{IS_DARWIN} eq "YES") { print FILEHANDLE "\n \$(CC) -pipe -twolevel_namespace -undefined dynamic_lookup \$(FLAGS) -bundle -o $name.so $crap3\n"; } else { print FILEHANDLE "\n \$(CC) -pipe \$(FLAGS) -shared $liflags -o $name.so $crap3\n"; @@ -1524,22 +1530,19 @@ CXXFLAGS = -I../include \${FLAGS} CPPFILES = \$(shell /bin/ls -l modes/ | grep '\\.cpp' | sed 's/^.* //' | grep -v svn) RELCPPFILES = \$(shell /bin/ls -l modes/ | grep '\\.cpp' | sed 's/^.* /modes\\//' | grep -v svn) -.SUFFIXES: .o .so - -CPPFILES_OBJS = \$(RELCPPFILES:.cpp=.o) - EOM -if ($config{OSNAME} =~ /darwin/) { +if ($config{IS_DARWIN} eq "YES") { print FH <