diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-03-08 16:53:09 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-03-08 16:53:09 +0000 |
commit | fb65c97eca8a06b5ab09eb36dd32296fa441419f (patch) | |
tree | e663d21eede0bda3e34e9cd98312b0740f9fc72c /PrepareRelease | |
parent | fa85f5ee481179f3453200d51f3d797e455dd529 (diff) | |
download | pcre-fb65c97eca8a06b5ab09eb36dd32296fa441419f.tar.gz |
Create the PrepareRelease script to process the documentation and create the
.generic files for distribution, also to remove trailing spaces. Update a lot
more of the build-time documentation. Arrange for PrepareRelease and its
sub-scripts to be distributed.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@111 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'PrepareRelease')
-rwxr-xr-x | PrepareRelease | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/PrepareRelease b/PrepareRelease new file mode 100755 index 0000000..40c5f6c --- /dev/null +++ b/PrepareRelease @@ -0,0 +1,207 @@ +#/bin/sh + +# Script to prepare the files for building a PCRE release. It does some +# processing of the documentation, detrails files, and creates pcre.h.generic +# and config.h.generic (for use by builders who can't run ./configure). + +# You must run this script before runnning "make dist". It makes use of the +# following files: + +# 132html A Perl script that converts a .1 or .3 man page into HTML. It +# is called from MakeRelease. It "knows" the relevant troff +# constructs that are used in the PCRE man pages. + +# CleanTxt A Perl script that cleans up the output of "nroff -man" by +# removing backspaces and other redundant text so as to produce +# a readable .txt file. + +# Detrail A Perl script that removes trailing spaces from files. + +# Index.html A file that is copied as index.html into the doc/html +# directory when the HTML documentation is built. It works like +# this so that doc/html can be deleted and re-created from scratch. + + +# First, sort out the documentation + +cd doc +echo Processing documentation + +# Make Text form of the documentation. It needs some mangling to make it +# tidy for online reading. Concatenate all the .3 stuff, but omit the +# individual function pages. + +cat <<End >pcre.txt +----------------------------------------------------------------------------- +This file contains a concatenation of the PCRE man pages, converted to plain +text format for ease of searching with a text editor, or for use on systems +that do not have a man page processor. The small individual files that give +synopses of each function in the library have not been included. There are +separate text files for the pcregrep and pcretest commands. +----------------------------------------------------------------------------- + + +End + +echo "Making pcre.txt" +for file in pcre pcrebuild pcrematching pcreapi pcrecallout pcrecompat \ + pcrepattern pcrepartial pcreprecompile \ + pcreperform pcreposix pcrecpp pcresample pcrestack ; do + echo " Processing $file.3" + nroff -c -man $file.3 >$file.rawtxt + ../CleanTxt <$file.rawtxt >>pcre.txt + /bin/rm $file.rawtxt + echo "------------------------------------------------------------------------------" >>pcre.txt + if [ "$file" != "pcresample" ] ; then + echo " " >>pcre.txt + echo " " >>pcre.txt + fi +done + +# The two commands +for file in pcretest pcregrep ; do + echo Making $file.txt + nroff -c -man $file.1 >$file.rawtxt + ../CleanTxt <$file.rawtxt >$file.txt + /bin/rm $file.rawtxt +done + + +# Make HTML form of the documentation. + +echo "Making HTML documentation" +/bin/rm html/* +cp ../Index.html html/index.html + +for file in *.1 ; do + base=`basename $file .1` + echo " Making $base.html" + ../132html -toc $base <$file >html/$base.html +done + +# Exclude table of contents for function summaries. It seems that expr +# forces an anchored regex. Also exclude them for small pages that have +# only one section. +for file in *.3 ; do + base=`basename $file .3` + toc=-toc + if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi + if [ "$base" = "pcresample" ] || \ + [ "$base" = "pcrestack" ] || \ + [ "$base" = "pcrecompat" ] || \ + [ "$base" = "pcreperform" ] ; then + toc="" + fi + echo " Making $base.html" + ../132html $toc $base <$file >html/$base.html + if [ $? != 0 ] ; then exit 1; fi +done + +# End of documentation processing + +cd .. +echo Documentation done + +# These files are detrailed; do not detrail the test data because there may be +# significant trailing spaces. The configure files are also omitted from the +# detrailing. + +files="\ + Makefile.am \ + Makefile.in \ + configure.ac \ + README \ + LICENCE \ + COPYING \ + AUTHORS \ + NEWS \ + NON-UNIX-USE \ + INSTALL \ + 132html \ + CleanTxt \ + Detrail \ + ChangeLog \ + CMakeLists.txt \ + RunGrepTest.in \ + RunTest.in \ + RunTest.bat \ + pcre-config.in \ + libpcre.pc.in \ + libpcrecpp.pc.in \ + config.h \ + config.h.in \ + pcre_printint.src \ + pcredemo.c \ + pcregrep.c \ + pcretest.c \ + dftables.c \ + pcreposix.c \ + pcreposix.h \ + pcre.h \ + pcre.h.in \ + pcre_internal.h + pcre_compile.c \ + pcre_config.c \ + pcre_dfa_exec.c \ + pcre_exec.c \ + pcre_fullinfo.c \ + pcre_get.c \ + pcre_globals.c \ + pcre_info.c \ + pcre_maketables.c \ + pcre_newline.c \ + pcre_ord2utf8.c \ + pcre_refcount.c \ + pcre_study.c \ + pcre_tables.c \ + pcre_try_flipped.c \ + pcre_ucp_searchfuncs.c \ + pcre_valid_utf8.c \ + pcre_version.c \ + pcre_xclass.c \ + pcre_scanner.cc \ + pcre_scanner.h \ + pcre_scanner_unittest.cc \ + pcrecpp.cc \ + pcrecpp.h \ + pcrecpparg.h.in \ + pcrecpp_unittest.cc \ + pcre_stringpiece.cc \ + pcre_stringpiece.h.in \ + pcre_stringpiece_unittest.cc \ + perltest.pl \ + ucp.h \ + ucpinternal.h \ + ucptable.h \ + makevp.bat \ + pcre.def \ + libpcre.def \ + libpcreposix.def" + +echo Detrailing +./Detrail $files doc/p* doc/html/* + +echo Converting pcre.h and config.h to generic forms +cp -f pcre.h pcre.h.generic + +perl <<'END' + open(IN, "<config.h") || die "Can't open config.h: $!\n"; + open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n"; + while (<IN>) + { + if (/^#define\s(?!PACKAGE)(\w+)/) + { + print OUT "#ifndef $1\n"; + print OUT; + print OUT "#endif\n"; + } + else + { + print OUT; + } + } + close IN; + close OUT; +END + +#End |