Simplify depfix.pl by assuming that all files outside of the source
authorGreg Hudson <ghudson@mit.edu>
Mon, 23 Nov 2009 20:52:16 +0000 (20:52 +0000)
committerGreg Hudson <ghudson@mit.edu>
Mon, 23 Nov 2009 20:52:16 +0000 (20:52 +0000)
and build directory (after substitutions) are external headers which
should not be tracked.

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

src/config/post.in
src/util/depfix.pl

index d5d2967db75f9fe989132ec78ae09f62930a6ad4..9c03e73f551253b8a94f5051834883d69f12146b 100644 (file)
@@ -88,10 +88,8 @@ depend-dependencies:
 # references in rules for non-library objects in a directory where
 # library objects happen to be built.  It's mostly harmless.
 .depend: .d $(top_srcdir)/util/depfix.pl
-       x=`$(CC) -print-libgcc-file-name` ; \
        perl $(top_srcdir)/util/depfix.pl '$(top_srcdir)' '$(mydir)' \
-               '$(srcdir)' '$(BUILDTOP)' "$$x" '$(STLIBOBJS)' \
-               < .d > .depend
+               '$(srcdir)' '$(BUILDTOP)' '$(STLIBOBJS)' < .d > .depend
 
 # Temporarily keep the rule for removing the dependency line eater
 # until we're sure we've gotten everything converted and excised the
index 835188586d7800d262ef7ba5b264ac749aeb3254..4dec8879a337ad7116179d378fb43fb36e540665 100644 (file)
@@ -27,7 +27,7 @@ eval 'exec perl -S $0 ${1+"$@"}'
   if 0;
 $0 =~ s/^.*?(\w+)[\.\w+]*$/$1/;
 
-# Input: srctop thisdir srcdir buildtop libgccfilename stlibobjs
+# Input: srctop thisdir srcdir buildtop stlibobjs
 
 # Notes: myrelativedir is something like "lib/krb5/asn.1" or ".".
 # stlibobjs will usually be empty, or include spaces.
@@ -38,10 +38,9 @@ $0 =~ s/^.*?(\w+)[\.\w+]*$/$1/;
 # thisdir = util/et
 # srcdir = ../../../util/et
 # BUILDTOP = ../..
-# libgcc file name = /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a
 # STLIBOBJS = error_message.o et_name.o com_err.o
 
-my($top_srcdir,$thisdir,$srcdir,$BUILDTOP,$libgccpath,$STLIBOBJS) = @ARGV;
+my($top_srcdir,$thisdir,$srcdir,$BUILDTOP,$STLIBOBJS) = @ARGV;
 
 if (0) {
     print STDERR "top_srcdir = $top_srcdir\n";
@@ -49,15 +48,8 @@ if (0) {
     print STDERR "STLIBOBJS = $STLIBOBJS\n";
 }
 
-$libgccincdir = $libgccpath;
-$libgccincdir =~ s,libgcc\.[^ ]*$,include,;
-$libgccincdir = quotemeta($libgccincdir);
 #$srcdirpat = quotemeta($srcdir);
 
-# Tweak here if you need to ignore additional directories.
-#my(@ignoredirs) = ( $libgccincdir, "/var/raeburn/openldap/Install/include" );
-my(@ignoredirs) = ( $libgccincdir );
-
 my($extrasuffixes) = ($STLIBOBJS ne "");
 
 sub my_qm {
@@ -100,12 +92,6 @@ sub do_subs {
     } else {
        s,^([a-zA-Z0-9_\-]*)\.o:,\$(OUTPRE)$1.\$(OBJEXT):,;
     }
-    # Drop GCC include files, they're basically system headers.
-    my ($x);
-    foreach $x (@ignoredirs) {
-       s,$x/[^ ]* ,,g;
-       s,$x/[^ ]*$,,g;
-    }
     # Recognize $(top_srcdir) and variants.
     my($srct) = $top_srcdir . "/";
     $_ = strrep(" $srct", " \$(top_srcdir)/", $_);
@@ -140,14 +126,8 @@ sub do_subs_2 {
     s/$/ /;
     # Remove excess spaces.
     s/  */ /g;
-    # Delete Tcl-specific headers.
-    s;/[^ ]*/tcl\.h ;;g;
-    s;/[^ ]*/tclDecls\.h ;;g;
-    s;/[^ ]*/tclPlatDecls\.h ;;g;
-    # Delete system-specific or compiler-specific files.
-    s;/os/usr/include/[^ ]* ;;g;
-    s;/usr/include/[^ ]* ;;g;
-    s;/usr/lib/[^ ]* ;;g;
+    # Delete headers external to the source and build tree.
+    s; /[^ ]*;;g;
     # Remove foo/../ sequences.
     while (m/\/[a-z][a-z0-9_.\-]*\/\.\.\//) {
        s//\//g;