tool_listhelp: easier to generate with gen.pl

tool_listhelp.c is now a separate file with only the command line --help
output, exactly as generated by gen.pl. This makes it easier to generate
updates according to what's in the docs/cmdline-opts docs.

  cd $srcroot/docs/cmdline-opts
  ./gen.pl listhelp *.d > $srcroot/src/tool_listhelp.c

With a configure build, this also works:

  make -C src listhelp

Closes #7787
This commit is contained in:
Daniel Stenberg 2021-09-28 17:36:09 +02:00
parent d10a0af2f3
commit ffb634d4ef
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
9 changed files with 862 additions and 790 deletions

View file

@ -37,7 +37,7 @@ curl file category --help
<stdout mode="text">
Usage: curl [options...] <url>
file: FILE protocol options
--create-file-mode <mode> File mode (octal) for created files
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-r, --range <range> Retrieve only the bytes within RANGE
</stdout>

View file

@ -37,7 +37,7 @@ curl file category --help with lower/upper mix
<stdout mode="text">
Usage: curl [options...] <url>
file: FILE protocol options
--create-file-mode <mode> File mode (octal) for created files
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-r, --range <range> Retrieve only the bytes within RANGE
</stdout>

View file

@ -31,7 +31,7 @@
#
# src/tool_getparam.c lists all options curl can parse
# docs/curl.1 documents all command line options
# src/tool_help.c outputs all options with curl -h
# src/tool_listhelp.c outputs all options with curl -h
# - make sure they're all in sync
#
# Output all deviances to stderr.
@ -147,7 +147,7 @@ my %opts = (
'--no-keepalive' => 1,
'--no-progress-meter' => 1,
# pretend these options without -no exist in curl.1 and tool_help.c
# pretend these options without -no exist in curl.1 and tool_listhelp.c
'--alpn' => 6,
'--npn' => 6,
'--eprt' => 6,
@ -157,7 +157,7 @@ my %opts = (
'--sessionid' => 6,
'--progress-meter' => 6,
# deprecated options do not need to be in tool_help.c nor curl.1
# deprecated options do not need to be in tool_listhelp.c nor curl.1
'--krb4' => 6,
'--ftp-ssl' => 6,
'--ftp-ssl-reqd' => 6,
@ -236,7 +236,7 @@ close(R);
#########################################################################
# parse the curl code that outputs the curl -h list
open(R, "<$root/src/tool_help.c") ||
open(R, "<$root/src/tool_listhelp.c") ||
die "no input file";
my @toolhelp; # store all parsed parameters
while(<R>) {
@ -286,10 +286,10 @@ foreach my $o (keys %opts) {
$missing.= " curl.1";
}
if($where & 4) {
$exists .= " tool_help.c";
$exists .= " tool_listhelp.c";
}
else {
$missing .= " tool_help.c";
$missing .= " tool_listhelp.c";
}
print STDERR "$o is not in$missing (but in$exists)\n";