Add lib/w32sock.h as dependency of close module.
[gnulib.git] / check-module
index 188ecef..6961cd0 100755 (executable)
@@ -1,22 +1,20 @@
 #!/usr/bin/perl -w
 # Check a gnulib module.
 
-# Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
 
-# This file is free software; you can redistribute it and/or modify it
+# 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
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 # Read a module description file and derive the set of files
@@ -46,7 +44,7 @@ my $COPYRIGHT_NOTICE = "Copyright (C) 2006 Free Software Foundation, Inc.\n".
 "the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\n".
 "There is NO WARRANTY, to the extent permitted by law.\n";
 
-(my $VERSION = '$Revision: 1.6 $ ') =~ tr/[0-9].//cd;
+(my $VERSION = '$Revision: 1.8 $ ') =~ tr/[0-9].//cd;
 (my $ME = $0) =~ s|.*/||;
 
 use constant ST_INIT => 1;
@@ -98,6 +96,9 @@ sub parse_module_file ($)
          elsif ($state eq ST_DEPENDENTS)
            {
              $dep_set{$line} = 1;
+             (my $base = $module_file) =~ s,.*/,,;
+             $line eq $base
+               and die "$ME: module $module_file depends on itself\n";
            }
        }
     }
@@ -204,6 +205,19 @@ my %exempt_header =
    # The use of obstack.h in the hash module is conditional, off by default.
    'lib/hash.c:obstack.h' => 1,
 
+   # C files in the gc module have conditional includes.
+   'lib/gc-gnulib.c:des.h' => 1,
+   'lib/gc-gnulib.c:arcfour.h' => 1,
+   'lib/gc-gnulib.c:arctwo.h' => 1,
+   'lib/gc-gnulib.c:md2.h' => 1,
+   'lib/gc-gnulib.c:md4.h' => 1,
+   'lib/gc-gnulib.c:md5.h' => 1,
+   'lib/gc-gnulib.c:rijndael.h' => 1,
+   'lib/gc-gnulib.c:sha1.h' => 1,
+   'lib/gc-gnulib.c:rijndael-api-fst.h' => 1,
+   'lib/gc-gnulib.c:hmac.h' => 1,
+   'lib/gc-libgcrypt.c:md2.h' => 1,
+
    # The fts-lgpl module doesn't actually use fts-cycle.c and unistd-safer.h.
    'lib/fts.c:fts-cycle.c' => 1,
    'lib/fts.c:unistd-safer.h' => 1,