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

Contents of /code/trunk/PrepareRelease

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1172 - (show annotations)
Wed Oct 24 16:41:07 2012 UTC (6 years, 11 months ago) by ph10
File size: 6994 byte(s)
Error occurred while calculating annotation data.
Create the *.generic files using "make" instead of PrepareRelease.
1 #/bin/sh
2
3 # 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
7 # 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
11 # 132html A Perl script that converts a .1 or .3 man page into HTML. It
12 # "knows" the relevant troff constructs that are used in the PCRE
13 # man pages.
14
15 # CheckMan A Perl script that checks man pages for typos in the mark up.
16
17 # 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
21 # Detrail A Perl script that removes trailing spaces from files.
22
23 # doc/index.html.src
24 # 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
28
29 # 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
33 cd doc
34 echo Processing documentation
35
36 /bin/rm -f pcredemo.3
37
38 # Check the remaining man pages
39
40 perl ../CheckMan *.1 *.3
41 if [ $? != 0 ] ; then exit 1; fi
42
43 # 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 synopses of each function in the library have not been included. Neither has
53 the pcredemo program. There are separate text files for the pcregrep and
54 pcretest commands.
55 -----------------------------------------------------------------------------
56
57
58 End
59
60 echo "Making pcre.txt"
61 for file in pcre pcre16 pcre32 pcrebuild pcrematching pcreapi pcrecallout \
62 pcrecompat \ pcrepattern pcresyntax pcreunicode pcrejit pcrepartial \
63 pcreprecompile pcreperform pcreposix pcrecpp pcresample \
64 pcrelimits pcrestack ; do
65 echo " Processing $file.3"
66 nroff -c -man $file.3 >$file.rawtxt
67 perl ../CleanTxt <$file.rawtxt >>pcre.txt
68 /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 # The three commands
77 for file in pcretest pcregrep pcre-config ; do
78 echo Making $file.txt
79 nroff -c -man $file.1 >$file.rawtxt
80 perl ../CleanTxt <$file.rawtxt >$file.txt
81 /bin/rm $file.rawtxt
82 done
83
84
85 # 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 ".EX\n" ;
108 while (<IN>)
109 {
110 s/\\/\\e/g;
111 print OUT;
112 }
113 print OUT ".EE\n";
114 close(IN);
115 close(OUT);
116 END
117 if [ $? != 0 ] ; then exit 1; fi
118
119
120 # Make HTML form of the documentation.
121
122 echo "Making HTML documentation"
123 /bin/rm html/*
124 cp index.html.src html/index.html
125
126 for file in *.1 ; do
127 base=`basename $file .1`
128 echo " Making $base.html"
129 perl ../132html -toc $base <$file >html/$base.html
130 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
136 for file in *.3 ; do
137 base=`basename $file .3`
138 toc=-toc
139 if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi
140 if [ "$base" = "pcresample" ] || \
141 [ "$base" = "pcrestack" ] || \
142 [ "$base" = "pcrecompat" ] || \
143 [ "$base" = "pcrelimits" ] || \
144 [ "$base" = "pcreperform" ] || \
145 [ "$base" = "pcreunicode" ] ; then
146 toc=""
147 fi
148 echo " Making $base.html"
149 perl ../132html $toc $base <$file >html/$base.html
150 if [ $? != 0 ] ; then exit 1; fi
151 done
152
153 # End of documentation processing; stop if only documentation required.
154
155 cd ..
156 echo Documentation done
157 if [ "$1" = "doc" ] ; then exit; fi
158
159 # These files are detrailed; do not detrail the test data because there may be
160 # 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 # configure files are also omitted from the detrailing. We don't bother with
163 # those pcre[16|32]_xx files that just define COMPILE_PCRE16 and then #include the
164 # common file, because they aren't going to change.
165
166 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 NON-AUTOTOOLS-BUILD \
177 INSTALL \
178 132html \
179 CleanTxt \
180 Detrail \
181 ChangeLog \
182 CMakeLists.txt \
183 RunGrepTest \
184 RunTest \
185 pcre-config.in \
186 libpcre.pc.in \
187 libpcre16.pc.in \
188 libpcre32.pc.in \
189 libpcreposix.pc.in \
190 libpcrecpp.pc.in \
191 config.h.in \
192 pcre_chartables.c.dist \
193 pcredemo.c \
194 pcregrep.c \
195 pcretest.c \
196 dftables.c \
197 pcreposix.c \
198 pcreposix.h \
199 pcre.h.in \
200 pcre_internal.h \
201 pcre_byte_order.c \
202 pcre_compile.c \
203 pcre_config.c \
204 pcre_dfa_exec.c \
205 pcre_exec.c \
206 pcre_fullinfo.c \
207 pcre_get.c \
208 pcre_globals.c \
209 pcre_jit_compile.c \
210 pcre_jit_test.c \
211 pcre_maketables.c \
212 pcre_newline.c \
213 pcre_ord2utf8.c \
214 pcre16_ord2utf16.c \
215 pcre32_ord2utf32.c \
216 pcre_printint.c \
217 pcre_refcount.c \
218 pcre_string_utils.c \
219 pcre_study.c \
220 pcre_tables.c \
221 pcre_ucp_searchfuncs.c \
222 pcre_valid_utf8.c \
223 pcre_version.c \
224 pcre_xclass.c \
225 pcre16_utf16_utils.c \
226 pcre32_utf32_utils.c \
227 pcre16_valid_utf16.c \
228 pcre32_valid_utf32.c \
229 pcre_scanner.cc \
230 pcre_scanner.h \
231 pcre_scanner_unittest.cc \
232 pcrecpp.cc \
233 pcrecpp.h \
234 pcrecpparg.h.in \
235 pcrecpp_unittest.cc \
236 pcre_stringpiece.cc \
237 pcre_stringpiece.h.in \
238 pcre_stringpiece_unittest.cc \
239 perltest.pl \
240 ucp.h \
241 ucpinternal.h \
242 ucptable.h \
243 makevp.bat \
244 pcre.def \
245 libpcre.def \
246 libpcreposix.def"
247
248 echo Detrailing
249 perl ./Detrail $files doc/p* doc/html/*
250
251 echo Done
252
253 #End

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.5