| 65 |
others are pointers to URLs containing relevant files. |
others are pointers to URLs containing relevant files. |
| 66 |
|
|
| 67 |
|
|
| 68 |
|
Building on non-Unix systems |
| 69 |
|
---------------------------- |
| 70 |
|
|
| 71 |
|
For a non-Unix system, read the comments in the file NON-UNIX-USE, though if |
| 72 |
|
the system supports the use of "configure" and "make" you may be able to build |
| 73 |
|
PCRE in the same way as for Unix systems. |
| 74 |
|
|
| 75 |
|
PCRE has been compiled on Windows systems and on Macintoshes, but I don't know |
| 76 |
|
the details because I don't use those systems. It should be straightforward to |
| 77 |
|
build PCRE on any system that has a Standard C compiler and library, because it |
| 78 |
|
uses only Standard C functions. |
| 79 |
|
|
| 80 |
|
|
| 81 |
Building PCRE on a Unix-like system |
Building PCRE on a Unix-like system |
| 82 |
----------------------------------- |
----------------------------------- |
| 83 |
|
|
| 131 |
property table); only the basic two-letter properties such as Lu are |
property table); only the basic two-letter properties such as Lu are |
| 132 |
supported. |
supported. |
| 133 |
|
|
| 134 |
. You can build PCRE to recognize either CR or LF or the sequence CRLF as |
. You can build PCRE to recognize either CR or LF or the sequence CRLF or any |
| 135 |
indicating the end of a line. Whatever you specify at build time is the |
of the Unicode newline sequences as indicating the end of a line. Whatever |
| 136 |
default; the caller of PCRE can change the selection at run time. The default |
you specify at build time is the default; the caller of PCRE can change the |
| 137 |
newline indicator is a single LF character (the Unix standard). You can |
selection at run time. The default newline indicator is a single LF character |
| 138 |
specify the default newline indicator by adding --newline-is-cr or |
(the Unix standard). You can specify the default newline indicator by adding |
| 139 |
--newline-is-lf or --newline-is-crlf to the "configure" command, |
--newline-is-cr or --newline-is-lf or --newline-is-crlf or --newline-is-any |
| 140 |
respectively. |
to the "configure" command, respectively. |
| 141 |
|
|
| 142 |
|
If you specify --newline-is-cr or --newline-is-crlf, some of the standard |
| 143 |
|
tests will fail, because the lines in the test files end with LF. Even if |
| 144 |
|
the files are edited to change the line endings, there are likely to be some |
| 145 |
|
failures. With --newline-is-any, many tests should succeed, but there may be |
| 146 |
|
some failures. |
| 147 |
|
|
| 148 |
. When called via the POSIX interface, PCRE uses malloc() to get additional |
. When called via the POSIX interface, PCRE uses malloc() to get additional |
| 149 |
storage for processing capturing parentheses if there are more than 10 of |
storage for processing capturing parentheses if there are more than 10 of |
| 302 |
Using HP's ANSI C++ compiler (aCC) |
Using HP's ANSI C++ compiler (aCC) |
| 303 |
---------------------------------- |
---------------------------------- |
| 304 |
|
|
| 305 |
Unless C++ support is disabled by specifiying the "--disable-cpp" option of the |
Unless C++ support is disabled by specifying the "--disable-cpp" option of the |
| 306 |
"configure" script, you *must* include the "-AA" option in the CXXFLAGS |
"configure" script, you *must* include the "-AA" option in the CXXFLAGS |
| 307 |
environment variable in order for the C++ components to compile correctly. |
environment variable in order for the C++ components to compile correctly. |
| 308 |
|
|
| 315 |
CXXLDFLAGS="-lstd_v2 -lCsup_v2" |
CXXLDFLAGS="-lstd_v2 -lCsup_v2" |
| 316 |
|
|
| 317 |
|
|
|
Building on non-Unix systems |
|
|
---------------------------- |
|
|
|
|
|
For a non-Unix system, read the comments in the file NON-UNIX-USE, though if |
|
|
the system supports the use of "configure" and "make" you may be able to build |
|
|
PCRE in the same way as for Unix systems. |
|
|
|
|
|
PCRE has been compiled on Windows systems and on Macintoshes, but I don't know |
|
|
the details because I don't use those systems. It should be straightforward to |
|
|
build PCRE on any system that has a Standard C compiler, because it uses only |
|
|
Standard C functions. |
|
|
|
|
|
|
|
| 318 |
Testing PCRE |
Testing PCRE |
| 319 |
------------ |
------------ |
| 320 |
|
|
| 331 |
The RunTest script runs the pcretest test program (which is documented in its |
The RunTest script runs the pcretest test program (which is documented in its |
| 332 |
own man page) on each of the testinput files (in the testdata directory) in |
own man page) on each of the testinput files (in the testdata directory) in |
| 333 |
turn, and compares the output with the contents of the corresponding testoutput |
turn, and compares the output with the contents of the corresponding testoutput |
| 334 |
file. A file called testtry is used to hold the main output from pcretest |
files. A file called testtry is used to hold the main output from pcretest |
| 335 |
(testsavedregex is also used as a working file). To run pcretest on just one of |
(testsavedregex is also used as a working file). To run pcretest on just one of |
| 336 |
the test files, give its number as an argument to RunTest, for example: |
the test files, give its number as an argument to RunTest, for example: |
| 337 |
|
|
| 338 |
RunTest 2 |
RunTest 2 |
| 339 |
|
|
| 340 |
The first file can also be fed directly into the perltest script to check that |
The first test file can also be fed directly into the perltest script to check |
| 341 |
Perl gives the same results. The only difference you should see is in the first |
that Perl gives the same results. The only difference you should see is in the |
| 342 |
few lines, where the Perl version is given instead of the PCRE version. |
first few lines, where the Perl version is given instead of the PCRE version. |
| 343 |
|
|
| 344 |
The second set of tests check pcre_fullinfo(), pcre_info(), pcre_study(), |
The second set of tests check pcre_fullinfo(), pcre_info(), pcre_study(), |
| 345 |
pcre_copy_substring(), pcre_get_substring(), pcre_get_substring_list(), error |
pcre_copy_substring(), pcre_get_substring(), pcre_get_substring_list(), error |
| 448 |
pcre_globals.c ) and some internal functions that they use |
pcre_globals.c ) and some internal functions that they use |
| 449 |
pcre_info.c ) |
pcre_info.c ) |
| 450 |
pcre_maketables.c ) |
pcre_maketables.c ) |
| 451 |
|
pcre_newline.c ) |
| 452 |
pcre_ord2utf8.c ) |
pcre_ord2utf8.c ) |
| 453 |
pcre_refcount.c ) |
pcre_refcount.c ) |
| 454 |
pcre_study.c ) |
pcre_study.c ) |
| 458 |
pcre_valid_utf8.c ) |
pcre_valid_utf8.c ) |
| 459 |
pcre_version.c ) |
pcre_version.c ) |
| 460 |
pcre_xclass.c ) |
pcre_xclass.c ) |
|
ucptable.c ) |
|
| 461 |
|
|
| 462 |
pcre_printint.src ) debugging function that is #included in pcretest, and |
pcre_printint.src ) debugging function that is #included in pcretest, and |
| 463 |
) can also be #included in pcre_compile() |
) can also be #included in pcre_compile() |
| 467 |
pcre_internal.h header for internal use |
pcre_internal.h header for internal use |
| 468 |
ucp.h ) headers concerned with |
ucp.h ) headers concerned with |
| 469 |
ucpinternal.h ) Unicode property handling |
ucpinternal.h ) Unicode property handling |
| 470 |
|
ucptable.h ) (this one is the data table) |
| 471 |
config.in template for config.h, which is built by configure |
config.in template for config.h, which is built by configure |
| 472 |
|
|
| 473 |
pcrecpp.h the header file for the C++ wrapper |
pcrecpp.h the header file for the C++ wrapper |
| 510 |
mkinstalldirs script for making install directories |
mkinstalldirs script for making install directories |
| 511 |
pcretest.c comprehensive test program |
pcretest.c comprehensive test program |
| 512 |
pcredemo.c simple demonstration of coding calls to PCRE |
pcredemo.c simple demonstration of coding calls to PCRE |
| 513 |
perltest Perl test program |
perltest.pl Perl test program |
| 514 |
pcregrep.c source of a grep utility that uses PCRE |
pcregrep.c source of a grep utility that uses PCRE |
| 515 |
pcre-config.in source of script which retains PCRE information |
pcre-config.in source of script which retains PCRE information |
| 516 |
pcrecpp_unittest.c ) |
pcrecpp_unittest.c ) |
| 532 |
Philip Hazel |
Philip Hazel |
| 533 |
Email local part: ph10 |
Email local part: ph10 |
| 534 |
Email domain: cam.ac.uk |
Email domain: cam.ac.uk |
| 535 |
June 2006 |
March 2007 |