keepalive/flextimer/test/testflextimer/docs/html/installdox
changeset 70 ac5daea24fb0
equal deleted inserted replaced
61:8b0c979bbe8c 70:ac5daea24fb0
       
     1 #!/usr/bin/perl
       
     2 
       
     3 %subst = ( );
       
     4 $quiet   = 0;
       
     5 
       
     6 if (open(F,"search.cfg"))
       
     7 {
       
     8   $_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
       
     9   $_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
       
    10 }
       
    11 
       
    12 while ( @ARGV ) {
       
    13   $_ = shift @ARGV;
       
    14   if ( s/^-// ) {
       
    15     if ( /^l(.*)/ ) {
       
    16       $v = ($1 eq "") ? shift @ARGV : $1;
       
    17       ($v =~ /\/$/) || ($v .= "/");
       
    18       $_ = $v;
       
    19       if ( /(.+)\@(.+)/ ) {
       
    20         if ( exists $subst{$1} ) {
       
    21           $subst{$1} = $2;
       
    22         } else {
       
    23           print STDERR "Unknown tag file $1 given with option -l\n";
       
    24           &usage();
       
    25         }
       
    26       } else {
       
    27         print STDERR "Argument $_ is invalid for option -l\n";
       
    28         &usage();
       
    29       }
       
    30     }
       
    31     elsif ( /^q/ ) {
       
    32       $quiet = 1;
       
    33     }
       
    34     elsif ( /^\?|^h/ ) {
       
    35       &usage();
       
    36     }
       
    37     else {
       
    38       print STDERR "Illegal option -$_\n";
       
    39       &usage();
       
    40     }
       
    41   }
       
    42   else {
       
    43     push (@files, $_ );
       
    44   }
       
    45 }
       
    46 
       
    47 foreach $sub (keys %subst)
       
    48 {
       
    49   if ( $subst{$sub} eq "" ) 
       
    50   {
       
    51     print STDERR "No substitute given for tag file `$sub'\n";
       
    52     &usage();
       
    53   }
       
    54   elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
       
    55   {
       
    56     print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; 
       
    57   }
       
    58 }
       
    59 
       
    60 if ( ! @files ) {
       
    61   if (opendir(D,".")) {
       
    62     foreach $file ( readdir(D) ) {
       
    63       $match = ".html";
       
    64       next if ( $file =~ /^\.\.?$/ );
       
    65       ($file =~ /$match/) && (push @files, $file);
       
    66       ($file =~ "tree.js") && (push @files, $file);
       
    67     }
       
    68     closedir(D);
       
    69   }
       
    70 }
       
    71 
       
    72 if ( ! @files ) {
       
    73   print STDERR "Warning: No input files given and none found!\n";
       
    74 }
       
    75 
       
    76 foreach $f (@files)
       
    77 {
       
    78   if ( ! $quiet ) {
       
    79     print "Editing: $f...\n";
       
    80   }
       
    81   $oldf = $f;
       
    82   $f   .= ".bak";
       
    83   unless (rename $oldf,$f) {
       
    84     print STDERR "Error: cannot rename file $oldf\n";
       
    85     exit 1;
       
    86   }
       
    87   if (open(F,"<$f")) {
       
    88     unless (open(G,">$oldf")) {
       
    89       print STDERR "Error: opening file $oldf for writing\n";
       
    90       exit 1;
       
    91     }
       
    92     if ($oldf ne "tree.js") {
       
    93       while (<F>) {
       
    94         s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
       
    95         print G "$_";
       
    96       }
       
    97     }
       
    98     else {
       
    99       while (<F>) {
       
   100         s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g;
       
   101         print G "$_";
       
   102       }
       
   103     }
       
   104   } 
       
   105   else {
       
   106     print STDERR "Warning file $f does not exist\n";
       
   107   }
       
   108   unlink $f;
       
   109 }
       
   110 
       
   111 sub usage {
       
   112   print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
       
   113   print STDERR "Options:\n";
       
   114   print STDERR "     -l tagfile\@linkName   tag file + URL or directory \n";
       
   115   print STDERR "     -q                    Quiet mode\n\n";
       
   116   exit 1;
       
   117 }