From 481364fbcd27c8b66d9484a41969de7c895c96d2 Mon Sep 17 00:00:00 2001
From: Jim Meyering <jim@meyering.net>
Date: Fri, 20 Jul 2007 13:17:47 +0000
Subject: [PATCH] * check-module: Diagnose a self-dependency.

---
 ChangeLog    | 4 ++++
 check-module | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 18efaa1119..67135f9d11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-07-20  Jim Meyering  <jim@meyering.net>
+
+	* check-module: Diagnose a self-dependency.
+
 2007-07-19  Bruno Haible  <bruno@clisp.org>
 
 	* gnulib-tool (func_import): Don't abort if pobase or po_domain is
diff --git a/check-module b/check-module
index b671163c6e..c3334f1fed 100755
--- a/check-module
+++ b/check-module
@@ -1,7 +1,7 @@
 #!/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
 # under the terms of the GNU General Public License as published by
@@ -46,7 +46,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.7 $ ') =~ tr/[0-9].//cd;
+(my $VERSION = '$Revision: 1.8 $ ') =~ tr/[0-9].//cd;
 (my $ME = $0) =~ s|.*/||;
 
 use constant ST_INIT => 1;
@@ -98,6 +98,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";
 	    }
 	}
     }
-- 
2.30.2