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

Diff of /code/trunk/README

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

revision 287 by ph10, Tue Dec 18 20:11:28 2007 UTC revision 452 by ph10, Wed Sep 16 19:18:51 2009 UTC
# Line 1  Line 1 
1  README file for PCRE (Perl-compatible regular expression library)  README file for PCRE (Perl-compatible regular expression library)
2  -----------------------------------------------------------------  -----------------------------------------------------------------
3    
4  The latest release of PCRE is always available from  The latest release of PCRE is always available in three alternative formats
5    from:
6    
7    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz
8      ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.bz2
9      ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.zip
10    
11  There is a mailing list for discussion about the development of PCRE at  There is a mailing list for discussion about the development of PCRE at
12    
# Line 21  The contents of this README file are: Line 24  The contents of this README file are:
24    Shared libraries on Unix-like systems    Shared libraries on Unix-like systems
25    Cross-compiling on Unix-like systems    Cross-compiling on Unix-like systems
26    Using HP's ANSI C++ compiler (aCC)    Using HP's ANSI C++ compiler (aCC)
27      Using PCRE from MySQL
28    Making new tarballs    Making new tarballs
29    Testing PCRE    Testing PCRE
30    Character tables    Character tables
# Line 82  documentation is supplied in two other f Line 86  documentation is supplied in two other f
86       in various ways, and rooted in a file called index.html, is distributed in       in various ways, and rooted in a file called index.html, is distributed in
87       doc/html and installed in <prefix>/share/doc/pcre/html.       doc/html and installed in <prefix>/share/doc/pcre/html.
88    
89    Users of PCRE have contributed files containing the documentation for various
90    releases in CHM format. These can be found in the Contrib directory of the FTP
91    site (see next section).
92    
93    
94  Contributions by users of PCRE  Contributions by users of PCRE
95  ------------------------------  ------------------------------
# Line 104  Building PCRE on non-Unix systems Line 112  Building PCRE on non-Unix systems
112  For a non-Unix system, please read the comments in the file NON-UNIX-USE,  For a non-Unix system, please read the comments in the file NON-UNIX-USE,
113  though if your system supports the use of "configure" and "make" you may be  though if your system supports the use of "configure" and "make" you may be
114  able to build PCRE in the same way as for Unix-like systems. PCRE can also be  able to build PCRE in the same way as for Unix-like systems. PCRE can also be
115  configured in many platform environments using the GUI facility of CMake's  configured in many platform environments using the GUI facility provided by
116  CMakeSetup. It creates Makefiles, solution files, etc.  CMake's cmake-gui command. This creates Makefiles, solution files, etc.
117    
118  PCRE has been compiled on many different operating systems. It should be  PCRE has been compiled on many different operating systems. It should be
119  straightforward to build PCRE on any system that has a Standard C compiler and  straightforward to build PCRE on any system that has a Standard C compiler and
# Line 119  If you are using HP's ANSI C++ compiler Line 127  If you are using HP's ANSI C++ compiler
127  in the section entitled "Using HP's ANSI C++ compiler (aCC)" below.  in the section entitled "Using HP's ANSI C++ compiler (aCC)" below.
128    
129  The following instructions assume the use of the widely used "configure, make,  The following instructions assume the use of the widely used "configure, make,
130  make install" process. There is also some experimental support for "cmake" in  make install" process. There is also support for CMake in the PCRE
131  the PCRE distribution, but it is incomplete and not documented. However, if you  distribution; there are some comments about using CMake in the NON-UNIX-USE
132  are a "cmake" user, you might want to try it.  file, though it can also be used in Unix-like systems.
133    
134  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
135  PCRE distribution directory, with your current directory set to the directory  PCRE distribution directory, with your current directory set to the directory
# Line 158  library. You can read more about them in Line 166  library. You can read more about them in
166    it will try to find a C++ compiler and C++ header files, and if it succeeds,    it will try to find a C++ compiler and C++ header files, and if it succeeds,
167    it will try to build the C++ wrapper.    it will try to build the C++ wrapper.
168    
169  . 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 Unicode character strings in
170    you must add --enable-utf8 to the "configure" command. Without it, the code    PCRE, you must add --enable-utf8 to the "configure" command. Without it, the
171    for handling UTF-8 is not included in the library. (Even when included, it    code for handling UTF-8 is not included in the library. Even when included,
172    still has to be enabled by an option at run time.)    it still has to be enabled by an option at run time. When PCRE is compiled
173      with this option, its input can only either be ASCII or UTF-8, even when
174      running on EBCDIC platforms. It is not possible to use both --enable-utf8 and
175      --enable-ebcdic at the same time.
176    
177  . If, in addition to support for UTF-8 character strings, you want to include  . If, in addition to support for UTF-8 character strings, you want to include
178    support for the \P, \p, and \X sequences that recognize Unicode character    support for the \P, \p, and \X sequences that recognize Unicode character
# Line 252  library. You can read more about them in Line 263  library. You can read more about them in
263    pcre_chartables.c.dist. See "Character tables" below for further information.    pcre_chartables.c.dist. See "Character tables" below for further information.
264    
265  . It is possible to compile PCRE for use on systems that use EBCDIC as their  . It is possible to compile PCRE for use on systems that use EBCDIC as their
266    default character code (as opposed to ASCII) by specifying    character code (as opposed to ASCII) by specifying
267    
268    --enable-ebcdic    --enable-ebcdic
269    
270    This automatically implies --enable-rebuild-chartables (see above).    This automatically implies --enable-rebuild-chartables (see above). However,
271      when PCRE is built this way, it always operates in EBCDIC. It cannot support
272      both EBCDIC and UTF-8.
273    
274  . It is possible to compile pcregrep to use libz and/or libbz2, in order to  . It is possible to compile pcregrep to use libz and/or libbz2, in order to
275    read .gz and .bz2 files (respectively), by specifying one or both of    read .gz and .bz2 files (respectively), by specifying one or both of
276    
277    --enable-pcregrep-libz    --enable-pcregrep-libz
278    --enable-pcregrep-libbz2    --enable-pcregrep-libbz2
279    
280    Of course, the relevant libraries must be installed on your system.    Of course, the relevant libraries must be installed on your system.
281    
282  . It is possible to compile pcretest so that it links with the libreadline  . It is possible to compile pcretest so that it links with the libreadline
283    library, by specifying    library, by specifying
284    
285    --enable-pcretest-libreadline    --enable-pcretest-libreadline
286    
287    If this is done, when pcretest's input is from a terminal, it reads it using    If this is done, when pcretest's input is from a terminal, it reads it using
288    the readline() function. This provides line-editing and history facilities.    the readline() function. This provides line-editing and history facilities.
289    Note that libreadline is GPL-licenced, so if you distribute a binary of    Note that libreadline is GPL-licenced, so if you distribute a binary of
290    pcretest linked in this way, there may be licensing issues.    pcretest linked in this way, there may be licensing issues.
291    
292      Setting this option causes the -lreadline option to be added to the pcretest
293      build. In many operating environments with a sytem-installed readline
294      library this is sufficient. However, in some environments (e.g. if an
295      unmodified distribution version of readline is in use), it may be necessary
296      to specify something like LIBS="-lncurses" as well. This is because, to quote
297      the readline INSTALL, "Readline uses the termcap functions, but does not link
298      with the termcap or curses library itself, allowing applications which link
299      with readline the to choose an appropriate library." If you get error
300      messages about missing functions tgetstr, tgetent, tputs, tgetflag, or tgoto,
301      this is the problem, and linking with the ncurses library should fix it.
302    
303  The "configure" script builds the following files for the basic C library:  The "configure" script builds the following files for the basic C library:
304    
305  . Makefile is the makefile that builds the library  . Makefile is the makefile that builds the library
# Line 303  script that can be run to recreate the c Line 327  script that can be run to recreate the c
327  contains compiler output from tests that "configure" runs.  contains compiler output from tests that "configure" runs.
328    
329  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
330  libpcre and libpcreposix, a test program called pcretest, a demonstration  libpcre and libpcreposix, a test program called pcretest, and the pcregrep
331  program called pcredemo, and the pcregrep command. If a C++ compiler was found  command. If a C++ compiler was found on your system, "make" also builds the C++
332  on your system, "make" also builds the C++ wrapper library, which is called  wrapper library, which is called libpcrecpp, and some test programs called
333  libpcrecpp, and some test programs called pcrecpp_unittest,  pcrecpp_unittest, pcre_scanner_unittest, and pcre_stringpiece_unittest.
334  pcre_scanner_unittest, and pcre_stringpiece_unittest. Building the C++ wrapper  Building the C++ wrapper can be disabled by adding --disable-cpp to the
335  can be disabled by adding --disable-cpp to the "configure" command.  "configure" command.
336    
337  The command "make check" runs all the appropriate tests. Details of the PCRE  The command "make check" runs all the appropriate tests. Details of the PCRE
338  tests are given below in a separate section of this document.  tests are given below in a separate section of this document.
# Line 360  system. The following are installed (fil Line 384  system. The following are installed (fil
384      pcretest.txt   the pcretest man page      pcretest.txt   the pcretest man page
385      pcregrep.txt   the pcregrep man page      pcregrep.txt   the pcregrep man page
386    
 Note that the pcredemo program that is built by "configure" is *not* installed  
 anywhere. It is a demonstration for programmers wanting to use PCRE.  
   
387  If you want to remove PCRE from your system, you can run "make uninstall".  If you want to remove PCRE from your system, you can run "make uninstall".
388  This removes all the files that "make install" installed. However, it does not  This removes all the files that "make install" installed. However, it does not
389  remove any directories, because these are often shared with other programs.  remove any directories, because these are often shared with other programs.
# Line 456  use the workaround of specifying the fol Line 477  use the workaround of specifying the fol
477  running the "configure" script:  running the "configure" script:
478    
479    CXXLDFLAGS="-lstd_v2 -lCsup_v2"    CXXLDFLAGS="-lstd_v2 -lCsup_v2"
480    
481    
482    Using PCRE from MySQL
483    ---------------------
484    
485    On systems where both PCRE and MySQL are installed, it is possible to make use
486    of PCRE from within MySQL, as an alternative to the built-in pattern matching.
487    There is a web page that tells you how to do this:
488    
489      http://www.mysqludf.org/lib_mysqludf_preg/index.php
490    
491    
492  Making new tarballs  Making new tarballs
# Line 634  The distribution should contain the foll Line 665  The distribution should contain the foll
665    pcre_study.c            )    pcre_study.c            )
666    pcre_tables.c           )    pcre_tables.c           )
667    pcre_try_flipped.c      )    pcre_try_flipped.c      )
668    pcre_ucp_searchfuncs.c  )    pcre_ucd.c              )
669    pcre_valid_utf8.c       )    pcre_valid_utf8.c       )
670    pcre_version.c          )    pcre_version.c          )
671    pcre_xclass.c           )    pcre_xclass.c           )
# Line 643  The distribution should contain the foll Line 674  The distribution should contain the foll
674    pcre.h.in               template for pcre.h when built by "configure"    pcre.h.in               template for pcre.h when built by "configure"
675    pcreposix.h             header for the external POSIX wrapper API    pcreposix.h             header for the external POSIX wrapper API
676    pcre_internal.h         header for internal use    pcre_internal.h         header for internal use
677    ucp.h                   ) headers concerned with    ucp.h                   header for Unicode property handling
   ucpinternal.h           )   Unicode property handling  
   ucptable.h              ) (this one is the data table)  
678    
679    config.h.in             template for config.h, which is built by "configure"    config.h.in             template for config.h, which is built by "configure"
680    
# Line 694  The distribution should contain the foll Line 723  The distribution should contain the foll
723                            )   "configure" and config.h                            )   "configure" and config.h
724    depcomp                 ) script to find program dependencies, generated by    depcomp                 ) script to find program dependencies, generated by
725                            )   automake                            )   automake
726    doc/*.3                 man page sources for the PCRE functions    doc/*.3                 man page sources for PCRE
727    doc/*.1                 man page sources for pcregrep and pcretest    doc/*.1                 man page sources for pcregrep and pcretest
728    doc/index.html.src      the base HTML page    doc/index.html.src      the base HTML page
729    doc/html/*              HTML documentation    doc/html/*              HTML documentation
# Line 703  The distribution should contain the foll Line 732  The distribution should contain the foll
732    doc/perltest.txt        plain text documentation of Perl test program    doc/perltest.txt        plain text documentation of Perl test program
733    install-sh              a shell script for installing files    install-sh              a shell script for installing files
734    libpcre.pc.in           template for libpcre.pc for pkg-config    libpcre.pc.in           template for libpcre.pc for pkg-config
735      libpcreposix.pc.in      template for libpcreposix.pc for pkg-config
736    libpcrecpp.pc.in        template for libpcrecpp.pc for pkg-config    libpcrecpp.pc.in        template for libpcrecpp.pc for pkg-config
737    ltmain.sh               file used to build a libtool script    ltmain.sh               file used to build a libtool script
738    missing                 ) common stub for a few missing GNU programs while    missing                 ) common stub for a few missing GNU programs while
# Line 719  The distribution should contain the foll Line 749  The distribution should contain the foll
749    
750  (D) Auxiliary files for cmake support  (D) Auxiliary files for cmake support
751    
752      cmake/COPYING-CMAKE-SCRIPTS
753      cmake/FindPackageHandleStandardArgs.cmake
754      cmake/FindReadline.cmake
755    CMakeLists.txt    CMakeLists.txt
756    config-cmake.h.in    config-cmake.h.in
757    
# Line 743  The distribution should contain the foll Line 776  The distribution should contain the foll
776  Philip Hazel  Philip Hazel
777  Email local part: ph10  Email local part: ph10
778  Email domain: cam.ac.uk  Email domain: cam.ac.uk
779  Last updated: 18 December 2007  Last updated: 16 September 2009

Legend:
Removed from v.287  
changed lines
  Added in v.452

  ViewVC Help
Powered by ViewVC 1.1.5