-runpod2man('lib', $man3dir, $man3ext);
-
-sub runpod2man {
- my($poddir, $mandir, $manext) = @_;
- my($builddir) = Cwd::getcwd();
-
- if ($mandir eq ' ' or $mandir eq '') {
- print STDERR "Skipping installation of $poddir man pages.\n";
- return;
- }
-
- chdir $poddir || die "Unable to cd to $poddir directory!\n$!\n";
-
- # We insist on using the current version of pod2man in case there
- # are enhancements or changes from previous installed versions.
- # The error message doesn't include the '..' because the user
- # won't be aware that we've chdir to $poddir.
- -x "../pod/pod2man" || die "Executable pod/pod2man not found.\n";
-
- # We want to be sure to use the current perl. We can't rely on
- # the installed perl because it might not be actually installed
- # yet. (The user may have set the $install* Configure variables
- # to point to some temporary home, from which the executable gets
- # installed by occult means.)
- $pod2man = "../perl -I ../lib ../pod/pod2man --section=$manext --official";
-
- mkpath($mandir, 1, 0777); # In File::Path
- # Make a list of all the .pm and .pod files in the directory. We will
- # always run pod2man from the lib directory and feed it the full pathname
- # of the pod. This might be useful for pod2man someday.
- @modpods = ();
- find(\&lsmodpods, '.');
- foreach $mod (@modpods) {
- $manpage = $mod;
- # Convert name from File/Basename.pm to File::Basename.3 format,
- # if necessary.
- $manpage =~ s#\.p(m|od)$##;
- $manpage =~ s#/#::#g;
- $manpage = "${mandir}/${manpage}.${manext}";
- &cmd("$pod2man $mod > $manpage");
- if (-z $manpage) {
- print STDERR "unlink $manpage\n";
- unless ($notify) {
- unlink($manpage) || warn "cannot unlink $manpage: $!";
- }
- }
- }
- chdir "$builddir" || die "Unable to cd back to $builddir directory!\n$!\n";