* depfix.pl (uniquify): Sort dependencies, so little tweaks to include orders
authorKen Raeburn <raeburn@mit.edu>
Fri, 31 Mar 2006 01:23:55 +0000 (01:23 +0000)
committerKen Raeburn <raeburn@mit.edu>
Fri, 31 Mar 2006 01:23:55 +0000 (01:23 +0000)
don't change lots of makefiles.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17810 dc483132-0cff-0310-8789-dd5450dbe970

src/util/ChangeLog
src/util/depfix.pl

index 2659162f257e59ae5d66d0f513731e80f167e33e..0b81219d48393b0a866949a9d72e3b1e1f8c92de 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-30  Ken Raeburn  <raeburn@mit.edu>
+
+       * depfix.pl (uniquify): Sort dependencies, so little tweaks to
+       include orders don't change lots of makefiles.
+
 2006-03-11  Ken Raeburn  <raeburn@mit.edu>
 
        * reconf: Put autoconf.stmp into include directory.
index c4c233c67037086de84de473c639d32691d16769..7bfc5e40013cebd77336201ff02f5be6275fa71d 100644 (file)
@@ -168,18 +168,24 @@ sub uniquify {
     # "gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)"
     # -- will sometimes emit duplicate header file names.
     local($_) = @_;
+    my(@sides) = split ": ", $_;
+    my($lhs) = "";
+    if ($#sides == 1) {
+       $lhs = $sides[0] . ": ";
+       $_ = $sides[1];
+    }
     my(@words) = split " ", $_;
     my($w);
     my($result) = "";
     my(%seen);
     undef %seen;
-    foreach $w (@words) {
+    foreach $w (sort { $a cmp $b; } @words) {
        next if defined($seen{$w});
        $seen{$w} = 1;
        if ($result ne "") { $result .= " "; }
        $result .= $w;
     }
-    return $result . " ";
+    return $lhs . $result . " ";
 }
 
 sub split_lines {