summaryrefslogtreecommitdiffstats
path: root/doc/tools/word-replace2
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-04-26 18:02:26 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-04-26 18:02:26 +0000
commit2ba8875a0b268d572ef2a27584d3f845ec1391b0 (patch)
tree70279d7624be264d69e3db5ab15a2af9278be0eb /doc/tools/word-replace2
parentMerged changes from 4.5 branch and removed that branch. (diff)
downloadrtems-2ba8875a0b268d572ef2a27584d3f845ec1391b0.tar.bz2
Patch rtemsdoc-4.5.0-rc-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
which contains the bulk of converting the documentation tree to automake and GNU conventions. Comments follow: This is the automake port of rtemsdoc. To apply: cvs co rtemsdoc cd rtemsdoc sh cvs-rm.sh patch -p0 < rtemsdoc-4.5.0-rc-0.diff sh cvs-add.sh [Attention: cvs-rm.sh and cvs-add.sh directly modify cvs] Known bugs: 1) src2html is not supported (yet? - Is this supposed to work?) 2) all *.pdf images now are generated on-the-fly, but not yet deleted during "make distclean" 3) All supplements, including the templated ones, get build and installed. 4) Building outside of the source tree is completely untested and very likely does not work. 5) Make [ps|pdf] are not (yet) supported, make [dvi|info] are supported by automake's default texinfo rules. Fixing 2, 3 and 5 is almost trivial and needs to be done. 4) is a matter of testing and tool-properties, for now it is simply untested. General issues: * gif vs jpg vs png. I would recommend to replace all images with pngs to avoid potential copyright issues (gif) or lack in quality (jpg, jpg is good for real world photographs, but extremely poor on artificial images, graphs). * pdf images do net get placed correctly in pdf-documents. * texinfo: We now use a local copy of texinfo-4.0's texinfo.tex in texinfo/texinfo.tex for generating infos. However pdftex's system-wide texinfo.tex and pdftexinfo.tex are used for generating *.dvi, *.ps, *.pdf. * .cvsignore files still missing. * I have renamed the supplements filename not to use c_<supplement>, because automake seems to have problems with it. Notes: * Again, I recommend not to put any generated files into CVS. Here, this comprises some *texi, all *.pdf and many *.html pages. Ie. I recommend to run make maintainer-clean before checking in any files. * To get building started, this should be sufficient: ./bootstrap ./configure cd tools; make; cd .. make info * To make a public tarball: [cvs co ; ./bootstrap] ./configure cd tools; make; cd .. make info [make clean] make dist => This generates a rtems-<version>.tar.gz in the toplevel directory. => Building the tools only is required after a "cvs co", but not in a distribution tarball.
Diffstat (limited to 'doc/tools/word-replace2')
-rw-r--r--doc/tools/word-replace2101
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/tools/word-replace2 b/doc/tools/word-replace2
new file mode 100644
index 0000000000..a56d88a688
--- /dev/null
+++ b/doc/tools/word-replace2
@@ -0,0 +1,101 @@
+#!/usr/bin/perl
+#
+# $Id$
+#
+
+eval "exec /usr/local/bin/perl -S $0 $*"
+ if $running_under_some_shell;
+
+require 'getopts.pl';
+&Getopts("p:vh"); # help, pattern file, verbose,
+
+if ($opt_h || ! $opt_p) {
+ print STDERR <<NO_MORE_HELP;
+word-replace
+
+ Replace *words* with patterns. Pattern file specifies which patterns
+ to replace on each line. All patterns are wrapped with perl \\b regexp
+ specifiers.
+
+Usage: $0 [-v] -p pattern-file files to replace
+
+ -v -- possibly more verbose
+ -p file -- pattern file
+ -h -- help
+
+ anything else == this help message
+
+Pattern file looks like this:
+
+# Example:
+# ignores all lines with beginning with # or not exactly 2 fields
+_Dorky_Name rtems_dorky_name # comments, and blank lines are cool
+_Dorky_Name2 rtems_dorky_name2 # comments, and blank lines are cool
+NO_MORE_HELP
+ exit 0;
+}
+
+$verbose = $opt_v;
+$pattern_file = $opt_p;
+
+# make standard outputs unbuffered (so the '.'s come out ok)
+$oldfh = select(STDERR); $| = 1; select($oldfh);
+$oldfh = select(STDOUT); $| = 1; select($oldfh);
+
+# pull in the patterns
+open(PATTERNS, "<$pattern_file") ||
+ die "could not open $pattern_file: $!, crapped out at";
+
+
+
+foreach (<PATTERNS>)
+{
+ chop;
+ s/#.*//;
+ next if /^$/;
+ ($orig, $new, $junk, @rest) = split;
+ next if ( ! $orig || ! $new || $junk); # <2 or >2 patterns
+ die "pattern appears 2x: '$orig' in '$pattern_file'--" if defined($patterns{$orig});
+ $patterns{$orig} = $new;
+}
+close PATTERNS;
+# walk thru each line in each file
+
+$infile = '-' ;
+$outfile = '-' ;
+
+if ( $#ARGV > -1 )
+{
+ $infile = "@ARGV[0]" ;
+ shift @ARGV ;
+}
+
+if ( $#ARGV > -1 )
+{
+ $outfile = "@ARGV[0]" ;
+ shift @ARGV ;
+}
+
+print STDERR "$outfile\t";
+
+open (INFILE, "<$infile") ||
+ die "could not open input file $infile: $!";
+
+open (OUTFILE, ">$outfile") ||
+ die "could not open output file $outfile: $!";
+
+$line = join('',<INFILE>) ;
+
+ foreach $key (keys %patterns)
+ {
+ if ( $line =~ s/\b$key\b/$patterns{$key}/ge )
+ {
+ print STDERR "." ;
+ }
+ }
+
+print OUTFILE $line ;
+
+print STDERR "\n";
+close INFILE;
+close OUTFILE;