This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add comments explaining why win32.h/embed.h are included where they are
[perl5.git] / installman
index 06f68f5..6e00774 100755 (executable)
@@ -11,6 +11,10 @@ use subs qw(unlink chmod rename link);
 use vars qw($packlist @modpods);
 require Cwd;
 
+if ($Config{d_umask}) {
+    umask(022); # umasks like 077 aren't that useful for installations
+}
+
 $ENV{SHELL} = 'sh' if $^O eq 'os2';
 
 my $ver = $Config{version};     # Not used presently.
@@ -67,6 +71,7 @@ $opts{verbose} ||= $opts{V} || $opts{notify};
 
 $packlist = ExtUtils::Packlist->new("$Config{installarchlib}/.packlist");
 
+
 # Install the main pod pages.
 runpod2man('pod', $opts{man1dir}, $opts{man1ext});
 
@@ -74,19 +79,17 @@ runpod2man('pod', $opts{man1dir}, $opts{man1ext});
 runpod2man('lib', $opts{man3dir}, $opts{man3ext});
 
 # Install the pods embedded in the installed scripts
-runpod2man('utils', $opts{man1dir}, $opts{man1ext}, 'c2ph', 'h2ph', 'h2xs',
-          'perlcc', 'perldoc', 'perlbug', 'pl2pm', 'splain', 'dprofpp');
-runpod2man('x2p', $opts{man1dir}, $opts{man1ext}, 's2p', 'a2p.pod',
-          'find2perl');
-runpod2man('pod', $opts{man1dir}, $opts{man1ext}, 'pod2man', 'pod2html',
-          'pod2text', 'pod2usage', 'podchecker', 'podselect');
-
-# It would probably be better to have this page linked
-# to the c2ph man page.  Or, this one could say ".so man1/c2ph.1",
-# but then it would have to pay attention to $opts{man1dir} and $opts{man1ext}.
-runpod2man('utils', $opts{man1dir}, $opts{man1ext}, 'pstruct'); 
-
-runpod2man('lib/ExtUtils', $opts{man1dir}, $opts{man1ext}, 'xsubpp');
+open UTILS, "utils.lst" or die "Can't open 'utils.lst': $!";
+while (<UTILS>) {
+    next if /^#/;
+    chomp;
+    $_ = $1 if /#.*pod\s*=\s*(\S+)/;
+    my ($where, $what) = m|^(.*?)/(\S+)|;
+    runpod2man($where, $opts{man1dir}, $opts{man1ext}, $what);
+    if (($where, $what) = m|#.*link\s*=\s*(\S+)/(\S+)|) {
+        runpod2man($where, $opts{man1dir}, $opts{man1ext}, $what);
+    }
+}
 
 sub runpod2man {
     # @script is scripts names if we are installing manpages embedded