kwsysHeaderDump.pl 959 B

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