www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2014/03/21/14:46:30

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-Id: <201403211846.s2LIkHKg022951@delorie.com>
Date: Fri, 21 Mar 2014 19:46:23 +0100
From: Juan Manuel Guerrero <juan DOT guerrero AT gmx DOT de>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of PCRE 8.34 uploaded.
Reply-To: djgpp AT delorie DOT com

This is a port of PCRE 8.34 to MSDOS/DJGPP.


   The PCRE library is a set of functions that implement regular expression
   pattern matching using the same syntax and semantics as Perl 5. PCRE has
   its own native API, as well as a set of wrapper functions that correspond
   to the POSIX regular expression API.



   DJGPP specific changes.
   =======================


   To configure and compile this port you will need an OS with LFN support.
   The products itself will even work on systems that have only SFN support.

   The usual stuff to configure the sources have been added.  As usual, it is
   stored together with the diffs file that documents my changes in the /djgpp
   directory.
   The port has been configured to support gzip and bzip2 compressed files.  The
   binaries will detect at runtime if LFN or SFN support is available.  If there
   is LFN support available then only the default extensions ".bz2" and ".gz"
   will be used and no other ones will be honored.  But if only SFN support is
   available, then also ".*bz" will be accepted as a valid bzip2 extension and
   in the case of gzip compressed files also ".*gz" and ".**z" will be accepted
   as valid extensions, where "*" always stands for any valid character.  If a
   file with a valid bzip2 or gzip extension can not be opened using the appro-
   priate compressor library functions, it will be treated as an uncompressed
   file and will be opened as a plain file.  Please note that all files are
   opened in binary mode and that neither the original code nor this port offers
   any way to change this behavior.

   The library can be configured to accept different EOL characters. I have
   chosen to configure this port using the option to enable any EOL characters.
   This means that CR, LF and CRLF will be recognized as valid EOL character.

   If you do not like this, you will have to reconfigure and recompile the port
   passing the option you prefer to config.bat.  The following command line
   options are available:
     cr: enables CR as EOL
     lf: enables LF as EOL
     crlf: enables CRLF as EOL
     any-crlf: enables CR, LF and CRLF as EOL
   Also the following command line options are available to disable any of the
   EOL characters:
     no-cr: disables CR as EOL
     no-lf: disables LF as EOL
     no-crlf: disables CRLF as EOL
     no-any-crlf: disables CR, LF and CRLF as EOL
   Enabling one of them disables all of the other ones.  This concerns only the
   library.  The EOL character used by pcregrep can always be controlled with
   the -N command line option.  Please note that this choice has the consequence
   that if you have a string looking like this:
     foo\r\nbar
   PCRE library and pcregrep.exe will find 2 EOLs.  One for \r and one for \n.
   In other words the following two sequences "CRCRLF" and "LFCRLF" will always
   produce two EOL matches.  The "CRCRLF" sequence will produce one match for
   the first CR and a second one for the following CRLF.  The "LFCRLF" sequence
   will produce a match for the first LF and a second match for the following
   CRLF.  Please note that this behavior differs from the DJGPP's port of grep.
   It was not my intention to modify the PCRE code in such a drastic way to be
   able to emulation DJGPP's grep behavior.  pcregrep.exe also offers color
   support without having to install an ansi.sys driver.  Please also note that
   I have not configured the port to support neither UTF-8 Unicode character
   strings nor any UTF-8 EOL character sequence.

   There are more options like this:
     cpp or no-cpp, default cpp.  Enable C++ support.
     pcre8 or no-pcre8, default pcre8.  Enable 8 bit character set support
       and disable 16 bit character set support.
     pcre16 or no-pcre16, default no-pcre16.  Disable 8 bit and 32 character
       set support and enables 16 bit character set support.  DJGPP does not
       support 16 bit character sets AFAIK.
     pcre32 or no-pcre32, default no-pcre32.  Disable 8 bit and 16 character
       set support and enables 32 bit character set support.  DJGPP does not
       support 32 bit character sets AFAIK.
     jit or no-jit, default no-jit.  Disable Just-In-Time compiling support.
     grepjit or no-grepjit, default no-grepjit.  Disable Just-In-Time support
       in pcregrep.
   Neither the Just-In-Time compiling support for the library nor the JIT
   support for pcregrep are supported by me.  I have checked the code to
   see if there are DOS specific issues to fix but I did not found any.
   To compile it you will need to install some pthread library together with
   a socket library.  I have never used that kind of libraries on DOS with
   DJGPP so I am not able to support JIT.  If you want to try you are alone.

   The pcretest.exe binary will not support the -S command line option that
   allows to change the program stack.  This is because DJGPP's setrlimit does
   not support this feature.  The port has been configure to use the readline
   and history libraries.  If you do not like this you will have to reconfigure
   the sources passing the "no-rl" command line option to config.bat.
   The default is always that readline is used.

   The port passes the test suite except for the last test.  This test is
   completely UNIX or LF centric and does not work well with any other EOL
   encoding than the one used on posix systems.  This is known by the author
   and maintainer of PCRE library and I have no plans to write a CRLF specific
   test case for the DJGPP port.

   Certain man and html pages have been renamed to fit into the SFN limits.
   The index.html has been adjusted accordingly.

   As told before, to configure and compile the package you will have to install
   the following packages too:
     ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln62b.zip
     ftp://ftp.delorie.com/pub/djgpp/current/v2tk/zlib128b.zip
     ftp://ftp.delorie.com/pub/djgpp/current/v2tk/bz2-106a.zip
   or:
     ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/rdln62b.zip
     ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/zlib128b.zip
     ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/bz2-106a.zip
   Of course, you can always download newer versions of these ports if available.
   The files stored in /current have been compiled with djdev203 and the ones
   from /beta are compiled with djdev204 beta.

   The source package is now distributed configured for both DJGPP 2.03 and
   DJGPP 2.04.  In the top srcdir there is be a "_build.203" directory and a
   "_build.204" directory.


   Please read the docs.  There are no info formated docs.  All the extensive
   documentation is html formated and placed in /share/doc/pcre/html

   This is an verbatim extract of the NEWS file:
-------------------------------------------------------------------------------
Release 8.34 15-December-2013
-----------------------------

As well as fixing the inevitable bugs, performance has been improved by
refactoring and extending the amount of "auto-possessification" that PCRE does.
Other notable changes:

.  Implemented PCRE_INFO_MATCH_EMPTY, which yields 1 if the pattern can match
    an empty string. If it can, pcretest shows this in its information output.

.  A back reference to a named subpattern when there is more than one of the
    same name now checks them in the order in which they appear in the pattern.
    The first one that is set is used for the reference. Previously only the
    first one was inspected. This change makes PCRE more compatible with Perl.

.  Unicode character properties were updated from Unicode 6.3.0.

.  The character VT has been added to the set of characters that match \s and
    are generally treated as white space, following this same change in Perl
    5.18. There is now no difference between "Perl space" and "POSIX space".

.  Perl has changed its handling of \8 and \9. If there is no previously
    encountered capturing group of those numbers, they are treated as the
    literal characters 8 and 9 instead of a binary zero followed by the
    literals. PCRE now does the same.

.  Following Perl, added \o{} to specify codepoints in octal, making it
    possible to specify values greater than 0777 and also making them
    unambiguous.

.  In UCP mode, \s was not matching two of the characters that Perl matches,
    namely NEL (U+0085) and MONGOLIAN VOWEL SEPARATOR (U+180E), though they
    were matched by \h.

.  Add JIT support for the 64 bit TileGX architecture.

.  Upgraded the handling of the POSIX classes [:graph:], [:print:], and
    [:punct:] when PCRE_UCP is set so as to include the same characters as Perl
    does in Unicode mode.

.  Perl no longer allows group names to start with digits, so I have made this
    change also in PCRE.

.  Added support for [[:<:]] and [[:>:]] as used in the BSD POSIX library to
    mean "start of word" and "end of word", respectively, as a transition aid.


-------------------------------------------------------------------------------




   The port has been compiled using stock djdev203 (patchlevel 2) and consists
   of the two packages that can be downloaded from ftp.delorie.com and mirrors
   as (time stamp 2014-03-18):

     PCRE 8.34 binaries, headers, libs and man formated documentation:
     ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre834b.zip

     PCRE 8.34 source:
     ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre834s.zip


   The binaries have been produced a second time using the stock version of
   djdev204 beta library.  This package is available at ftp.delorie.com and
   mirrors as (time stamp 2014-03-18):

     PCRE 8.34 binaries, headers, libs and man formated documentation:
     ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/pcre834b.zip



   Send PCRE specific bug reports to <pcre-dev AT exim DOT org>.
   Send suggestions and bug reports concerning the DJGPP port to
   comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.

Enjoy.

       Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019