/[pcre]/code/trunk/README
ViewVC logotype

Diff of /code/trunk/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 73 by nigel, Sat Feb 24 21:40:30 2007 UTC revision 91 by nigel, Sat Feb 24 21:41:34 2007 UTC
# Line 7  The latest release of PCRE is always ava Line 7  The latest release of PCRE is always ava
7    
8  Please read the NEWS file if you are upgrading from a previous release.  Please read the NEWS file if you are upgrading from a previous release.
9    
10  PCRE has its own native API, but a set of "wrapper" functions that are based on  
11  the POSIX API are also supplied in the library libpcreposix. Note that this  The PCRE APIs
12  just provides a POSIX calling interface to PCRE: the regular expressions  -------------
13  themselves still follow Perl syntax and semantics. The header file  
14  for the POSIX-style functions is called pcreposix.h. The official POSIX name is  PCRE is written in C, and it has its own API. The distribution now includes a
15  regex.h, but I didn't want to risk possible problems with existing files of  set of C++ wrapper functions, courtesy of Google Inc. (see the pcrecpp man page
16  that name by distributing it that way. To use it with an existing program that  for details).
17  uses the POSIX API, it will have to be renamed or pointed at by a link.  
18    Also included are a set of C wrapper functions that are based on the POSIX
19    API. These end up in the library called libpcreposix. Note that this just
20    provides a POSIX calling interface to PCRE: the regular expressions themselves
21    still follow Perl syntax and semantics. The header file for the POSIX-style
22    functions is called pcreposix.h. The official POSIX name is regex.h, but I
23    didn't want to risk possible problems with existing files of that name by
24    distributing it that way. To use it with an existing program that uses the
25    POSIX API, it will have to be renamed or pointed at by a link.
26    
27  If you are using the POSIX interface to PCRE and there is already a POSIX regex  If you are using the POSIX interface to PCRE and there is already a POSIX regex
28  library installed on your system, you must take care when linking programs to  library installed on your system, you must take care when linking programs to
# Line 22  ensure that they link with PCRE's libpcr Line 30  ensure that they link with PCRE's libpcr
30  up the "real" POSIX functions of the same name.  up the "real" POSIX functions of the same name.
31    
32    
33    Documentation for PCRE
34    ----------------------
35    
36    If you install PCRE in the normal way, you will end up with an installed set of
37    man pages whose names all start with "pcre". The one that is just called "pcre"
38    lists all the others. In addition to these man pages, the PCRE documentation is
39    supplied in two other forms; however, as there is no standard place to install
40    them, they are left in the doc directory of the unpacked source distribution.
41    These forms are:
42    
43      1. Files called doc/pcre.txt, doc/pcregrep.txt, and doc/pcretest.txt. The
44         first of these is a concatenation of the text forms of all the section 3
45         man pages except those that summarize individual functions. The other two
46         are the text forms of the section 1 man pages for the pcregrep and
47         pcretest commands. Text forms are provided for ease of scanning with text
48         editors or similar tools.
49    
50      2. A subdirectory called doc/html contains all the documentation in HTML
51         form, hyperlinked in various ways, and rooted in a file called
52         doc/index.html.
53    
54    
55  Contributions by users of PCRE  Contributions by users of PCRE
56  ------------------------------  ------------------------------
57    
# Line 38  others are pointers to URLs containing r Line 68  others are pointers to URLs containing r
68  Building PCRE on a Unix-like system  Building PCRE on a Unix-like system
69  -----------------------------------  -----------------------------------
70    
71    If you are using HP's ANSI C++ compiler (aCC), please see the special note
72    in the section entitled "Using HP's ANSI C++ compiler (aCC)" below.
73    
74  To build PCRE on a Unix-like system, first run the "configure" command from the  To build PCRE on a Unix-like system, first run the "configure" command from the
75  PCRE distribution directory, with your current directory set to the directory  PCRE distribution directory, with your current directory set to the directory
76  where you want the files to be created. This command is a standard GNU  where you want the files to be created. This command is a standard GNU
# Line 46  INSTALL. Line 79  INSTALL.
79    
80  Most commonly, people build PCRE within its own distribution directory, and in  Most commonly, people build PCRE within its own distribution directory, and in
81  this case, on many systems, just running "./configure" is sufficient, but the  this case, on many systems, just running "./configure" is sufficient, but the
82  usual methods of changing standard defaults are available. For example,  usual methods of changing standard defaults are available. For example:
83    
84  CFLAGS='-O2 -Wall' ./configure --prefix=/opt/local  CFLAGS='-O2 -Wall' ./configure --prefix=/opt/local
85    
# Line 61  into /source/pcre/pcre-xxx, but you want Line 94  into /source/pcre/pcre-xxx, but you want
94  cd /build/pcre/pcre-xxx  cd /build/pcre/pcre-xxx
95  /source/pcre/pcre-xxx/configure  /source/pcre/pcre-xxx/configure
96    
97    PCRE is written in C and is normally compiled as a C library. However, it is
98    possible to build it as a C++ library, though the provided building apparatus
99    does not have any features to support this.
100    
101  There are some optional features that can be included or omitted from the PCRE  There are some optional features that can be included or omitted from the PCRE
102  library. You can read more about them in the pcrebuild man page.  library. You can read more about them in the pcrebuild man page.
103    
104    . If you want to suppress the building of the C++ wrapper library, you can add
105      --disable-cpp to the "configure" command. Otherwise, when "configure" is run,
106      will try to find a C++ compiler and C++ header files, and if it succeeds, it
107      will try to build the C++ wrapper.
108    
109  . If you want to make use of the support for UTF-8 character strings in PCRE,  . If you want to make use of the support for UTF-8 character strings in PCRE,
110    you must add --enable-utf8 to the "configure" command. Without it, the code    you must add --enable-utf8 to the "configure" command. Without it, the code
111    for handling UTF-8 is not included in the library. (Even when included, it    for handling UTF-8 is not included in the library. (Even when included, it
112    still has to be enabled by an option at run time.)    still has to be enabled by an option at run time.)
113    
114  . You can build PCRE to recognized CR or NL as the newline character, instead  . If, in addition to support for UTF-8 character strings, you want to include
115    of whatever your compiler uses for "\n", by adding --newline-is-cr or    support for the \P, \p, and \X sequences that recognize Unicode character
116    --newline-is-nl to the "configure" command, respectively. Only do this if you    properties, you must add --enable-unicode-properties to the "configure"
117    really understand what you are doing. On traditional Unix-like systems, the    command. This adds about 30K to the size of the library (in the form of a
118    newline character is NL.    property table); only the basic two-letter properties such as Lu are
119      supported.
120    
121    . You can build PCRE to recognize either CR or LF or the sequence CRLF as
122      indicating the end of a line. Whatever you specify at build time is the
123      default; the caller of PCRE can change the selection at run time. The default
124      newline indicator is a single LF character (the Unix standard). You can
125      specify the default newline indicator by adding --newline-is-cr or
126      --newline-is-lf or --newline-is-crlf to the "configure" command,
127      respectively.
128    
129  . When called via the POSIX interface, PCRE uses malloc() to get additional  . When called via the POSIX interface, PCRE uses malloc() to get additional
130    storage for processing capturing parentheses if there are more than 10 of    storage for processing capturing parentheses if there are more than 10 of
# Line 83  library. You can read more about them in Line 134  library. You can read more about them in
134    
135    on the "configure" command.    on the "configure" command.
136    
137  . PCRE has a counter which can be set to limit the amount of resources it uses.  . PCRE has a counter that can be set to limit the amount of resources it uses.
138    If the limit is exceeded during a match, the match fails. The default is ten    If the limit is exceeded during a match, the match fails. The default is ten
139    million. You can change the default by setting, for example,    million. You can change the default by setting, for example,
140    
# Line 93  library. You can read more about them in Line 144  library. You can read more about them in
144    pcre_exec() can supply their own value. There is discussion on the pcreapi    pcre_exec() can supply their own value. There is discussion on the pcreapi
145    man page.    man page.
146    
147    . There is a separate counter that limits the depth of recursive function calls
148      during a matching process. This also has a default of ten million, which is
149      essentially "unlimited". You can change the default by setting, for example,
150    
151      --with-match-limit-recursion=500000
152    
153      Recursive function calls use up the runtime stack; running out of stack can
154      cause programs to crash in strange ways. There is a discussion about stack
155      sizes in the pcrestack man page.
156    
157  . The default maximum compiled pattern size is around 64K. You can increase  . The default maximum compiled pattern size is around 64K. You can increase
158    this by adding --with-link-size=3 to the "configure" command. You can    this by adding --with-link-size=3 to the "configure" command. You can
159    increase it even more by setting --with-link-size=4, but this is unlikely    increase it even more by setting --with-link-size=4, but this is unlikely
# Line 101  library. You can read more about them in Line 162  library. You can read more about them in
162    is a representation of the compiled pattern, and this changes with the link    is a representation of the compiled pattern, and this changes with the link
163    size.    size.
164    
165  . You can build PCRE so that its match() function does not call itself  . You can build PCRE so that its internal match() function that is called from
166    recursively. Instead, it uses blocks of data from the heap via special    pcre_exec() does not call itself recursively. Instead, it uses blocks of data
167    functions pcre_stack_malloc() and pcre_stack_free() to save data that would    from the heap via special functions pcre_stack_malloc() and pcre_stack_free()
168    otherwise be saved on the stack. To build PCRE like this, use    to save data that would otherwise be saved on the stack. To build PCRE like
169      this, use
170    
171    --disable-stack-for-recursion    --disable-stack-for-recursion
172    
173    on the "configure" command. PCRE runs more slowly in this mode, but it may be    on the "configure" command. PCRE runs more slowly in this mode, but it may be
174    necessary in environments with limited stack sizes.    necessary in environments with limited stack sizes. This applies only to the
175      pcre_exec() function; it does not apply to pcre_dfa_exec(), which does not
176      use deeply nested recursion.
177    
178    The "configure" script builds eight files for the basic C library:
179    
180    . Makefile is the makefile that builds the library
181    . config.h contains build-time configuration options for the library
182    . pcre-config is a script that shows the settings of "configure" options
183    . libpcre.pc is data for the pkg-config command
184    . libtool is a script that builds shared and/or static libraries
185    . RunTest is a script for running tests on the library
186    . RunGrepTest is a script for running tests on the pcregrep command
187    
188  The "configure" script builds five files:  In addition, if a C++ compiler is found, the following are also built:
189    
190  . libtool is a script that builds shared and/or static libraries  . pcrecpp.h is the header file for programs that call PCRE via the C++ wrapper
191  . Makefile is built by copying Makefile.in and making substitutions.  . pcre_stringpiece.h is the header for the C++ "stringpiece" functions
192  . config.h is built by copying config.in and making substitutions.  
193  . pcre-config is built by copying pcre-config.in and making substitutions.  The "configure" script also creates config.status, which is an executable
194  . RunTest is a script for running tests  script that can be run to recreate the configuration, and config.log, which
195    contains compiler output from tests that "configure" runs.
196    
197  Once "configure" has run, you can run "make". It builds two libraries called  Once "configure" has run, you can run "make". It builds two libraries, called
198  libpcre and libpcreposix, a test program called pcretest, and the pcregrep  libpcre and libpcreposix, a test program called pcretest, and the pcregrep
199  command. You can use "make install" to copy these, the public header files  command. If a C++ compiler was found on your system, it also builds the C++
200  pcre.h and pcreposix.h, and the man pages to appropriate live directories on  wrapper library, which is called libpcrecpp, and some test programs called
201  your system, in the normal way.  pcrecpp_unittest, pcre_scanner_unittest, and pcre_stringpiece_unittest.
202    
203    The command "make test" runs all the appropriate tests. Details of the PCRE
204    tests are given in a separate section of this document, below.
205    
206    You can use "make install" to copy the libraries, the public header files
207    pcre.h, pcreposix.h, pcrecpp.h, and pcre_stringpiece.h (the last two only if
208    the C++ wrapper was built), and the man pages to appropriate live directories
209    on your system, in the normal way.
210    
211    If you want to remove PCRE from your system, you can run "make uninstall".
212    This removes all the files that "make install" installed. However, it does not
213    remove any directories, because these are often shared with other programs.
214    
215    
216    Retrieving configuration information on Unix-like systems
217    ---------------------------------------------------------
218    
219  Running "make install" also installs the command pcre-config, which can be used  Running "make install" also installs the command pcre-config, which can be used
220  to recall information about the PCRE configuration and installation. For  to recall information about the PCRE configuration and installation. For
221  example,  example:
222    
223    pcre-config --version    pcre-config --version
224    
225  prints the version number, and  prints the version number, and
226    
227   pcre-config --libs    pcre-config --libs
228    
229  outputs information about where the library is installed. This command can be  outputs information about where the library is installed. This command can be
230  included in makefiles for programs that use PCRE, saving the programmer from  included in makefiles for programs that use PCRE, saving the programmer from
231  having to remember too many details.  having to remember too many details.
232    
233    The pkg-config command is another system for saving and retrieving information
234    about installed libraries. Instead of separate commands for each library, a
235    single command is used. For example:
236    
237      pkg-config --cflags pcre
238    
239    The data is held in *.pc files that are installed in a directory called
240    pkgconfig.
241    
242    
243  Shared libraries on Unix-like systems  Shared libraries on Unix-like systems
244  -------------------------------------  -------------------------------------
245    
246  The default distribution builds PCRE as two shared libraries and two static  The default distribution builds PCRE as shared libraries and static libraries,
247  libraries, as long as the operating system supports shared libraries. Shared  as long as the operating system supports shared libraries. Shared library
248  library support relies on the "libtool" script which is built as part of the  support relies on the "libtool" script which is built as part of the
249  "configure" process.  "configure" process.
250    
251  The libtool script is used to compile and link both shared and static  The libtool script is used to compile and link both shared and static
# Line 158  installed themselves. However, the versi Line 258  installed themselves. However, the versi
258  use the uninstalled libraries.  use the uninstalled libraries.
259    
260  To build PCRE using static libraries only you must use --disable-shared when  To build PCRE using static libraries only you must use --disable-shared when
261  configuring it. For example  configuring it. For example:
262    
263  ./configure --prefix=/usr/gnu --disable-shared  ./configure --prefix=/usr/gnu --disable-shared
264    
# Line 174  order to cross-compile PCRE for some oth Line 274  order to cross-compile PCRE for some oth
274  process, the dftables.c source file is compiled *and run* on the local host, in  process, the dftables.c source file is compiled *and run* on the local host, in
275  order to generate the default character tables (the chartables.c file). It  order to generate the default character tables (the chartables.c file). It
276  therefore needs to be compiled with the local compiler, not the cross compiler.  therefore needs to be compiled with the local compiler, not the cross compiler.
277  You can do this by specifying CC_FOR_BUILD (and if necessary CFLAGS_FOR_BUILD)  You can do this by specifying CC_FOR_BUILD (and if necessary CFLAGS_FOR_BUILD;
278    there are also CXX_FOR_BUILD and CXXFLAGS_FOR_BUILD for the C++ wrapper)
279  when calling the "configure" command. If they are not specified, they default  when calling the "configure" command. If they are not specified, they default
280  to the values of CC and CFLAGS.  to the values of CC and CFLAGS.
281    
282    
283    Using HP's ANSI C++ compiler (aCC)
284    ----------------------------------
285    
286    Unless C++ support is disabled by specifiying the "--disable-cpp" option of the
287    "configure" script, you *must* include the "-AA" option in the CXXFLAGS
288    environment variable in order for the C++ components to compile correctly.
289    
290    Also, note that the aCC compiler on PA-RISC platforms may have a defect whereby
291    needed libraries fail to get included when specifying the "-AA" compiler
292    option. If you experience unresolved symbols when linking the C++ programs,
293    use the workaround of specifying the following environment variable prior to
294    running the "configure" script:
295    
296      CXXLDFLAGS="-lstd_v2 -lCsup_v2"
297    
298    
299  Building on non-Unix systems  Building on non-Unix systems
300  ----------------------------  ----------------------------
301    
# Line 196  Testing PCRE Line 313  Testing PCRE
313  ------------  ------------
314    
315  To test PCRE on a Unix system, run the RunTest script that is created by the  To test PCRE on a Unix system, run the RunTest script that is created by the
316  configuring process. (This can also be run by "make runtest", "make check", or  configuring process. There is also a script called RunGrepTest that tests the
317  "make test".) For other systems, see the instructions in NON-UNIX-USE.  options of the pcregrep command. If the C++ wrapper library is build, three
318    test programs called pcrecpp_unittest, pcre_scanner_unittest, and
319  The script runs the pcretest test program (which is documented in its own man  pcre_stringpiece_unittest are provided.
320  page) on each of the testinput files (in the testdata directory) in turn,  
321  and compares the output with the contents of the corresponding testoutput file.  Both the scripts and all the program tests are run if you obey "make runtest",
322  A file called testtry is used to hold the output from pcretest. To run pcretest  "make check", or "make test". For other systems, see the instructions in
323  on just one of the test files, give its number as an argument to RunTest, for  NON-UNIX-USE.
324  example:  
325    The RunTest script runs the pcretest test program (which is documented in its
326    own man page) on each of the testinput files (in the testdata directory) in
327    turn, and compares the output with the contents of the corresponding testoutput
328    file. A file called testtry is used to hold the main output from pcretest
329    (testsavedregex is also used as a working file). To run pcretest on just one of
330    the test files, give its number as an argument to RunTest, for example:
331    
332    RunTest 2    RunTest 2
333    
# Line 247  running "configure". This file can be al Line 370  running "configure". This file can be al
370  provided you are running Perl 5.8 or higher. (For Perl 5.6, a small patch,  provided you are running Perl 5.8 or higher. (For Perl 5.6, a small patch,
371  commented in the script, can be be used.)  commented in the script, can be be used.)
372    
373  The fifth and final file tests error handling with UTF-8 encoding, and internal  The fifth test checks error handling with UTF-8 encoding, and internal UTF-8
374  UTF-8 features of PCRE that are not relevant to Perl.  features of PCRE that are not relevant to Perl.
375    
376    The sixth and test checks the support for Unicode character properties. It it
377    not run automatically unless PCRE is built with Unicode property support. To to
378    this you must set --enable-unicode-properties when running "configure".
379    
380    The seventh, eighth, and ninth tests check the pcre_dfa_exec() alternative
381    matching function, in non-UTF-8 mode, UTF-8 mode, and UTF-8 mode with Unicode
382    property support, respectively. The eighth and ninth tests are not run
383    automatically unless PCRE is build with the relevant support.
384    
385    
386  Character tables  Character tables
387  ----------------  ----------------
388    
389  PCRE uses four tables for manipulating and identifying characters. The final  PCRE uses four tables for manipulating and identifying characters whose values
390  argument of the pcre_compile() function is a pointer to a block of memory  are less than 256. The final argument of the pcre_compile() function is a
391  containing the concatenated tables. A call to pcre_maketables() can be used to  pointer to a block of memory containing the concatenated tables. A call to
392  generate a set of tables in the current locale. If the final argument for  pcre_maketables() can be used to generate a set of tables in the current
393  pcre_compile() is passed as NULL, a set of default tables that is built into  locale. If the final argument for pcre_compile() is passed as NULL, a set of
394  the binary is used.  default tables that is built into the binary is used.
395    
396  The source file called chartables.c contains the default set of tables. This is  The source file called chartables.c contains the default set of tables. This is
397  not supplied in the distribution, but is built by the program dftables  not supplied in the distribution, but is built by the program dftables
# Line 299  The distribution should contain the foll Line 431  The distribution should contain the foll
431      headers:      headers:
432    
433    dftables.c            auxiliary program for building chartables.c    dftables.c            auxiliary program for building chartables.c
434    get.c                 )  
   maketables.c          )  
   study.c               ) source of  
   pcre.c                )   the functions  
435    pcreposix.c           )    pcreposix.c           )
436    printint.c            )    pcre_compile.c        )
437    pcre.in               "source" for the header for the external API; pcre.h    pcre_config.c         )
438                            is built from this by "configure"    pcre_dfa_exec.c       )
439      pcre_exec.c           )
440      pcre_fullinfo.c       )
441      pcre_get.c            ) sources for the functions in the library,
442      pcre_globals.c        )   and some internal functions that they use
443      pcre_info.c           )
444      pcre_maketables.c     )
445      pcre_ord2utf8.c       )
446      pcre_refcount.c       )
447      pcre_study.c          )
448      pcre_tables.c         )
449      pcre_try_flipped.c    )
450      pcre_ucp_searchfuncs.c)
451      pcre_valid_utf8.c     )
452      pcre_version.c        )
453      pcre_xclass.c         )
454      ucptable.c            )
455    
456      pcre_printint.src     ) debugging function that is #included in pcretest, and
457                            )   can also be #included in pcre_compile()
458    
459      pcre.h                the public PCRE header file
460    pcreposix.h           header for the external POSIX wrapper API    pcreposix.h           header for the external POSIX wrapper API
461    internal.h            header for internal use    pcre_internal.h       header for internal use
462      ucp.h                 ) headers concerned with
463      ucpinternal.h         )   Unicode property handling
464    config.in             template for config.h, which is built by configure    config.in             template for config.h, which is built by configure
465    
466      pcrecpp.h             the header file for the C++ wrapper
467      pcrecpparg.h.in       "source" for another C++ header file
468      pcrecpp.cc            )
469      pcre_scanner.cc       ) source for the C++ wrapper library
470    
471      pcre_stringpiece.h.in "source" for pcre_stringpiece.h, the header for the
472                              C++ stringpiece functions
473      pcre_stringpiece.cc   source for the C++ stringpiece functions
474    
475  (B) Auxiliary files:  (B) Auxiliary files:
476    
477    AUTHORS               information about the author of PCRE    AUTHORS               information about the author of PCRE
# Line 323  The distribution should contain the foll Line 484  The distribution should contain the foll
484    NON-UNIX-USE          notes on building PCRE on non-Unix systems    NON-UNIX-USE          notes on building PCRE on non-Unix systems
485    README                this file    README                this file
486    RunTest.in            template for a Unix shell script for running tests    RunTest.in            template for a Unix shell script for running tests
487      RunGrepTest.in        template for a Unix shell script for pcregrep tests
488    config.guess          ) files used by libtool,    config.guess          ) files used by libtool,
489    config.sub            )   used only when building a shared library    config.sub            )   used only when building a shared library
490      config.h.in           "source" for the config.h header file
491    configure             a configuring shell script (built by autoconf)    configure             a configuring shell script (built by autoconf)
492    configure.in          the autoconf input used to build configure    configure.ac          the autoconf input used to build configure
493    doc/Tech.Notes        notes on the encoding    doc/Tech.Notes        notes on the encoding
494    doc/*.3               man page sources for the PCRE functions    doc/*.3               man page sources for the PCRE functions
495    doc/*.1               man page sources for pcregrep and pcretest    doc/*.1               man page sources for pcregrep and pcretest
# Line 335  The distribution should contain the foll Line 498  The distribution should contain the foll
498    doc/pcretest.txt      plain text documentation of test program    doc/pcretest.txt      plain text documentation of test program
499    doc/perltest.txt      plain text documentation of Perl test program    doc/perltest.txt      plain text documentation of Perl test program
500    install-sh            a shell script for installing files    install-sh            a shell script for installing files
501      libpcre.pc.in         "source" for libpcre.pc for pkg-config
502    ltmain.sh             file used to build a libtool script    ltmain.sh             file used to build a libtool script
503      mkinstalldirs         script for making install directories
504    pcretest.c            comprehensive test program    pcretest.c            comprehensive test program
505    pcredemo.c            simple demonstration of coding calls to PCRE    pcredemo.c            simple demonstration of coding calls to PCRE
506    perltest              Perl test program    perltest              Perl test program
507    pcregrep.c            source of a grep utility that uses PCRE    pcregrep.c            source of a grep utility that uses PCRE
508    pcre-config.in        source of script which retains PCRE information    pcre-config.in        source of script which retains PCRE information
509    testdata/testinput1   test data, compatible with Perl    pcrecpp_unittest.c           )
510    testdata/testinput2   test data for error messages and non-Perl things    pcre_scanner_unittest.c      ) test programs for the C++ wrapper
511    testdata/testinput3   test data for locale-specific tests    pcre_stringpiece_unittest.c  )
512    testdata/testinput4   test data for UTF-8 tests compatible with Perl    testdata/testinput*   test data for main library tests
513    testdata/testinput5   test data for other UTF-8 tests    testdata/testoutput*  expected test results
514    testdata/testoutput1  test results corresponding to testinput1    testdata/grep*        input and output for pcregrep tests
   testdata/testoutput2  test results corresponding to testinput2  
   testdata/testoutput3  test results corresponding to testinput3  
   testdata/testoutput4  test results corresponding to testinput4  
   testdata/testoutput5  test results corresponding to testinput5  
515    
516  (C) Auxiliary files for Win32 DLL  (C) Auxiliary files for Win32 DLL
517    
518    dll.mk    libpcre.def
519    pcre.def    libpcreposix.def
520    
521  (D) Auxiliary file for VPASCAL  (D) Auxiliary file for VPASCAL
522    
523    makevp.bat    makevp.bat
524    
525  Philip Hazel <ph10@cam.ac.uk>  Philip Hazel
526  December 2003  Email local part: ph10
527    Email domain: cam.ac.uk
528    June 2006

Legend:
Removed from v.73  
changed lines
  Added in v.91

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12