source: tspsg-svn/trunk/docs/html/installdox @ 68

Last change on this file since 68 was 68, checked in by laleppa, 15 years ago

Adding documentation generated by doxygen.

File size: 2.5 KB
Line 
1#!/usr/bin/perl
2
3%subst = ( );
4$quiet   = 0;
5
6if (open(F,"search.cfg"))
7{
8  $_=<F> ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_;
9  $_=<F> ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_;
10}
11
12while ( @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
47foreach $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
60if ( ! @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
72if ( ! @files ) {
73  print STDERR "Warning: No input files given and none found!\n";
74}
75
76foreach $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
111sub 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}
Note: See TracBrowser for help on using the repository browser.