diff check-module @ 11865:84ae262254ad

check-module: revive * check-module: Ignore legit, duplicate-inclusion violations.
author Jim Meyering <meyering@redhat.com>
date Fri, 21 Aug 2009 23:12:35 +0200
parents bbbbbf4cd1c5
children c2cbabec01dd
line wrap: on
line diff
--- a/check-module	Wed Aug 19 15:40:08 2009 +0200
+++ b/check-module	Fri Aug 21 23:12:35 2009 +0200
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 # Check a gnulib module.
 
-# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
 
 # This file is free software: you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -37,6 +37,7 @@
 
 use strict;
 use Getopt::Long;
+use File::Basename;
 #use Coda;
 
 my $COPYRIGHT_NOTICE = "Copyright (C) 2006 Free Software Foundation, Inc.\n".
@@ -158,7 +159,16 @@
 
   # Special cases...
   my %special_non_dup = ( 'fnmatch_loop.c' => 1,
-			  'regex.c' => 1, 'at-func.c' => 1 );
+			  'regex.c' => 1, 'at-func.c' => 1,
+			  'vasnprintf.c' => 1
+			);
+  my %dup_include_ok;
+  $dup_include_ok{'vasnprintf.c'}{'isnand-nolibm.h'} = 1;
+  $dup_include_ok{'vasnprintf.c'}{'isnanl-nolibm.h'} = 1;
+  $dup_include_ok{'vasnprintf.c'}{'fpucw.h'} = 1;
+  $dup_include_ok{'gen-uni-tables.c'}{'3level.h'} = 1;
+  $dup_include_ok{'csharpexec.c'}{'classpath.c'} = 1;
+  $dup_include_ok{'csharpexec.c'}{'classpath.h'} = 1;
 
   my %inc;
   open FH, '<', $file
@@ -176,6 +186,7 @@
       chomp $line;
       $line =~ s/".*//;
       exists $inc{$line} && ! exists $special_non_dup{$line}
+	  && ! exists $dup_include_ok{basename $file}{$line}
 	and warn "$ME: $file: duplicate inclusion of $line\n";
 
       $inc{$line} = 1;