summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-06-18 21:28:22 (GMT)
committerBrad King <brad.king@kitware.com>2003-06-18 21:28:22 (GMT)
commitf72483c66a24893780085a8a691feee8253a0411 (patch)
tree9e2044cbdae34432093d5cc9baad2544969f2e02 /Source
parent322f906638d06e639070b94c17598c1267013ea3 (diff)
downloadCMake-f72483c66a24893780085a8a691feee8253a0411.zip
CMake-f72483c66a24893780085a8a691feee8253a0411.tar.gz
CMake-f72483c66a24893780085a8a691feee8253a0411.tar.bz2
Tool to dump macros for redefining C header namespaces.
Diffstat (limited to 'Source')
-rwxr-xr-xSource/kwsys/kwsysHeaderDump.pl39
1 files changed, 39 insertions, 0 deletions
diff --git a/Source/kwsys/kwsysHeaderDump.pl b/Source/kwsys/kwsysHeaderDump.pl
new file mode 100755
index 0000000..730e333
--- /dev/null
+++ b/Source/kwsys/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");
+}