diff --git a/docs/cmdline-opts/Makefile.am b/docs/cmdline-opts/Makefile.am index 0b5b29a127..5a8996bc22 100644 --- a/docs/cmdline-opts/Makefile.am +++ b/docs/cmdline-opts/Makefile.am @@ -37,5 +37,5 @@ GN_ = $(GN_0) all: $(MANPAGE) -$(MANPAGE): $(DPAGES) $(OTHERPAGES) Makefile.inc +$(MANPAGE): $(DPAGES) $(OTHERPAGES) Makefile.inc gen.pl $(GEN)(rm -f $(MANPAGE) && cd $(srcdir) && @PERL@ ./gen.pl mainpage $(DPAGES) > $(builddir)/manpage.tmp && mv $(builddir)/manpage.tmp $(MANPAGE)) diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl index 8f0d636ca2..40bd1b6e1e 100755 --- a/docs/cmdline-opts/gen.pl +++ b/docs/cmdline-opts/gen.pl @@ -51,6 +51,7 @@ use POSIX qw(strftime); my $date = strftime "%B %d %Y", localtime; my $year = strftime "%Y", localtime; my $version = "unknown"; +my $globals; open(INC, "<../../include/curl/curlver.h"); while() { @@ -520,6 +521,7 @@ sub header { while() { s/%DATE/$date/g; s/%VERSION/$version/g; + s/%GLOBALS/$globals/g; push @d, $_; } close(F); @@ -535,7 +537,7 @@ sub listhelp { * | (__| |_| | _ <| |___ * \\___|\\___/|_| \\_\\_____| * - * Copyright (C) Daniel Stenberg, , et al. + * Copyright (C) Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -629,6 +631,36 @@ sub listcats { } } +sub listglobals { + my (@files) = @_; + my @globalopts; + + # Find all global options and output them + foreach my $f (sort @files) { + open(F, "<:crlf", "$f") || + next; + my $long; + while() { + if(/^Long: *(.*)/i) { + $long=$1; + } + elsif(/^Scope: global/i) { + push @globalopts, $long; + last; + } + elsif(/^---/) { + last; + } + } + close(F); + } + return $ret if($ret); + for my $e (0 .. $#globalopts) { + $globals .= sprintf "%s--%s", $e?($globalopts[$e+1] ? ", " : " and "):"", + $globalopts[$e],; + } +} + sub mainpage { my (@files) = @_; my $ret; @@ -669,6 +701,7 @@ sub showprotocols { sub getargs { my ($f, @s) = @_; if($f eq "mainpage") { + listglobals(@s); mainpage(@s); return; } diff --git a/docs/cmdline-opts/page-header b/docs/cmdline-opts/page-header index 3907460f12..acb9ef1f3d 100644 --- a/docs/cmdline-opts/page-header +++ b/docs/cmdline-opts/page-header @@ -201,3 +201,7 @@ prefix it with "no-". However, in this list we mostly only list and show the When --next is used, it resets the parser state and you start again with a clean option state, except for the options that are "global". Global options will retain their values and meaning even after --next. + +The following options are global: +%GLOBALS. +