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