Mail Archives: djgpp-announce/2010/09/29/11:46:16
This is a port of PCRE 8.10 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 uncopressed
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 behaviour.
The library can be configured to accept different EOL characters. I have
choosen 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 edit /djgpp/config.bat and change
the hard coded option:
--enable-newline-is-anycrlf
by the one you prefer. This concerns only the library. The EOL character
used by pcregrep.exe 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 behaviour 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 behaviour. 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.
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 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/v2tk/zlib123b.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/bz2-105a.zip
or:
ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/zlib123b.zip
ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/bz2-105a.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.
Please read the docs. There are no info formated docs. All the extensive
documentation is html formated and placed in /share/doc/pcre/html
The port consists of the two packages that have been compiled using
djdev203 and that can be downloaded from ftp.delorie.com and mirrors as
(timestamp 2010-09-29):
PCRE 8.10 binaries, headers, libs and man formated documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre8.10b.zip
PCRE 8.10 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre8.10s.zip
For the convenience of the WinXP users the binaries has been produced a
second time using the djdev204 beta library. This package is available at
ftp.delorie.com and mirrors as (timestamp 2010-09-29):
PCRE 8.10 binaries, headers, libs and man formated documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/pcre8.10b.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 -