From e63db1485bfdf37adc77e6e125fa9a531f70d337 Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Wed, 18 Jun 2003 17:28:22 -0400
Subject: [PATCH] Tool to dump macros for redefining C header namespaces.

---
 kwsysHeaderDump.pl | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100755 kwsysHeaderDump.pl

diff --git a/kwsysHeaderDump.pl b/kwsysHeaderDump.pl
new file mode 100755
index 0000000..730e333
--- /dev/null
+++ b/kwsysHeaderDump.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+if ( $#ARGV+1 < 2 )
+{
+    print "Usage: ./kwsysHeaderDump.pl <name> <header>\n";
+    exit(1);
+}
+
+$name = $ARGV[0];
+$max = 0;
+open(INFILE, $ARGV[1]);
+while (chomp ($line = <INFILE>))
+{
+    if (($line !~ /^\#/) &&
+        ($line =~ s/.*kwsys${name}_([A-Za-z0-9_]*).*/\1/) && 
+        ($i{$line}++ < 1))
+    {
+        push(@lines, "$line");
+        if (length($line) > $max)
+        {
+            $max = length($line);
+        }
+    }
+}
+close(INFILE);
+    
+$width = $max + 13;
+print sprintf("#define %-${width}s kwsys(${name})\n", "kwsys${name}");
+foreach $l (@lines)
+{
+    print sprintf("#define %-${width}s kwsys(${name}_$l)\n",
+                  "kwsys${name}_$l");
+}
+print "\n";
+print sprintf("# undef kwsys${name}\n");
+foreach $l (@lines)
+{
+    print sprintf("# undef kwsys${name}_$l\n");
+}
-- 
GitLab