X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=0e143759208c50db06e5ed69ac51b352fa677e6e;hb=0234afda2c9899eb8f378b6710ce12c28c546c9c;hp=735f10ca39555184829aa81dfb8579ac338a5714;hpb=f25fb80f3b1cc4a138c0bbeef31760d4eaefdfb4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index 735f10ca3..0e1437592 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 @@ -216,6 +217,11 @@ 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{IS_DARWIN} = "NO"; # Is OSX? +if ($config{OSNAME} =~ /darwin/i) +{ + $config{IS_DARWIN} = "YES"; +} $config{CC} = "g++"; # C++ compiler if (defined $opt_cc) { @@ -362,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; @@ -646,7 +656,6 @@ if ($config{USE_GNUTLS} eq "y") { print "Symlinking src/modules/m_ssl_gnutls.cpp from extra/\n"; chdir("src/modules"); system("ln -s extra/m_ssl_gnutls.cpp"); - system("ln -s extra/ssl_cert.h"); chdir("../.."); } getmodules(); @@ -688,7 +697,6 @@ if ($config{USE_GNUTLS} eq "y") { print "Symlinking src/modules/m_ssl_openssl.cpp from extra/\n"; chdir("src/modules"); system("ln -s extra/m_ssl_openssl.cpp"); - system("ln -s extra/ssl_cert.h"); chdir("../.."); } getmodules(); @@ -839,8 +847,16 @@ sub getosflags { $config{LDLIBS} = "-lstdc++"; $config{FLAGS} = "-fno-strict-aliasing -fPIC -Wall -Woverloaded-virtual $config{OPTIMISATI}"; + $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"; chomp($foo = `eg++ -dumpversion | cut -c 1`); @@ -903,9 +919,7 @@ sub writefiles { my($writeheader) = @_; # First File.. inspircd_config.h chomp(my $incos = `uname -n -s -r`); - chomp(my $version = `sh ./src/version.sh`); - chomp(my $revision = getrevision()); - $version = "$version(r$revision)"; + chomp($version = `sh src/version.sh`); chomp(my $revision2 = getrevision()); if ($writeheader == 1) { @@ -1055,6 +1069,11 @@ EOF chomp(my $revision = getrevision()); $version = "$version(r$revision)"; + my $LIBEXT = "so"; + if ($config{IS_DARWIN} eq "YES") + { + $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' @@ -1072,12 +1091,14 @@ 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/\@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}/; @@ -1254,9 +1275,19 @@ EOF print FILEHANDLE <