diff -r 000000000000 -r 7f656887cf89 libraries/spcre/libpcre/pcre/PrepareRelease --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libraries/spcre/libpcre/pcre/PrepareRelease Wed Jun 23 15:52:26 2010 +0100 @@ -0,0 +1,214 @@ +#/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. + +# doc/index.html.src +# 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 <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 pcresyntax 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 three commands +for file in pcretest pcregrep pcre-config ; 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.src 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 \ + RunTest \ + RunTest.bat \ + pcre-config.in \ + libpcre.pc.in \ + libpcrecpp.pc.in \ + config.h.in \ + pcre_printint.src \ + pcre_chartables.c.dist \ + pcredemo.c \ + pcregrep.c \ + pcretest.c \ + dftables.c \ + pcreposix.c \ + pcreposix.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 Doing basic configure to get default pcre.h and config.h +# This is in case the caller has set aliases (as I do - PH) +unset cp ls mv rm +./configure >/dev/null + +echo Converting pcre.h and config.h to generic forms +cp -f pcre.h pcre.h.generic + +perl <<'END' + open(IN, "config.h.generic") || die "Can't open config.h.generic: $!\n"; + while () + { + if (/^#define\s(?!PACKAGE)(\w+)/) + { + print OUT "#ifndef $1\n"; + print OUT; + print OUT "#endif\n"; + } + else + { + print OUT; + } + } + close IN; + close OUT; +END + +echo Done + +#End