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

Contents of /code/trunk/PrepareRelease

Parent Directory Parent Directory | Revision Log Revision Log


Revision 127 - (hide annotations) (download)
Mon Mar 19 11:44:45 2007 UTC (7 years, 5 months ago) by ph10
File size: 5365 byte(s)
A number of tidies, file renames, etc.

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 111 # You must run this script before runnning "make dist". It makes use of the
8     # following files:
9 ph10 97
10 ph10 111 # 132html A Perl script that converts a .1 or .3 man page into HTML. It
11     # is called from MakeRelease. It "knows" the relevant troff
12     # constructs that are used in the PCRE man pages.
13 ph10 97
14 ph10 111 # CleanTxt A Perl script that cleans up the output of "nroff -man" by
15     # removing backspaces and other redundant text so as to produce
16     # a readable .txt file.
17 ph10 97
18 ph10 111 # Detrail A Perl script that removes trailing spaces from files.
19 ph10 97
20 ph10 127 # doc/index.html.src
21     # A file that is copied as index.html into the doc/html directory
22     # when the HTML documentation is built. It works like this so that
23     # doc/html can be deleted and re-created from scratch.
24 ph10 97
25    
26     # First, sort out the documentation
27    
28     cd doc
29     echo Processing documentation
30    
31     # Make Text form of the documentation. It needs some mangling to make it
32     # tidy for online reading. Concatenate all the .3 stuff, but omit the
33     # individual function pages.
34    
35     cat <<End >pcre.txt
36     -----------------------------------------------------------------------------
37     This file contains a concatenation of the PCRE man pages, converted to plain
38     text format for ease of searching with a text editor, or for use on systems
39     that do not have a man page processor. The small individual files that give
40     synopses of each function in the library have not been included. There are
41     separate text files for the pcregrep and pcretest commands.
42     -----------------------------------------------------------------------------
43    
44    
45     End
46    
47     echo "Making pcre.txt"
48     for file in pcre pcrebuild pcrematching pcreapi pcrecallout pcrecompat \
49     pcrepattern pcrepartial pcreprecompile \
50     pcreperform pcreposix pcrecpp pcresample pcrestack ; do
51     echo " Processing $file.3"
52     nroff -c -man $file.3 >$file.rawtxt
53 ph10 111 ../CleanTxt <$file.rawtxt >>pcre.txt
54 ph10 97 /bin/rm $file.rawtxt
55     echo "------------------------------------------------------------------------------" >>pcre.txt
56     if [ "$file" != "pcresample" ] ; then
57     echo " " >>pcre.txt
58     echo " " >>pcre.txt
59     fi
60     done
61    
62     # The two commands
63     for file in pcretest pcregrep ; do
64     echo Making $file.txt
65     nroff -c -man $file.1 >$file.rawtxt
66 ph10 111 ../CleanTxt <$file.rawtxt >$file.txt
67 ph10 97 /bin/rm $file.rawtxt
68     done
69    
70    
71     # Make HTML form of the documentation.
72    
73 ph10 111 echo "Making HTML documentation"
74 ph10 97 /bin/rm html/*
75 ph10 127 cp index.html.src html/index.html
76 ph10 97
77     for file in *.1 ; do
78     base=`basename $file .1`
79 ph10 111 echo " Making $base.html"
80     ../132html -toc $base <$file >html/$base.html
81 ph10 97 done
82    
83     # Exclude table of contents for function summaries. It seems that expr
84     # forces an anchored regex. Also exclude them for small pages that have
85     # only one section.
86     for file in *.3 ; do
87     base=`basename $file .3`
88     toc=-toc
89     if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi
90     if [ "$base" = "pcresample" ] || \
91     [ "$base" = "pcrestack" ] || \
92     [ "$base" = "pcrecompat" ] || \
93     [ "$base" = "pcreperform" ] ; then
94     toc=""
95     fi
96 ph10 111 echo " Making $base.html"
97     ../132html $toc $base <$file >html/$base.html
98     if [ $? != 0 ] ; then exit 1; fi
99 ph10 97 done
100    
101     # End of documentation processing
102    
103     cd ..
104     echo Documentation done
105    
106 ph10 111 # These files are detrailed; do not detrail the test data because there may be
107     # significant trailing spaces. The configure files are also omitted from the
108     # detrailing.
109 ph10 97
110 ph10 111 files="\
111     Makefile.am \
112     Makefile.in \
113     configure.ac \
114     README \
115     LICENCE \
116     COPYING \
117     AUTHORS \
118     NEWS \
119     NON-UNIX-USE \
120     INSTALL \
121     132html \
122     CleanTxt \
123     Detrail \
124     ChangeLog \
125     CMakeLists.txt \
126     RunGrepTest.in \
127     RunTest.in \
128     RunTest.bat \
129 ph10 97 pcre-config.in \
130     libpcre.pc.in \
131     libpcrecpp.pc.in \
132 ph10 111 config.h \
133     config.h.in \
134 ph10 97 pcre_printint.src \
135     pcredemo.c \
136     pcregrep.c \
137     pcretest.c \
138     dftables.c \
139     pcreposix.c \
140     pcreposix.h \
141     pcre.h \
142 ph10 111 pcre.h.in \
143 ph10 97 pcre_internal.h
144     pcre_compile.c \
145     pcre_config.c \
146     pcre_dfa_exec.c \
147     pcre_exec.c \
148     pcre_fullinfo.c \
149     pcre_get.c \
150     pcre_globals.c \
151     pcre_info.c \
152     pcre_maketables.c \
153     pcre_newline.c \
154     pcre_ord2utf8.c \
155     pcre_refcount.c \
156     pcre_study.c \
157     pcre_tables.c \
158     pcre_try_flipped.c \
159     pcre_ucp_searchfuncs.c \
160     pcre_valid_utf8.c \
161     pcre_version.c \
162     pcre_xclass.c \
163     pcre_scanner.cc \
164     pcre_scanner.h \
165     pcre_scanner_unittest.cc \
166     pcrecpp.cc \
167     pcrecpp.h \
168     pcrecpparg.h.in \
169     pcrecpp_unittest.cc \
170     pcre_stringpiece.cc \
171     pcre_stringpiece.h.in \
172     pcre_stringpiece_unittest.cc \
173     perltest.pl \
174     ucp.h \
175     ucpinternal.h \
176     ucptable.h \
177     makevp.bat \
178     pcre.def \
179     libpcre.def \
180     libpcreposix.def"
181    
182     echo Detrailing
183 ph10 111 ./Detrail $files doc/p* doc/html/*
184 ph10 97
185 ph10 111 echo Converting pcre.h and config.h to generic forms
186     cp -f pcre.h pcre.h.generic
187 ph10 97
188 ph10 111 perl <<'END'
189     open(IN, "<config.h") || die "Can't open config.h: $!\n";
190     open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n";
191     while (<IN>)
192     {
193     if (/^#define\s(?!PACKAGE)(\w+)/)
194     {
195     print OUT "#ifndef $1\n";
196     print OUT;
197     print OUT "#endif\n";
198     }
199     else
200     {
201     print OUT;
202     }
203     }
204     close IN;
205     close OUT;
206     END
207 ph10 97
208     #End

Properties

Name Value
svn:executable *

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12