]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - modulemanager
Add contents of LDFLAGS in addition to CXXFLAGS
[user/henk/code/inspircd.git] / modulemanager
index f4fe555020fec64dc80f910a3d1d16423338fe70..37aebac9bf4a1e65c262712093be93c582e43603 100755 (executable)
@@ -185,7 +185,7 @@ sub resolve_deps {
                        my $ver = $todo{$mod};
                        my $info = $modules{$mod}{$ver} or die "no dependency information on $mod $ver";
                        for my $dep (@{$info->{depends}}) {
-                               $dep =~ /^(\S+)(?: \S+))?/ or die "Bad dependency $dep from $info->{from}";
+                               $dep =~ /^(\S+)(?: \S+)?/ or die "Bad dependency $dep from $info->{from}";
                                my($depmod, $depvers) = ($1,$2);
                                next if $todo{$depmod} && ver_in_range($todo{$depmod}, $depvers);
                                # need to install a dependency
@@ -278,11 +278,15 @@ resolve_deps(0);
 
 $| = 1; # immediate print of lines without \n
 
+# whether or not to invoke ./configure -modupdate after processing
+my $regen_modules_list = 0;
+
 print "Processing changes for $action...\n";
 for my $mod (keys %installed) {
        next if $todo{$mod};
        print "Uninstalling $mod $installed{$mod}\n";
        unlink "src/modules/$mod.cpp";
+       $regen_modules_list = 1;
 }
 
 my $count = scalar keys %todo;
@@ -308,13 +312,21 @@ for my $mod (sort keys %todo) {
        } else {
                print " - HTTP $stat\n";
        }
+       $regen_modules_list = 1;
+}
 
-       # write database of installed versions
-       open SRC, '>.modulemanager' or die "can't write installed versions to .modulemanager, won't be able to track upgrades properly: $!";
-       foreach my $key (keys %mod_versions)
-       {
-               print SRC "$key $mod_versions{$key}\n";
-       }
-       close SRC;
+# write database of installed versions
+open SRC, '>.modulemanager' or die "can't write installed versions to .modulemanager, won't be able to track upgrades properly: $!";
+foreach my $key (keys %mod_versions)
+{
+       print SRC "$key $mod_versions{$key}\n";
+}
+close SRC;
+
+# regenerate makefiles if necessary
+if ($regen_modules_list)
+{
+       print "Done... Re-generating makefiles\n";
+       system "./configure -modupdate";
 }
-print "Done!\n";
+print "Finished!\n";