Annotation of embedaddon/pcre/PrepareRelease, revision 1.1.1.4
1.1 misho 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:
1.1.1.4 ! misho 28: # README & NON-AUTOTOOLS-BUILD
! 29: # These files are copied into the doc/html directory, with .txt
! 30: # extensions so that they can by hyperlinked from the HTML
! 31: # documentation, because some people just go to the HTML without
! 32: # looking for text files.
! 33:
1.1 misho 34:
35: # First, sort out the documentation. Remove pcredemo.3 first because it won't
36: # pass the markup check (it is created below, using markup that none of the
37: # other pages use).
38:
39: cd doc
40: echo Processing documentation
41:
42: /bin/rm -f pcredemo.3
43:
44: # Check the remaining man pages
45:
46: perl ../CheckMan *.1 *.3
47: if [ $? != 0 ] ; then exit 1; fi
48:
49: # Make Text form of the documentation. It needs some mangling to make it
50: # tidy for online reading. Concatenate all the .3 stuff, but omit the
51: # individual function pages.
52:
53: cat <<End >pcre.txt
54: -----------------------------------------------------------------------------
55: This file contains a concatenation of the PCRE man pages, converted to plain
56: text format for ease of searching with a text editor, or for use on systems
57: that do not have a man page processor. The small individual files that give
58: synopses of each function in the library have not been included. Neither has
59: the pcredemo program. There are separate text files for the pcregrep and
60: pcretest commands.
61: -----------------------------------------------------------------------------
62:
63:
64: End
65:
66: echo "Making pcre.txt"
1.1.1.4 ! misho 67: for file in pcre pcre16 pcre32 pcrebuild pcrematching pcreapi pcrecallout \
! 68: pcrecompat pcrepattern pcresyntax pcreunicode pcrejit pcrepartial \
1.1 misho 69: pcreprecompile pcreperform pcreposix pcrecpp pcresample \
70: pcrelimits pcrestack ; do
71: echo " Processing $file.3"
72: nroff -c -man $file.3 >$file.rawtxt
73: perl ../CleanTxt <$file.rawtxt >>pcre.txt
74: /bin/rm $file.rawtxt
75: echo "------------------------------------------------------------------------------" >>pcre.txt
76: if [ "$file" != "pcresample" ] ; then
77: echo " " >>pcre.txt
78: echo " " >>pcre.txt
79: fi
80: done
81:
82: # The three commands
83: for file in pcretest pcregrep pcre-config ; do
84: echo Making $file.txt
85: nroff -c -man $file.1 >$file.rawtxt
86: perl ../CleanTxt <$file.rawtxt >$file.txt
87: /bin/rm $file.rawtxt
88: done
89:
90:
91: # Make pcredemo.3 from the pcredemo.c source file
92:
93: echo "Making pcredemo.3"
94: perl <<"END" >pcredemo.3
95: open(IN, "../pcredemo.c") || die "Failed to open pcredemo.c\n";
96: open(OUT, ">pcredemo.3") || die "Failed to open pcredemo.3\n";
97: print OUT ".\\\" Start example.\n" .
98: ".de EX\n" .
99: ". nr mE \\\\n(.f\n" .
100: ". nf\n" .
101: ". nh\n" .
102: ". ft CW\n" .
103: "..\n" .
104: ".\n" .
105: ".\n" .
106: ".\\\" End example.\n" .
107: ".de EE\n" .
108: ". ft \\\\n(mE\n" .
109: ". fi\n" .
110: ". hy \\\\n(HY\n" .
111: "..\n" .
112: ".\n" .
113: ".EX\n" ;
114: while (<IN>)
115: {
116: s/\\/\\e/g;
117: print OUT;
118: }
119: print OUT ".EE\n";
120: close(IN);
121: close(OUT);
122: END
123: if [ $? != 0 ] ; then exit 1; fi
124:
125:
126: # Make HTML form of the documentation.
127:
128: echo "Making HTML documentation"
129: /bin/rm html/*
130: cp index.html.src html/index.html
1.1.1.4 ! misho 131: cp ../README html/README.txt
! 132: cp ../NON-AUTOTOOLS-BUILD html/NON-AUTOTOOLS-BUILD.txt
1.1 misho 133:
134: for file in *.1 ; do
135: base=`basename $file .1`
136: echo " Making $base.html"
137: perl ../132html -toc $base <$file >html/$base.html
138: done
139:
140: # Exclude table of contents for function summaries. It seems that expr
141: # forces an anchored regex. Also exclude them for small pages that have
142: # only one section.
143:
144: for file in *.3 ; do
145: base=`basename $file .3`
146: toc=-toc
147: if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi
148: if [ "$base" = "pcresample" ] || \
149: [ "$base" = "pcrestack" ] || \
150: [ "$base" = "pcrecompat" ] || \
151: [ "$base" = "pcrelimits" ] || \
152: [ "$base" = "pcreperform" ] || \
153: [ "$base" = "pcreunicode" ] ; then
154: toc=""
155: fi
156: echo " Making $base.html"
157: perl ../132html $toc $base <$file >html/$base.html
158: if [ $? != 0 ] ; then exit 1; fi
159: done
160:
161: # End of documentation processing; stop if only documentation required.
162:
163: cd ..
164: echo Documentation done
165: if [ "$1" = "doc" ] ; then exit; fi
166:
167: # These files are detrailed; do not detrail the test data because there may be
168: # significant trailing spaces. Do not detrail RunTest.bat, because it has CRLF
169: # line endings and the detrail script removes all trailing white space. The
1.1.1.2 misho 170: # configure files are also omitted from the detrailing. We don't bother with
1.1.1.4 ! misho 171: # those pcre[16|32]_xx files that just define COMPILE_PCRE16 and then #include the
1.1.1.2 misho 172: # common file, because they aren't going to change.
1.1 misho 173:
174: files="\
175: Makefile.am \
176: Makefile.in \
177: configure.ac \
178: README \
179: LICENCE \
180: COPYING \
181: AUTHORS \
182: NEWS \
183: NON-UNIX-USE \
1.1.1.3 misho 184: NON-AUTOTOOLS-BUILD \
1.1 misho 185: INSTALL \
186: 132html \
187: CleanTxt \
188: Detrail \
189: ChangeLog \
190: CMakeLists.txt \
191: RunGrepTest \
192: RunTest \
193: pcre-config.in \
194: libpcre.pc.in \
1.1.1.2 misho 195: libpcre16.pc.in \
1.1.1.4 ! misho 196: libpcre32.pc.in \
1.1 misho 197: libpcreposix.pc.in \
198: libpcrecpp.pc.in \
199: config.h.in \
200: pcre_chartables.c.dist \
201: pcredemo.c \
202: pcregrep.c \
203: pcretest.c \
204: dftables.c \
205: pcreposix.c \
206: pcreposix.h \
207: pcre.h.in \
1.1.1.4 ! misho 208: pcre_internal.h \
1.1.1.2 misho 209: pcre_byte_order.c \
1.1 misho 210: pcre_compile.c \
211: pcre_config.c \
212: pcre_dfa_exec.c \
213: pcre_exec.c \
214: pcre_fullinfo.c \
215: pcre_get.c \
216: pcre_globals.c \
217: pcre_jit_compile.c \
218: pcre_jit_test.c \
219: pcre_maketables.c \
220: pcre_newline.c \
221: pcre_ord2utf8.c \
1.1.1.2 misho 222: pcre16_ord2utf16.c \
1.1.1.4 ! misho 223: pcre32_ord2utf32.c \
1.1.1.2 misho 224: pcre_printint.c \
1.1 misho 225: pcre_refcount.c \
1.1.1.2 misho 226: pcre_string_utils.c \
1.1 misho 227: pcre_study.c \
228: pcre_tables.c \
229: pcre_valid_utf8.c \
230: pcre_version.c \
231: pcre_xclass.c \
1.1.1.2 misho 232: pcre16_utf16_utils.c \
1.1.1.4 ! misho 233: pcre32_utf32_utils.c \
1.1.1.2 misho 234: pcre16_valid_utf16.c \
1.1.1.4 ! misho 235: pcre32_valid_utf32.c \
1.1 misho 236: pcre_scanner.cc \
237: pcre_scanner.h \
238: pcre_scanner_unittest.cc \
239: pcrecpp.cc \
240: pcrecpp.h \
241: pcrecpparg.h.in \
242: pcrecpp_unittest.cc \
243: pcre_stringpiece.cc \
244: pcre_stringpiece.h.in \
245: pcre_stringpiece_unittest.cc \
246: perltest.pl \
247: ucp.h \
248: makevp.bat \
249: pcre.def \
250: libpcre.def \
251: libpcreposix.def"
252:
253: echo Detrailing
254: perl ./Detrail $files doc/p* doc/html/*
255:
256: echo Done
257:
258: #End
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>