/[pcre]/code/trunk/PrepareRelease
ViewVC logotype

Contents of /code/trunk/PrepareRelease

Parent Directory Parent Directory | Revision Log Revision Log


Revision 856 - (hide annotations) (download)
Sat Jan 7 17:02:55 2012 UTC (16 months, 1 week ago) by ph10
File size: 7487 byte(s)
Documentation updates.

1 ph10 97 #/bin/sh
2    
3 ph10 111 # Script to prepare the files for building a PCRE release. It does some
4     # processing of the documentation, detrails files, and creates pcre.h.generic
5     # and config.h.generic (for use by builders who can't run ./configure).
6 ph10 97
7 ph10 453 # You must run this script before runnning "make dist". If its first argument
8     # is "doc", it stops after preparing the documentation. There are no other
9     # arguments. The script makes use of the following files:
10 ph10 97
11 ph10 111 # 132html A Perl script that converts a .1 or .3 man page into HTML. It
12 ph10 429 # "knows" the relevant troff constructs that are used in the PCRE
13     # man pages.
14 ph10 97
15 ph10 583 # CheckMan A Perl script that checks man pages for typos in the mark up.
16    
17 ph10 111 # CleanTxt A Perl script that cleans up the output of "nroff -man" by
18     # removing backspaces and other redundant text so as to produce
19     # a readable .txt file.
20 ph10 97
21 ph10 111 # Detrail A Perl script that removes trailing spaces from files.
22 ph10 97
23 ph10 128 # doc/index.html.src
24 ph10 127 # A file that is copied as index.html into the doc/html directory
25     # when the HTML documentation is built. It works like this so that
26     # doc/html can be deleted and re-created from scratch.
27 ph10 97
28    
29 ph10 583 # First, sort out the documentation. Remove pcredemo.3 first because it won't
30     # pass the markup check (it is created below, using markup that none of the
31     # other pages use).
32 ph10 97
33     cd doc
34     echo Processing documentation
35    
36 ph10 583 /bin/rm -f pcredemo.3
37    
38     # Check the remaining man pages
39    
40 ph10 836 perl ../CheckMan *.1 *.3
41 ph10 583 if [ $? != 0 ] ; then exit 1; fi
42    
43 ph10 97 # Make Text form of the documentation. It needs some mangling to make it
44     # tidy for online reading. Concatenate all the .3 stuff, but omit the
45     # individual function pages.
46    
47     cat <<End >pcre.txt
48     -----------------------------------------------------------------------------
49     This file contains a concatenation of the PCRE man pages, converted to plain
50     text format for ease of searching with a text editor, or for use on systems
51     that do not have a man page processor. The small individual files that give
52 ph10 678 synopses of each function in the library have not been included. Neither has
53 ph10 429 the pcredemo program. There are separate text files for the pcregrep and
54     pcretest commands.
55 ph10 97 -----------------------------------------------------------------------------
56    
57    
58     End
59    
60     echo "Making pcre.txt"
61 ph10 856 for file in pcre pcre16 pcrebuild pcrematching pcreapi pcrecallout pcrecompat \
62 ph10 678 pcrepattern pcresyntax pcreunicode pcrejit pcrepartial \
63     pcreprecompile pcreperform pcreposix pcrecpp pcresample \
64     pcrelimits pcrestack ; do
65 ph10 97 echo " Processing $file.3"
66     nroff -c -man $file.3 >$file.rawtxt
67 ph10 836 perl ../CleanTxt <$file.rawtxt >>pcre.txt
68 ph10 97 /bin/rm $file.rawtxt
69     echo "------------------------------------------------------------------------------" >>pcre.txt
70     if [ "$file" != "pcresample" ] ; then
71     echo " " >>pcre.txt
72     echo " " >>pcre.txt
73     fi
74     done
75    
76 ph10 153 # The three commands
77     for file in pcretest pcregrep pcre-config ; do
78 ph10 97 echo Making $file.txt
79     nroff -c -man $file.1 >$file.rawtxt
80 ph10 836 perl ../CleanTxt <$file.rawtxt >$file.txt
81 ph10 97 /bin/rm $file.rawtxt
82     done
83    
84    
85 ph10 429 # Make pcredemo.3 from the pcredemo.c source file
86    
87     echo "Making pcredemo.3"
88     perl <<"END" >pcredemo.3
89     open(IN, "../pcredemo.c") || die "Failed to open pcredemo.c\n";
90     open(OUT, ">pcredemo.3") || die "Failed to open pcredemo.3\n";
91     print OUT ".\\\" Start example.\n" .
92     ".de EX\n" .
93     ". nr mE \\\\n(.f\n" .
94     ". nf\n" .
95     ". nh\n" .
96     ". ft CW\n" .
97     "..\n" .
98     ".\n" .
99     ".\n" .
100     ".\\\" End example.\n" .
101     ".de EE\n" .
102     ". ft \\\\n(mE\n" .
103     ". fi\n" .
104     ". hy \\\\n(HY\n" .
105     "..\n" .
106     ".\n" .
107 ph10 678 ".EX\n" ;
108 ph10 429 while (<IN>)
109     {
110     s/\\/\\e/g;
111     print OUT;
112     }
113     print OUT ".EE\n";
114     close(IN);
115 ph10 678 close(OUT);
116 ph10 429 END
117     if [ $? != 0 ] ; then exit 1; fi
118    
119    
120 ph10 97 # Make HTML form of the documentation.
121    
122 ph10 111 echo "Making HTML documentation"
123 ph10 97 /bin/rm html/*
124 ph10 127 cp index.html.src html/index.html
125 ph10 97
126     for file in *.1 ; do
127     base=`basename $file .1`
128 ph10 111 echo " Making $base.html"
129 ph10 836 perl ../132html -toc $base <$file >html/$base.html
130 ph10 97 done
131    
132     # Exclude table of contents for function summaries. It seems that expr
133     # forces an anchored regex. Also exclude them for small pages that have
134     # only one section.
135 ph10 453
136 ph10 97 for file in *.3 ; do
137     base=`basename $file .3`
138     toc=-toc
139     if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi
140 ph10 678 if [ "$base" = "pcresample" ] || \
141     [ "$base" = "pcrestack" ] || \
142     [ "$base" = "pcrecompat" ] || \
143     [ "$base" = "pcrelimits" ] || \
144     [ "$base" = "pcreperform" ] || \
145     [ "$base" = "pcreunicode" ] ; then
146 ph10 97 toc=""
147     fi
148 ph10 111 echo " Making $base.html"
149 ph10 836 perl ../132html $toc $base <$file >html/$base.html
150 ph10 111 if [ $? != 0 ] ; then exit 1; fi
151 ph10 97 done
152    
153 ph10 453 # End of documentation processing; stop if only documentation required.
154 ph10 97
155     cd ..
156     echo Documentation done
157 ph10 453 if [ "$1" = "doc" ] ; then exit; fi
158 ph10 97
159 ph10 111 # These files are detrailed; do not detrail the test data because there may be
160 ph10 709 # significant trailing spaces. Do not detrail RunTest.bat, because it has CRLF
161     # line endings and the detrail script removes all trailing white space. The
162 ph10 840 # configure files are also omitted from the detrailing. We don't bother with
163     # those pcre16_xx files that just define COMPILE_PCRE16 and then #include the
164     # common file, because they aren't going to change.
165 ph10 97
166 ph10 111 files="\
167     Makefile.am \
168     Makefile.in \
169     configure.ac \
170     README \
171     LICENCE \
172     COPYING \
173     AUTHORS \
174     NEWS \
175     NON-UNIX-USE \
176     INSTALL \
177     132html \
178     CleanTxt \
179     Detrail \
180     ChangeLog \
181     CMakeLists.txt \
182 ph10 138 RunGrepTest \
183     RunTest \
184 ph10 97 pcre-config.in \
185     libpcre.pc.in \
186 ph10 840 libpcre16.pc.in \
187 ph10 423 libpcreposix.pc.in \
188 ph10 97 libpcrecpp.pc.in \
189 ph10 111 config.h.in \
190 ph10 128 pcre_chartables.c.dist \
191 ph10 97 pcredemo.c \
192     pcregrep.c \
193     pcretest.c \
194     dftables.c \
195     pcreposix.c \
196     pcreposix.h \
197 ph10 111 pcre.h.in \
198 ph10 97 pcre_internal.h
199 ph10 836 pcre_byte_order.c \
200 ph10 97 pcre_compile.c \
201     pcre_config.c \
202     pcre_dfa_exec.c \
203     pcre_exec.c \
204     pcre_fullinfo.c \
205     pcre_get.c \
206     pcre_globals.c \
207 ph10 683 pcre_jit_compile.c \
208 ph10 691 pcre_jit_test.c \
209 ph10 97 pcre_maketables.c \
210     pcre_newline.c \
211     pcre_ord2utf8.c \
212 ph10 842 pcre16_ord2utf16.c \
213 ph10 840 pcre_printint.c \
214 ph10 97 pcre_refcount.c \
215 ph10 842 pcre_string_utils.c \
216 ph10 97 pcre_study.c \
217     pcre_tables.c \
218     pcre_ucp_searchfuncs.c \
219     pcre_valid_utf8.c \
220     pcre_version.c \
221     pcre_xclass.c \
222 ph10 840 pcre16_utf16_utils.c \
223 ph10 842 pcre16_valid_utf16.c \
224 ph10 97 pcre_scanner.cc \
225     pcre_scanner.h \
226     pcre_scanner_unittest.cc \
227     pcrecpp.cc \
228     pcrecpp.h \
229     pcrecpparg.h.in \
230     pcrecpp_unittest.cc \
231     pcre_stringpiece.cc \
232     pcre_stringpiece.h.in \
233     pcre_stringpiece_unittest.cc \
234     perltest.pl \
235     ucp.h \
236     ucpinternal.h \
237     ucptable.h \
238     makevp.bat \
239     pcre.def \
240     libpcre.def \
241     libpcreposix.def"
242    
243     echo Detrailing
244 ph10 836 perl ./Detrail $files doc/p* doc/html/*
245 ph10 97
246 ph10 183 echo Doing basic configure to get default pcre.h and config.h
247     # This is in case the caller has set aliases (as I do - PH)
248     unset cp ls mv rm
249     ./configure >/dev/null
250    
251 ph10 111 echo Converting pcre.h and config.h to generic forms
252     cp -f pcre.h pcre.h.generic
253 ph10 97
254 ph10 111 perl <<'END'
255     open(IN, "<config.h") || die "Can't open config.h: $!\n";
256     open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n";
257     while (<IN>)
258     {
259     if (/^#define\s(?!PACKAGE)(\w+)/)
260     {
261     print OUT "#ifndef $1\n";
262     print OUT;
263     print OUT "#endif\n";
264     }
265     else
266     {
267     print OUT;
268     }
269     }
270     close IN;
271     close OUT;
272     END
273 ph10 97
274 ph10 183 echo Done
275    
276 ph10 97 #End

Properties

Name Value
svn:executable *

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12