This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
OS/400 PASE port
[perl5.git] / pod / buildtoc.PL
index 3819308..be9c004 100644 (file)
@@ -59,8 +59,53 @@ if (-d "pod") {
   die "$0: failed to chdir('pod'): $!\n" unless chdir("pod");
 }
 
-@pods = qw(
+@ARCHPODS = qw(
+    perlaix    
+    perlapollo
+    perlamiga          
+    perlbeos
+    perlbs2000
+    perlce
+    perlcygwin          
+    perldgux             
+    perldos             
+    perlepoc             
+    perlfreebsd             
+    perlhpux            
+    perlhurd            
+    perlirix            
+    perlmachten         
+    perlmacos
+    perlmint
+    perlmpeix
+    perlnetware             
+    perlos2             
+    perlos390           
+    perlos400           
+    perlqnx
+    perlplan9
+    perlsolaris
+    perltru64
+    perluts
+    perlvmesa
+    perlvms             
+    perlvos             
+    perlwin32           
+          );
+
+@CJKPODS = qw(
+    perlcn
+    perljp
+    perlko
+    perltw
+          );
+
+@pods = 
+  (
+    qw(
+
     perl
+    perlintro
     perlfaq
     perltoc
     perlbook
@@ -74,6 +119,7 @@ if (-d "pod") {
     perldsc
     perlrequick
     perlpod
+    perlpodspec
     perlstyle
     perltrap
 
@@ -86,6 +132,7 @@ if (-d "pod") {
     perlvar
     perllol
     perlopentut
+    perlpacktut
     perlretut
 
     perlre
@@ -95,7 +142,7 @@ if (-d "pod") {
 
     perlboot
     perltoot
-    perltootc
+    perltooc
     perlobj
     perlbot
     perltie
@@ -103,18 +150,22 @@ if (-d "pod") {
     perlipc
     perlfork
     perlnumber
+
     perlthrtut
+    perlothrtut
 
     perlport
     perllocale
+    perluniintro
     perlunicode
     perlebcdic
 
     perlsec
 
     perlmod
-    perlmodlib
     perlmodinstall
+    perlmodlib
+    perlmodstyle
     perlnewmod
 
     perlfaq1            
@@ -133,6 +184,7 @@ if (-d "pod") {
     perldebguts         
     perlxstut           
     perlxs              
+    perlclib            
     perlguts            
     perlcall            
     perlutil            
@@ -140,45 +192,33 @@ if (-d "pod") {
     perldbmfilter       
     perlapi             
     perlintern          
+    perliol            
     perlapio            
     perltodo            
     perlhack            
 
     perlhist           
     perldelta           
+    perl572delta         
+    perl571delta         
+    perl570delta         
+    perl561delta         
     perl56delta         
     perl5005delta       
     perl5004delta       
 
-    perlaix
-    perlamiga          
-    perlcygwin          
-    perldos             
-    perlhpux            
-    perlmachten         
-    perlos2             
-    perlos390           
-    perlposix-bc
-    perlvms             
-    perlwin32           
-         );
+    ),
+
+    @ARCHPODS,
+
+  );
 
-@ARCHPODS = qw(
-    perlaix    
-    perlamiga          
-    perlcygwin          
-    perldos             
-    perlhpux            
-    perlmachten         
-    perlos2             
-    perlos390           
-    perlposix-bc
-    perlvms             
-    perlwin32           
-          );
 for (@ARCHPODS) { s/$/.pod/ }
 @ARCHPODS{@ARCHPODS} = ();
 
+for (@CJKPODS) { s/$/.pod/ }
+@CJKPODS{@CJKPODS} = ();
+
 for (@pods) { s/$/.pod/ }
 @pods{@pods} = ();
 @PODS{@PODS} = ();
@@ -205,6 +245,11 @@ die "$0: could not find the pod listing of perl.pod\n"
   unless @PERLPODS;
 @PERLPODS{@PERLPODS} = ();
 
+# Delete the CJK because we cannot mix their encodings.
+delete @PERLPODS{@CJKPODS};
+delete @PODS{@CJKPODS};
+delete @pods{@CJKPODS};
+
 # Cross-check against ourselves
 # Cross-check against the MANIFEST
 # Cross-check against the perl.pod
@@ -213,7 +258,7 @@ foreach my $i (sort keys %PODS) {
   warn "$0: $i exists but is unknown by buildtoc\n"
        unless exists $pods{$i};
   warn "$0: $i exists but is unknown by ../MANIFEST\n"
-       if !exists $MANIPODS{$i} && !exists $ARCHPODS{$i};
+       if !exists $MANIPODS{$i} && !exists $ARCHPODS{$i} && !exists $CJKPODS{$i};
   warn "$0: $i exists but is unknown by perl.pod\n"
        unless exists $PERLPODS{$i};
 }
@@ -259,12 +304,14 @@ find \&getpods => qw(../lib ../ext);
 
 sub getpods {
     if (/\.p(od|m)$/) {
-       # Skip .pm files that have corresponding .pod files, and Functions.pm.
-       return if /(.*)\.pm$/ && -f "$1.pod";
        my $file = $File::Find::name;
-       return if $file eq '../lib/Pod/Functions.pm'; # Used only by pod itself
-
-       die "tut $name" if $file =~ /TUT/;
+        return if $file eq '../lib/Pod/Functions.pm'; # Used only by pod itself
+        return if $file =~ m!lib/Attribute/Handlers/demo/!;
+        return if $file =~ m!lib/Net/FTP/.+\.pm!; # Hi, Graham! :-)
+        return if $file =~ m!lib/Math/BigInt/t/!;
+        return if $file =~ m!/Devel/PPPort/[Hh]arness|lib/Devel/Harness!i;
+        return if $file =~ m!XS/(?:APItest|Typemap)!;
+        die "tut $name" if $file =~ /TUT/;
        unless (open (F, "< $_\0")) {
            warn "bogus <$file>: $!";
            system "ls", "-l", $file;
@@ -328,7 +375,7 @@ podset( @modules[ sort { $modname[$a] cmp $modname[$b] } 0 .. $#modules ] );
        Here should be listed all the extra programs' documentation, but they
        don't all have manual pages yet:
 
-       =over
+       =over 4
 
        =item a2p
 
@@ -381,13 +428,13 @@ sub podset {
        }
        if (s/^=head1 (.*)/=item $1/) {
            unhead2();
-           output "=over\n\n" unless $inhead1;
+           output "=over 4\n\n" unless $inhead1;
            $inhead1 = 1;
            output $_; nl(); next;
        }
        if (s/^=head2 (.*)/=item $1/) {
            unitem();
-           output "=over\n\n" unless $inhead2;
+           output "=over 4\n\n" unless $inhead2;
            $inhead2 = 1;
            output $_; nl(); next;
        }
@@ -399,7 +446,7 @@ sub podset {
            s/\s+$//;
            next if /^[\d.]+$/;
            next if $pod eq 'perlmodlib' && /^ftp:/;
-           ##print "=over\n\n" unless $initem;
+           ##print "=over 4\n\n" unless $initem;
            output ", " if $initem;
            $initem = 1;
            s/\.$//;