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