[ci] Test Tcl bindings for dragonfly/freebsd
[xapian.git] / xapian-applications / omega / makemanpage.in
bloba35962b9078cdae2e359b789f10fb821228e47ac
1 #!@PERL@ -w
2 # makemanpage - generate man page from --help output using help2man
4 # Copyright (C) 2007 Olly Betts
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 use strict;
22 # Parse command line parameters
23 if ($#ARGV != 2) {
24   print "usage: makemanpage <binary> <source> <manpage>\n";
25   exit 1;
28 my ($binary, $src, $manpage) = @ARGV;
30 my $desc;
31 open SRC, "<$src" or die "$src: $!\n";
32 while (<SRC>) {
33     if (/^(?:PROG_DESC=|\s*#\s*define\s+PROG_DESC\s+)"(.*?)"/) {
34         $desc = $1;
35         last;
36     }
38 close SRC;
39 unless (defined $desc) {
40     die "$src: Failed to find PROG_DESC\n";
43 my $r = system("@HELP2MAN@", "-o", $manpage."T", "--no-info",
44                "-S", "@PACKAGE_STRING@", "-n", $desc, $binary);
45 if ($r) {
46     unlink $manpage."T";
47     die "@HELP2MAN@: $!\n";
49 rename $manpage."T", $manpage;