Home | History | Annotate | Line # | Download | only in doc
      1 SUBDIRS = man1
      2 
      3 {-
      4  use File::Spec::Functions qw(:DEFAULT abs2rel rel2abs);
      5  use File::Basename;
      6 
      7  my $sourcedir = catdir($config{sourcedir}, 'doc');
      8 
      9  foreach my $section ((1, 3, 5, 7)) {
     10      my @imagefiles = ();
     11      my @htmlfiles = ();
     12      my @manfiles = ();
     13      my %pngfiles =
     14          map { $_ => 1 } glob catfile($sourcedir, "man$section", "img", "*.png");
     15      my %podfiles =
     16          map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod");
     17      my %podinfiles =
     18          map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod.in");
     19 
     20      foreach (keys %podinfiles) {
     21          (my $p = $_) =~ s|\.in$||i;
     22          $podfiles{$p} = 1;
     23      }
     24 
     25      foreach my $p (sort keys %podfiles) {
     26          my $podfile = abs2rel($p, $sourcedir);
     27          my $podname = basename($podfile, '.pod');
     28          my $podinfile = $podinfiles{"$p.in"} ? "$podfile.in" : undef;
     29 
     30          my $podname = basename($podfile, ".pod");
     31 
     32          my $htmlfile = abs2rel(catfile($buildtop, "doc", "html", "man$section",
     33                                         "$podname.html"),
     34                                 catdir($buildtop, "doc"));
     35          my $manfile = abs2rel(catfile($buildtop, "doc", "man", "man$section",
     36                                        "$podname.$section"),
     37                                catdir($buildtop, "doc"));
     38 
     39          # The build.info format requires file specs to be in Unix format.
     40          # Especially, since VMS file specs use [ and ], the build.info parser
     41          # will otherwise get terribly confused.
     42          if ($^O eq 'VMS') {
     43              $htmlfile = VMS::Filespec::unixify($htmlfile);
     44              $manfile = VMS::Filespec::unixify($manfile);
     45              $podfile = VMS::Filespec::unixify($podfile);
     46              $podinfile = VMS::Filespec::unixify($podinfile)
     47                  if defined $podinfile;
     48          } elsif ($^O eq 'MSWin32') {
     49              $htmlfile =~ s|\\|/|g;
     50              $manfile =~ s|\\|/|g;
     51              $podfile =~ s|\\|/|g;
     52              $podinfile =~ s|\\|/|g
     53                  if defined $podinfile;
     54          }
     55          push @htmlfiles, $htmlfile;
     56          push @manfiles, $manfile;
     57          $OUT .= << "_____";
     58 DEPEND[$htmlfile]=$podfile
     59 GENERATE[$htmlfile]=$podfile
     60 DEPEND[$manfile]=$podfile
     61 GENERATE[$manfile]=$podfile
     62 _____
     63          $OUT .= << "_____" if $podinfile;
     64 DEPEND[$podfile]{pod}=$podinfile
     65 GENERATE[$podfile]=$podinfile
     66 _____
     67      }
     68 
     69      foreach my $p (sort keys %pngfiles) {
     70          my $relpath = abs2rel($p, $sourcedir);
     71          my $imagefile = abs2rel(catfile($buildtop, "doc", "$relpath"),
     72                                  catdir($buildtop, "doc"));
     73          push @imagefiles, $imagefile;
     74      }
     75 
     76      $OUT .= "IMAGEDOCS[man$section]=" . join(" \\\n", @imagefiles) . "\n";
     77      $OUT .= "HTMLDOCS[man$section]=" . join(" \\\n", @htmlfiles) . "\n";
     78      $OUT .= "MANDOCS[man$section]=" . join(" \\\n", @manfiles) . "\n";
     79  }
     80  -}
     81