From: Richard Levitte Date: Fri, 29 Nov 2002 15:00:58 +0000 (+0000) Subject: Make it so all names mentioned in the NAME section of each manpage becomes a X-Git-Tag: OpenSSL_0_9_7-beta5~32^2 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=db3758923b4db690feb6ca64562d21cc3d1f3abe Make it so all names mentioned in the NAME section of each manpage becomes a symlink to said manpage. PR: 242 --- diff --git a/Makefile.org b/Makefile.org index fd9a10d8fb..3ad0a68914 100644 --- a/Makefile.org +++ b/Makefile.org @@ -534,22 +534,30 @@ install_docs: for i in doc/apps/*.pod; do \ fn=`basename $$i .pod`; \ if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \ - echo "installing man$$sec/`basename $$i .pod`.$$sec"; \ + echo "installing man$$sec/$$fn.$$sec"; \ (cd `$(PERL) util/dirname.pl $$i`; \ sh -c "$$pod2man \ --section=$$sec --center=OpenSSL \ --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$$sec; \ + $(PERL) util/extract-names.pl < $$i | grep -v "^$$fn" | \ + while read n; do \ + util/point.sh $$fn.$$sec $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$n.$$sec; \ + done; \ done; \ for i in doc/crypto/*.pod doc/ssl/*.pod; do \ fn=`basename $$i .pod`; \ if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \ - echo "installing man$$sec/`basename $$i .pod`.$$sec"; \ + echo "installing man$$sec/$$fn.$$sec"; \ (cd `$(PERL) util/dirname.pl $$i`; \ sh -c "$$pod2man \ --section=$$sec --center=OpenSSL \ --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$$sec; \ + $(PERL) util/extract-names.pl < $$i | grep -v "^$$fn" | \ + while read n; do \ + util/point.sh $$fn.$$sec $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$n.$$sec; \ + done; \ done # DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/util/extract-names.pl b/util/extract-names.pl new file mode 100644 index 0000000000..d413a045cc --- /dev/null +++ b/util/extract-names.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +$/ = ""; # Eat a paragraph at once. +while() { + chop; + s/\n/ /gm; + if (/^=head1 /) { + $name = 0; + } elsif ($name) { + if (/ - /) { + s/ - .*//; + s/[ \t,]+/ /g; + push @words, split ' '; + } + } + if (/^=head1 *NAME *$/) { + $name = 1; + } +} + +print join("\n", @words),"\n"; +