diff options
author | Wayne Davison <wayne@opencoder.net> | 2020-06-18 10:49:34 -0700 |
---|---|---|
committer | Wayne Davison <wayne@opencoder.net> | 2020-06-18 11:20:57 -0700 |
commit | b5e539fc5aa52b94608dbb976981930c03213a78 (patch) | |
tree | efd51423e4d0f12d8e60c910ebc8c1df69dde254 /define-from-md.awk | |
parent | 88c18ef6483fbc7dd89cbab969c1f325b7b55b8e (diff) | |
download | rsync-b5e539fc5aa52b94608dbb976981930c03213a78.tar.gz |
Use documentation to extract 2 more .h lists
- Change default_cvsignore char[] into a define.
- Make the DEFAULT_DONT_COMPRESS and DEFAULT_CVSIGNORE defines get set
based on their info in rsync.1.md.
- Add a few more don't-compress suffixes from Simon Matter.
Diffstat (limited to 'define-from-md.awk')
-rwxr-xr-x | define-from-md.awk | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/define-from-md.awk b/define-from-md.awk new file mode 100755 index 00000000..9f7f2bf3 --- /dev/null +++ b/define-from-md.awk @@ -0,0 +1,41 @@ +#!/usr/bin/awk -f + +# The caller must pass args: -v hfile=NAME rsync.1.md + +BEGIN { + heading = "/* DO NOT EDIT THIS FILE! It is auto-generated from a list of values in " ARGV[1] "! */" + if (hfile ~ /compress/) { + define = "#define DEFAULT_DONT_COMPRESS" + prefix = "*." + } else { + define = "#define DEFAULT_CVSIGNORE" + prefix = "" + } + value_list = "" +} + +/^ > [^ ]+$/ { + gsub(/`/, "") + if (value_list != "") value_list = value_list " " + value_list = value_list prefix $2 + next +} + +value_list ~ /\.gz / && hfile ~ /compress/ { + exit +} + +value_list ~ /SCCS / && hfile ~ /cvsignore/ { + exit +} + +value_list = "" + +END { + if (value_list != "") + print heading "\n\n" define " \"" value_list "\"" > hfile + else { + print "Failed to find a value list in " ARGV[1] " for " hfile + exit 1 + } +} |