kwsysHeaderDump.pl 810 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/perl
  2. if ( $#ARGV+1 < 2 )
  3. {
  4. print "Usage: ./kwsysHeaderDump.pl <name> <header>\n";
  5. exit(1);
  6. }
  7. $name = $ARGV[0];
  8. $max = 0;
  9. open(INFILE, $ARGV[1]);
  10. while (chomp ($line = <INFILE>))
  11. {
  12. if (($line !~ /^\#/) &&
  13. ($line =~ s/.*kwsys${name}_([A-Za-z0-9_]*).*/\1/) &&
  14. ($i{$line}++ < 1))
  15. {
  16. push(@lines, "$line");
  17. if (length($line) > $max)
  18. {
  19. $max = length($line);
  20. }
  21. }
  22. }
  23. close(INFILE);
  24. $width = $max + 13;
  25. print sprintf("#define %-${width}s kwsys(${name})\n", "kwsys${name}");
  26. foreach $l (@lines)
  27. {
  28. print sprintf("#define %-${width}s kwsys(${name}_$l)\n",
  29. "kwsys${name}_$l");
  30. }
  31. print "\n";
  32. print sprintf("# undef kwsys${name}\n");
  33. foreach $l (@lines)
  34. {
  35. print sprintf("# undef kwsys${name}_$l\n");
  36. }