Annotation of embedaddon/pcre/PrepareRelease, revision 1.1

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: 
        !            28: 
        !            29: # First, sort out the documentation. Remove pcredemo.3 first because it won't
        !            30: # pass the markup check (it is created below, using markup that none of the
        !            31: # other pages use).
        !            32: 
        !            33: cd doc
        !            34: echo Processing documentation
        !            35: 
        !            36: /bin/rm -f pcredemo.3
        !            37: 
        !            38: # Check the remaining man pages
        !            39: 
        !            40: perl ../CheckMan *.1 *.3
        !            41: if [ $? != 0 ] ; then exit 1; fi
        !            42: 
        !            43: # Make Text form of the documentation. It needs some mangling to make it
        !            44: # tidy for online reading. Concatenate all the .3 stuff, but omit the
        !            45: # individual function pages.
        !            46: 
        !            47: cat <<End >pcre.txt
        !            48: -----------------------------------------------------------------------------
        !            49: This file contains a concatenation of the PCRE man pages, converted to plain
        !            50: text format for ease of searching with a text editor, or for use on systems
        !            51: that do not have a man page processor. The small individual files that give
        !            52: synopses of each function in the library have not been included. Neither has
        !            53: the pcredemo program. There are separate text files for the pcregrep and
        !            54: pcretest commands.
        !            55: -----------------------------------------------------------------------------
        !            56: 
        !            57: 
        !            58: End
        !            59: 
        !            60: echo "Making pcre.txt"
        !            61: for file in pcre pcrebuild pcrematching pcreapi pcrecallout pcrecompat \
        !            62:             pcrepattern pcresyntax pcreunicode pcrejit pcrepartial \
        !            63:             pcreprecompile pcreperform pcreposix pcrecpp pcresample \
        !            64:             pcrelimits pcrestack ; do
        !            65:   echo "  Processing $file.3"
        !            66:   nroff -c -man $file.3 >$file.rawtxt
        !            67:   perl ../CleanTxt <$file.rawtxt >>pcre.txt
        !            68:   /bin/rm $file.rawtxt
        !            69:   echo "------------------------------------------------------------------------------" >>pcre.txt
        !            70:   if [ "$file" != "pcresample" ] ; then
        !            71:     echo " " >>pcre.txt
        !            72:     echo " " >>pcre.txt
        !            73:   fi
        !            74: done
        !            75: 
        !            76: # The three commands
        !            77: for file in pcretest pcregrep pcre-config ; do
        !            78:   echo Making $file.txt
        !            79:   nroff -c -man $file.1 >$file.rawtxt
        !            80:   perl ../CleanTxt <$file.rawtxt >$file.txt
        !            81:   /bin/rm $file.rawtxt
        !            82: done
        !            83: 
        !            84: 
        !            85: # Make pcredemo.3 from the pcredemo.c source file
        !            86: 
        !            87: echo "Making pcredemo.3"
        !            88: perl <<"END" >pcredemo.3
        !            89:   open(IN, "../pcredemo.c") || die "Failed to open pcredemo.c\n";
        !            90:   open(OUT, ">pcredemo.3") || die "Failed to open pcredemo.3\n";
        !            91:   print OUT ".\\\" Start example.\n" .
        !            92:             ".de EX\n" .
        !            93:             ".  nr mE \\\\n(.f\n" .
        !            94:             ".  nf\n" .
        !            95:             ".  nh\n" .
        !            96:             ".  ft CW\n" .
        !            97:             "..\n" .
        !            98:             ".\n" .
        !            99:             ".\n" .
        !           100:             ".\\\" End example.\n" .
        !           101:             ".de EE\n" .
        !           102:             ".  ft \\\\n(mE\n" .
        !           103:             ".  fi\n" .
        !           104:             ".  hy \\\\n(HY\n" .
        !           105:             "..\n" .
        !           106:             ".\n" .
        !           107:             ".EX\n" ;
        !           108:   while (<IN>)
        !           109:     {
        !           110:     s/\\/\\e/g;
        !           111:     print OUT;
        !           112:     }
        !           113:   print OUT ".EE\n";
        !           114:   close(IN);
        !           115:   close(OUT);
        !           116: END
        !           117: if [ $? != 0 ] ; then exit 1; fi
        !           118: 
        !           119: 
        !           120: # Make HTML form of the documentation.
        !           121: 
        !           122: echo "Making HTML documentation"
        !           123: /bin/rm html/*
        !           124: cp index.html.src html/index.html
        !           125: 
        !           126: for file in *.1 ; do
        !           127:   base=`basename $file .1`
        !           128:   echo "  Making $base.html"
        !           129:   perl ../132html -toc $base <$file >html/$base.html
        !           130: done
        !           131: 
        !           132: # Exclude table of contents for function summaries. It seems that expr
        !           133: # forces an anchored regex. Also exclude them for small pages that have
        !           134: # only one section.
        !           135: 
        !           136: for file in *.3 ; do
        !           137:   base=`basename $file .3`
        !           138:   toc=-toc
        !           139:   if [ `expr $base : '.*_'` -ne 0 ] ; then toc="" ; fi
        !           140:   if [ "$base" = "pcresample" ]  || \
        !           141:      [ "$base" = "pcrestack" ]   || \
        !           142:      [ "$base" = "pcrecompat" ]  || \
        !           143:      [ "$base" = "pcrelimits" ]  || \
        !           144:      [ "$base" = "pcreperform" ] || \
        !           145:      [ "$base" = "pcreunicode" ] ; then
        !           146:     toc=""
        !           147:   fi
        !           148:   echo "  Making $base.html"
        !           149:   perl ../132html $toc $base <$file >html/$base.html
        !           150:   if [ $? != 0 ] ; then exit 1; fi
        !           151: done
        !           152: 
        !           153: # End of documentation processing; stop if only documentation required.
        !           154: 
        !           155: cd ..
        !           156: echo Documentation done
        !           157: if [ "$1" = "doc" ] ; then exit; fi
        !           158: 
        !           159: # These files are detrailed; do not detrail the test data because there may be
        !           160: # significant trailing spaces. Do not detrail RunTest.bat, because it has CRLF
        !           161: # line endings and the detrail script removes all trailing white space. The
        !           162: # configure files are also omitted from the detrailing.
        !           163: 
        !           164: files="\
        !           165:   Makefile.am \
        !           166:   Makefile.in \
        !           167:   configure.ac \
        !           168:   README \
        !           169:   LICENCE \
        !           170:   COPYING \
        !           171:   AUTHORS \
        !           172:   NEWS \
        !           173:   NON-UNIX-USE \
        !           174:   INSTALL \
        !           175:   132html \
        !           176:   CleanTxt \
        !           177:   Detrail \
        !           178:   ChangeLog \
        !           179:   CMakeLists.txt \
        !           180:   RunGrepTest \
        !           181:   RunTest \
        !           182:   pcre-config.in \
        !           183:   libpcre.pc.in \
        !           184:   libpcreposix.pc.in \
        !           185:   libpcrecpp.pc.in \
        !           186:   config.h.in \
        !           187:   pcre_printint.src \
        !           188:   pcre_chartables.c.dist \
        !           189:   pcredemo.c \
        !           190:   pcregrep.c \
        !           191:   pcretest.c \
        !           192:   dftables.c \
        !           193:   pcreposix.c \
        !           194:   pcreposix.h \
        !           195:   pcre.h.in \
        !           196:   pcre_internal.h
        !           197:   pcre_compile.c \
        !           198:   pcre_config.c \
        !           199:   pcre_dfa_exec.c \
        !           200:   pcre_exec.c \
        !           201:   pcre_fullinfo.c \
        !           202:   pcre_get.c \
        !           203:   pcre_globals.c \
        !           204:   pcre_info.c \
        !           205:   pcre_jit_compile.c \
        !           206:   pcre_jit_test.c \
        !           207:   pcre_maketables.c \
        !           208:   pcre_newline.c \
        !           209:   pcre_ord2utf8.c \
        !           210:   pcre_refcount.c \
        !           211:   pcre_study.c \
        !           212:   pcre_tables.c \
        !           213:   pcre_try_flipped.c \
        !           214:   pcre_ucp_searchfuncs.c \
        !           215:   pcre_valid_utf8.c \
        !           216:   pcre_version.c \
        !           217:   pcre_xclass.c \
        !           218:   pcre_scanner.cc \
        !           219:   pcre_scanner.h \
        !           220:   pcre_scanner_unittest.cc \
        !           221:   pcrecpp.cc \
        !           222:   pcrecpp.h \
        !           223:   pcrecpparg.h.in \
        !           224:   pcrecpp_unittest.cc \
        !           225:   pcre_stringpiece.cc \
        !           226:   pcre_stringpiece.h.in \
        !           227:   pcre_stringpiece_unittest.cc \
        !           228:   perltest.pl \
        !           229:   ucp.h \
        !           230:   ucpinternal.h \
        !           231:   ucptable.h \
        !           232:   makevp.bat \
        !           233:   pcre.def \
        !           234:   libpcre.def \
        !           235:   libpcreposix.def"
        !           236: 
        !           237: echo Detrailing
        !           238: perl ./Detrail $files doc/p* doc/html/*
        !           239: 
        !           240: echo Doing basic configure to get default pcre.h and config.h
        !           241: # This is in case the caller has set aliases (as I do - PH)
        !           242: unset cp ls mv rm
        !           243: ./configure >/dev/null
        !           244: 
        !           245: echo Converting pcre.h and config.h to generic forms
        !           246: cp -f pcre.h pcre.h.generic
        !           247: 
        !           248: perl <<'END'
        !           249:   open(IN, "<config.h") || die "Can't open config.h: $!\n";
        !           250:   open(OUT, ">config.h.generic") || die "Can't open config.h.generic: $!\n";
        !           251:   while (<IN>)
        !           252:     {
        !           253:     if (/^#define\s(?!PACKAGE)(\w+)/)
        !           254:       {
        !           255:       print OUT "#ifndef $1\n";
        !           256:       print OUT;
        !           257:       print OUT "#endif\n";
        !           258:       }
        !           259:     else
        !           260:       {
        !           261:       print OUT;
        !           262:       }
        !           263:     }
        !           264:   close IN;
        !           265:   close OUT;
        !           266: END
        !           267: 
        !           268: echo Done
        !           269: 
        !           270: #End

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>