diff options
author | Brad King <brad.king@kitware.com> | 2003-06-18 21:28:22 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-06-18 21:28:22 (GMT) |
commit | f72483c66a24893780085a8a691feee8253a0411 (patch) | |
tree | 9e2044cbdae34432093d5cc9baad2544969f2e02 /Source | |
parent | 322f906638d06e639070b94c17598c1267013ea3 (diff) | |
download | CMake-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-x | Source/kwsys/kwsysHeaderDump.pl | 39 |
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"); +} |