]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Converted to new Implements system
[user/henk/code/inspircd.git] / configure
index 21d8fb5c4b53bf62771657afd64b95e54c43dca7..7ac841dc752c58ab55f4c1cf2dbee89b08fa6410 100755 (executable)
--- a/configure
+++ b/configure
@@ -872,7 +872,8 @@ EOF
 
   # Create a Modules List..
   my $modules = "";
-  my $flags = "";
+  my $cmflags = "";
+  my $liflags = "";
   if ($config{OSNAME} =~ /CYGWIN/) {
      open(MODLIST,">include/modlist.h");
      print MODLIST <<HEADER;
@@ -892,7 +893,8 @@ HEADER
   foreach $i (@modlist)
   {
     if ($i !~ /_static$/) {
-     $flags = getcompilerflags("src/modules/m_".$i.".cpp");
+     $cmflags = getcompilerflags("src/modules/m_".$i.".cpp");
+     $liflags = getlinkerflags("src/modules/m_".$i.".cpp");
      if ($config{OSNAME} =~ /CYGWIN/) {
         print FILEHANDLE <<EOCHEESE;
 m_$i.o: m_$i\_static.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h
@@ -918,8 +920,8 @@ EOENT
      else {
          print FILEHANDLE <<EOCHEESE;
 m_$i.so: m_$i.cpp ../../include/modules.h ../../include/users.h ../../include/channels.h ../../include/base.h ../../include/inspircd_config.h ../../include/inspircd.h ../../include/inspircd_io.h
-       \$(CC) -pipe -I../../include \$(FLAGS) $flags -export-dynamic -c m_$i.cpp
-       \$(CC) \$(FLAGS) -shared $flags -o m_$i.so m_$i.o
+       \$(CC) -pipe -I../../include \$(FLAGS) $cmflags -export-dynamic -c m_$i.cpp
+       \$(CC) \$(FLAGS) -shared $liflags -o m_$i.so m_$i.o
        \@-rm -f \$(MODPATH)/m_$i.so
        cp m_$i.so \$(MODPATH)/
        chmod 0700 \$(MODPATH)/m_$i.so
@@ -947,6 +949,19 @@ sub getcompilerflags {
   return undef;
 }
 
+sub getlinkerflags {
+  my ($file) = @_;
+  open(FLAGS, $file);
+  while (<FLAGS>) {
+    if ($_ =~ /^\/\* \$LinkerFlags: (.+) \*\/$/) {
+      close(FLAGS);
+      return $1;
+    }
+  }
+  close(FLAGS);
+  return undef;
+}
+
 sub show_splash {
   print "'\033[1;33m####\033[0m:'\033[1;33m##\033[0m::: \033[1;33m##\033[0m::'\033[1;33m######\033[0m::'\033[1;33m########\033[0m::'\033[1;33m####\033[0m:'\033[1;33m########\033[0m:::'\033[1;33m######\033[0m::'\033[1;33m########\033[0m::\n";
   print ". \033[1;33m##\033[0m:: \033[1;33m###\033[0m:: \033[1;33m##\033[0m:'\033[1;33m##\033[0m... \033[1;33m##\033[0m: \033[1;33m##\033[0m.... \033[1;33m##\033[0m:. \033[1;33m##\033[0m:: \033[1;33m##\033[0m.... \033[1;33m##\033[0m:'\033[1;33m##\033[0m... \033[1;33m##\033[0m: \033[1;33m##\033[0m.... \033[1;33m##\033[0m:\n";
@@ -1010,7 +1025,7 @@ CXXFLAGS = -I../include \${FLAGS}
 all: aes.o command_parse.o cull_list.o userprocess.o socketengine.o socket.o hashcomp.o channels.o mode.o xline.o inspstring.o dns.o base.o inspircd_io.o message.o $cmdobjs commands.o dnsqueue.o dynamic.o users.o modules.o wildcard.o helperfuncs.o \$(MODULES) inspircd.exe
 
 inspircd.exe: inspircd.cpp ../include/base.h ../include/channels.h ../include/inspircd.h ../include/channels.h ../include/globals.h ../include/inspircd_config.h ../include/base.h
-       \$(CC) -I../include \$(FLAGS) inspircd.cpp -o inspircd.exe \$(LDLIBS) channels.o mode.o xline.o inspstring.o dns.o base.o inspircd_io.o message.o commands.o dnsqueue.o dynamic.o users.o modules.o wildcard.o helperfuncs.o hashcomp.o socket.o socketengine.o userprocess.o cull_list.o command_parse.o aes.o \$(MODULES)
+       \$(CC) -I../include \$(FLAGS) inspircd.cpp -o inspircd.exe \$(LDLIBS) channels.o mode.o xline.o inspstring.o dns.o base.o inspircd_io.o message.o $cmdobjs commands.o dnsqueue.o dynamic.o users.o modules.o wildcard.o helperfuncs.o hashcomp.o socket.o socketengine.o userprocess.o cull_list.o command_parse.o aes.o \$(MODULES)
 
 cull_list.o: cull_list.cpp ../include/base.h ../include/hashcomp.h ../include/globals.h ../include/inspircd_config.h ../include/users.h ../include/channels.h
        \$(CC) -pipe -I../include \$(FLAGS) -export-dynamic -c cull_list.cpp