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