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

Contents of /code/trunk/PrepareRelease

Parent Directory Parent Directory | Revision Log Revision Log


Revision 254 - (hide annotations) (download)
Mon Sep 17 11:05:37 2007 UTC (6 years, 7 months ago) by ph10
File size: 5560 byte(s)
Update files tidied by making a release.

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 128 # doc/index.html.src
21 ph10 127 # 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 ph10 208 pcrepattern pcresyntax pcrepartial pcreprecompile \
50 ph10 97 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 ph10 153 # The three commands
63     for file in pcretest pcregrep pcre-config ; do
64 ph10 97 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 ph10 138 RunGrepTest \
127     RunTest \
128 ph10 111 RunTest.bat \
129 ph10 97 pcre-config.in \
130     libpcre.pc.in \
131     libpcrecpp.pc.in \
132 ph10 111 config.h.in \
133 ph10 97 pcre_printint.src \
134 ph10 128 pcre_chartables.c.dist \
135 ph10 97 pcredemo.c \
136     pcregrep.c \
137     pcretest.c \
138     dftables.c \
139     pcreposix.c \
140     pcreposix.h \
141 ph10 111 pcre.h.in \
142 ph10 97 pcre_internal.h
143     pcre_compile.c \
144     pcre_config.c \
145     pcre_dfa_exec.c \
146     pcre_exec.c \
147     pcre_fullinfo.c \
148     pcre_get.c \
149     pcre_globals.c \
150     pcre_info.c \
151     pcre_maketables.c \
152     pcre_newline.c \
153     pcre_ord2utf8.c \
154     pcre_refcount.c \
155     pcre_study.c \
156     pcre_tables.c \
157     pcre_try_flipped.c \
158     pcre_ucp_searchfuncs.c \
159     pcre_valid_utf8.c \
160     pcre_version.c \
161     pcre_xclass.c \
162     pcre_scanner.cc \
163     pcre_scanner.h \
164     pcre_scanner_unittest.cc \
165     pcrecpp.cc \
166     pcrecpp.h \
167     pcrecpparg.h.in \
168     pcrecpp_unittest.cc \
169     pcre_stringpiece.cc \
170     pcre_stringpiece.h.in \
171     pcre_stringpiece_unittest.cc \
172     perltest.pl \
173     ucp.h \
174     ucpinternal.h \
175     ucptable.h \
176     makevp.bat \
177     pcre.def \
178     libpcre.def \
179     libpcreposix.def"
180    
181     echo Detrailing
182 ph10 111 ./Detrail $files doc/p* doc/html/*
183 ph10 97
184 ph10 183 echo Doing basic configure to get default pcre.h and config.h
185     # This is in case the caller has set aliases (as I do - PH)
186     unset cp ls mv rm
187     ./configure >/dev/null
188    
189 ph10 111 echo Converting pcre.h and config.h to generic forms
190     cp -f pcre.h pcre.h.generic
191 ph10 97
192 ph10 111 perl <<'END'
193     open(IN, "<config.h") || die "Can't open config.h: $!\n";
194     open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n";
195     while (<IN>)
196     {
197     if (/^#define\s(?!PACKAGE)(\w+)/)
198     {
199     print OUT "#ifndef $1\n";
200     print OUT;
201     print OUT "#endif\n";
202     }
203     else
204     {
205     print OUT;
206     }
207     }
208     close IN;
209     close OUT;
210     END
211 ph10 97
212 ph10 183 echo Done
213    
214 ph10 97 #End

Properties

Name Value
svn:executable *

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12