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