docs/cmdline-opts: invoke managen using a relative path
... no need to use an absolute path, that makes the build unncessarily fail if invoked using a different mount point. managen now takes options to find the input files. Update test1478 to provide the dir arguments to managen Closes #13281
This commit is contained in:
parent
a3b084b913
commit
bcc2e90e45
@ -36,7 +36,8 @@ GN_0 = @echo " GENERATE" $@;
|
||||
GN_1 =
|
||||
GN_ = $(GN_0)
|
||||
|
||||
MANAGEN=$(abs_top_srcdir)/scripts/managen
|
||||
MANAGEN=$(top_srcdir)/scripts/managen
|
||||
INCDIR=$(top_srcdir)/include
|
||||
|
||||
if BUILD_DOCS
|
||||
CLEANFILES = $(MANPAGE) $(ASCIIPAGE)
|
||||
@ -47,10 +48,10 @@ all: $(MANPAGE) $(ASCIIPAGE)
|
||||
endif
|
||||
|
||||
$(MANPAGE): $(DPAGES) $(SUPPORT) mainpage.idx Makefile.inc $(MANAGEN)
|
||||
$(GEN)(rm -f $(MANPAGE) && (cd $(srcdir) && @PERL@ $(MANAGEN) mainpage $(DPAGES)) > manpage.tmp.$$$$ && mv manpage.tmp.$$$$ $(MANPAGE))
|
||||
$(GEN)(rm -f $(MANPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) mainpage $(DPAGES) > manpage.tmp.$$$$ && mv manpage.tmp.$$$$ $(MANPAGE))
|
||||
|
||||
$(ASCIIPAGE): $(DPAGES) $(SUPPORT) mainpage.idx Makefile.inc $(MANAGEN)
|
||||
$(GEN)(rm -f $(ASCIIPAGE) && (cd $(srcdir) && @PERL@ $(MANAGEN) ascii $(DPAGES)) > asciipage.tmp.$$$$ && mv asciipage.tmp.$$$$ $(ASCIIPAGE))
|
||||
$(GEN)(rm -f $(ASCIIPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) ascii $(DPAGES) > asciipage.tmp.$$$$ && mv asciipage.tmp.$$$$ $(ASCIIPAGE))
|
||||
|
||||
listhelp:
|
||||
$(MANAGEN) listhelp $(DPAGES) > $(top_builddir)/src/tool_listhelp.c
|
||||
|
||||
@ -59,15 +59,6 @@ my $year = strftime "%Y", @ts;
|
||||
my $version = "unknown";
|
||||
my $globals;
|
||||
|
||||
open(INC, "<../../include/curl/curlver.h");
|
||||
while(<INC>) {
|
||||
if($_ =~ /^#define LIBCURL_VERSION \"([0-9.]*)/) {
|
||||
$version = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
close(INC);
|
||||
|
||||
# get the long name version, return the man page string
|
||||
sub manpageify {
|
||||
my ($k)=@_;
|
||||
@ -448,10 +439,10 @@ sub render {
|
||||
}
|
||||
|
||||
sub single {
|
||||
my ($manpage, $f, $standalone)=@_;
|
||||
my ($dir, $manpage, $f, $standalone)=@_;
|
||||
my $fh;
|
||||
open($fh, "<:crlf", "$f") ||
|
||||
return 1;
|
||||
open($fh, "<:crlf", "$dir/$f") ||
|
||||
die "could not find $dir/$f";
|
||||
my $short;
|
||||
my $long;
|
||||
my $tags;
|
||||
@ -781,8 +772,10 @@ sub single {
|
||||
}
|
||||
|
||||
sub getshortlong {
|
||||
my ($f)=@_;
|
||||
open(F, "<:crlf", "$f");
|
||||
my ($dir, $f)=@_;
|
||||
$f =~ s/^.*\///;
|
||||
open(F, "<:crlf", "$dir/$f") ||
|
||||
die "could not find $dir/$f";
|
||||
my $short;
|
||||
my $long;
|
||||
my $help;
|
||||
@ -833,16 +826,17 @@ sub getshortlong {
|
||||
}
|
||||
|
||||
sub indexoptions {
|
||||
my (@files) = @_;
|
||||
my ($dir, @files) = @_;
|
||||
foreach my $f (@files) {
|
||||
getshortlong($f);
|
||||
getshortlong($dir, $f);
|
||||
}
|
||||
}
|
||||
|
||||
sub header {
|
||||
my ($manpage, $f)=@_;
|
||||
my ($dir, $manpage, $f)=@_;
|
||||
my $fh;
|
||||
open($fh, "<:crlf", "$f");
|
||||
open($fh, "<:crlf", "$dir/$f") ||
|
||||
die "could not find $dir/$f";
|
||||
my @d = render($manpage, $fh, $f, 1);
|
||||
close($fh);
|
||||
printdesc($manpage, 0, @d);
|
||||
@ -952,13 +946,13 @@ sub listcats {
|
||||
}
|
||||
|
||||
sub listglobals {
|
||||
my (@files) = @_;
|
||||
my ($dir, @files) = @_;
|
||||
my @globalopts;
|
||||
|
||||
# Find all global options and output them
|
||||
foreach my $f (sort @files) {
|
||||
open(F, "<:crlf", "$f") ||
|
||||
next;
|
||||
open(F, "<:crlf", "$dir/$f") ||
|
||||
die "could not read $dir/$f";
|
||||
my $long;
|
||||
my $start = 0;
|
||||
while(<F>) {
|
||||
@ -999,12 +993,12 @@ sub sortnames {
|
||||
}
|
||||
|
||||
sub mainpage {
|
||||
my ($manpage, @files) = @_;
|
||||
my ($dir, $manpage, @files) = @_;
|
||||
# $manpage is 1 for nroff, 0 for ASCII
|
||||
my $ret;
|
||||
my $fh;
|
||||
open($fh, "<:crlf", "mainpage.idx") ||
|
||||
return 1;
|
||||
open($fh, "<:crlf", "$dir/mainpage.idx") ||
|
||||
die "no $dir/mainpage.idx file";
|
||||
|
||||
print <<HEADER
|
||||
.\\" **************************************************************************
|
||||
@ -1047,12 +1041,12 @@ HEADER
|
||||
if(/^%options/) {
|
||||
# output docs for all options
|
||||
foreach my $f (sort sortnames @files) {
|
||||
$ret += single($manpage, $f, 0);
|
||||
$ret += single($dir, $manpage, $f, 0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
# render the file
|
||||
header($manpage, $f);
|
||||
header($dir, $manpage, $f);
|
||||
}
|
||||
}
|
||||
close($fh);
|
||||
@ -1080,15 +1074,15 @@ sub showprotocols {
|
||||
}
|
||||
|
||||
sub getargs {
|
||||
my ($f, @s) = @_;
|
||||
my ($dir, $f, @s) = @_;
|
||||
if($f eq "mainpage") {
|
||||
listglobals(@s);
|
||||
mainpage(1, @s);
|
||||
listglobals($dir, @s);
|
||||
mainpage($dir, 1, @s);
|
||||
return;
|
||||
}
|
||||
elsif($f eq "ascii") {
|
||||
listglobals(@s);
|
||||
mainpage(0, @s);
|
||||
listglobals($dir, @s);
|
||||
mainpage($dir, 0, @s);
|
||||
return;
|
||||
}
|
||||
elsif($f eq "listhelp") {
|
||||
@ -1108,15 +1102,42 @@ sub getargs {
|
||||
return;
|
||||
}
|
||||
|
||||
print "Usage: managen <mainpage/ascii/listhelp/single FILE/protos/listcats> [files]\n";
|
||||
print "Usage: managen ".
|
||||
"[-d dir] <mainpage/ascii/listhelp/single FILE/protos/listcats> [files]\n";
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
my $dir = ".";
|
||||
my $include = "../../include";
|
||||
my $cmd = shift @ARGV;
|
||||
|
||||
check:
|
||||
if($cmd eq "-d") {
|
||||
# specifies source directory
|
||||
$dir = shift @ARGV;
|
||||
$cmd = shift @ARGV;
|
||||
goto check;
|
||||
}
|
||||
elsif($cmd eq "-I") {
|
||||
# include path root
|
||||
$include = shift @ARGV;
|
||||
$cmd = shift @ARGV;
|
||||
goto check;
|
||||
}
|
||||
|
||||
my @files = @ARGV; # the rest are the files
|
||||
|
||||
# learn all existing options
|
||||
indexoptions(@files);
|
||||
open(INC, "<$include/curl/curlver.h");
|
||||
while(<INC>) {
|
||||
if($_ =~ /^#define LIBCURL_VERSION \"([0-9.]*)/) {
|
||||
$version = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
close(INC);
|
||||
|
||||
getargs($cmd, @files);
|
||||
# learn all existing options
|
||||
indexoptions($dir, @files);
|
||||
|
||||
getargs($dir, $cmd, @files);
|
||||
|
||||
@ -19,7 +19,7 @@ src/tool_listhelp.c is in sync with docs/cmdline-opts
|
||||
</name>
|
||||
|
||||
<command type="perl">
|
||||
%SRCDIR/../scripts/managen listhelp %SRCDIR/../docs/cmdline-opts/*.md
|
||||
%SRCDIR/../scripts/managen -d %SRCDIR/../docs/cmdline-opts -I %SRCDIR/../include listhelp %SRCDIR/../docs/cmdline-opts/*.md
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user