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>