⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 php-4.4.7学习linux时下载的源代码
💻
📖 第 1 页 / 共 2 页
字号:
build only shared libraries.Cross-compiling on a Unix-like system-------------------------------------You can specify CC and CFLAGS in the normal way to the "configure" command, inorder to cross-compile PCRE for some other host. However, during the buildingprocess, the dftables.c source file is compiled *and run* on the local host, inorder to generate the default character tables (the chartables.c file). Ittherefore needs to be compiled with the local compiler, not the cross compiler.You can do this by specifying CC_FOR_BUILD (and if necessary CFLAGS_FOR_BUILD;there are also CXX_FOR_BUILD and CXXFLAGS_FOR_BUILD for the C++ wrapper)when calling the "configure" command. If they are not specified, they defaultto the values of CC and CFLAGS.Using HP's ANSI C++ compiler (aCC)----------------------------------Unless C++ support is disabled by specifying the "--disable-cpp" option of the"configure" script, you *must* include the "-AA" option in the CXXFLAGSenvironment variable in order for the C++ components to compile correctly.Also, note that the aCC compiler on PA-RISC platforms may have a defect wherebyneeded libraries fail to get included when specifying the "-AA" compileroption. If you experience unresolved symbols when linking the C++ programs,use the workaround of specifying the following environment variable prior torunning the "configure" script:  CXXLDFLAGS="-lstd_v2 -lCsup_v2"Building on non-Unix systems----------------------------For a non-Unix system, read the comments in the file NON-UNIX-USE, though ifthe system supports the use of "configure" and "make" you may be able to buildPCRE in the same way as for Unix systems.PCRE has been compiled on Windows systems and on Macintoshes, but I don't knowthe details because I don't use those systems. It should be straightforward tobuild PCRE on any system that has a Standard C compiler and library, because ituses only Standard C functions.Testing PCRE------------To test PCRE on a Unix system, run the RunTest script that is created by theconfiguring process. There is also a script called RunGrepTest that tests theoptions of the pcregrep command. If the C++ wrapper library is build, threetest programs called pcrecpp_unittest, pcre_scanner_unittest, andpcre_stringpiece_unittest are provided.Both the scripts and all the program tests are run if you obey "make runtest","make check", or "make test". For other systems, see the instructions inNON-UNIX-USE.The RunTest script runs the pcretest test program (which is documented in itsown man page) on each of the testinput files (in the testdata directory) inturn, and compares the output with the contents of the corresponding testoutputfiles. A file called testtry is used to hold the main output from pcretest(testsavedregex is also used as a working file). To run pcretest on just one ofthe test files, give its number as an argument to RunTest, for example:  RunTest 2The first test file can also be fed directly into the perltest script to checkthat Perl gives the same results. The only difference you should see is in thefirst few lines, where the Perl version is given instead of the PCRE version.The second set of tests check pcre_fullinfo(), pcre_info(), pcre_study(),pcre_copy_substring(), pcre_get_substring(), pcre_get_substring_list(), errordetection, and run-time flags that are specific to PCRE, as well as the POSIXwrapper API. It also uses the debugging flag to check some of the internals ofpcre_compile().If you build PCRE with a locale setting that is not the standard C locale, thecharacter tables may be different (see next paragraph). In some cases, this maycause failures in the second set of tests. For example, in a locale where theisprint() function yields TRUE for characters in the range 128-255, the use of[:isascii:] inside a character class defines a different set of characters, andthis shows up in this test as a difference in the compiled code, which is beinglisted for checking. Where the comparison test output contains [\x00-\x7f] thetest will contain [\x00-\xff], and similarly in some other cases. This is not abug in PCRE.The third set of tests checks pcre_maketables(), the facility for building aset of character tables for a specific locale and using them instead of thedefault tables. The tests make use of the "fr_FR" (French) locale. Beforerunning the test, the script checks for the presence of this locale by runningthe "locale" command. If that command fails, or if it doesn't include "fr_FR"in the list of available locales, the third test cannot be run, and a commentis output to say why. If running this test produces instances of the error  ** Failed to set locale "fr_FR"in the comparison output, it means that locale is not available on your system,despite being listed by "locale". This does not mean that PCRE is broken.The fourth test checks the UTF-8 support. It is not run automatically unlessPCRE is built with UTF-8 support. To do this you must set --enable-utf8 whenrunning "configure". This file can be also fed directly to the perltest script,provided you are running Perl 5.8 or higher. (For Perl 5.6, a small patch,commented in the script, can be be used.)The fifth test checks error handling with UTF-8 encoding, and internal UTF-8features of PCRE that are not relevant to Perl.The sixth and test checks the support for Unicode character properties. It itnot run automatically unless PCRE is built with Unicode property support. To tothis you must set --enable-unicode-properties when running "configure".The seventh, eighth, and ninth tests check the pcre_dfa_exec() alternativematching function, in non-UTF-8 mode, UTF-8 mode, and UTF-8 mode with Unicodeproperty support, respectively. The eighth and ninth tests are not runautomatically unless PCRE is build with the relevant support.Character tables----------------PCRE uses four tables for manipulating and identifying characters whose valuesare less than 256. The final argument of the pcre_compile() function is apointer to a block of memory containing the concatenated tables. A call topcre_maketables() can be used to generate a set of tables in the currentlocale. If the final argument for pcre_compile() is passed as NULL, a set ofdefault tables that is built into the binary is used.The source file called chartables.c contains the default set of tables. This isnot supplied in the distribution, but is built by the program dftables(compiled from dftables.c), which uses the ANSI C character handling functionssuch as isalnum(), isalpha(), isupper(), islower(), etc. to build the tablesources. This means that the default C locale which is set for your system willcontrol the contents of these default tables. You can change the default tablesby editing chartables.c and then re-building PCRE. If you do this, you shouldprobably also edit Makefile to ensure that the file doesn't ever getre-generated.The first two 256-byte tables provide lower casing and case flipping functions,respectively. The next table consists of three 32-byte bit maps which identifydigits, "word" characters, and white space, respectively. These are used whenbuilding 32-byte bit maps that represent character classes.The final 256-byte table has bits indicating various character types, asfollows:    1   white space character    2   letter    4   decimal digit    8   hexadecimal digit   16   alphanumeric or '_'  128   regular expression metacharacter or binary zeroYou should not alter the set of characters that contain the 128 bit, as thatwill cause PCRE to malfunction.Manifest--------The distribution should contain the following files:(A) The actual source files of the PCRE library functions and their    headers:  dftables.c            auxiliary program for building chartables.c  pcreposix.c           )  pcre_compile.c        )  pcre_config.c         )  pcre_dfa_exec.c       )  pcre_exec.c           )  pcre_fullinfo.c       )  pcre_get.c            ) sources for the functions in the library,  pcre_globals.c        )   and some internal functions that they use  pcre_info.c           )  pcre_maketables.c     )  pcre_newline.c        )  pcre_ord2utf8.c       )  pcre_refcount.c       )  pcre_study.c          )  pcre_tables.c         )  pcre_try_flipped.c    )  pcre_ucp_searchfuncs.c)  pcre_valid_utf8.c     )  pcre_version.c        )  pcre_xclass.c         )  ucptable.c            )  pcre_printint.src     ) debugging function that is #included in pcretest, and                        )   can also be #included in pcre_compile()  pcre.h                the public PCRE header file  pcreposix.h           header for the external POSIX wrapper API  pcre_internal.h       header for internal use  ucp.h                 ) headers concerned with  ucpinternal.h         )   Unicode property handling  config.in             template for config.h, which is built by configure  pcrecpp.h             the header file for the C++ wrapper  pcrecpparg.h.in       "source" for another C++ header file  pcrecpp.cc            )  pcre_scanner.cc       ) source for the C++ wrapper library  pcre_stringpiece.h.in "source" for pcre_stringpiece.h, the header for the                          C++ stringpiece functions  pcre_stringpiece.cc   source for the C++ stringpiece functions(B) Auxiliary files:  AUTHORS               information about the author of PCRE  ChangeLog             log of changes to the code  INSTALL               generic installation instructions  LICENCE               conditions for the use of PCRE  COPYING               the same, using GNU's standard name  Makefile.in           template for Unix Makefile, which is built by configure  NEWS                  important changes in this release  NON-UNIX-USE          notes on building PCRE on non-Unix systems  README                this file  RunTest.in            template for a Unix shell script for running tests  RunGrepTest.in        template for a Unix shell script for pcregrep tests  config.guess          ) files used by libtool,  config.sub            )   used only when building a shared library  config.h.in           "source" for the config.h header file  configure             a configuring shell script (built by autoconf)  configure.ac          the autoconf input used to build configure  doc/Tech.Notes        notes on the encoding  doc/*.3               man page sources for the PCRE functions  doc/*.1               man page sources for pcregrep and pcretest  doc/html/*            HTML documentation  doc/pcre.txt          plain text version of the man pages  doc/pcretest.txt      plain text documentation of test program  doc/perltest.txt      plain text documentation of Perl test program  install-sh            a shell script for installing files  libpcre.pc.in         "source" for libpcre.pc for pkg-config  ltmain.sh             file used to build a libtool script  mkinstalldirs         script for making install directories  pcretest.c            comprehensive test program  pcredemo.c            simple demonstration of coding calls to PCRE  perltest              Perl test program  pcregrep.c            source of a grep utility that uses PCRE  pcre-config.in        source of script which retains PCRE information  pcrecpp_unittest.c           )  pcre_scanner_unittest.c      ) test programs for the C++ wrapper  pcre_stringpiece_unittest.c  )  testdata/testinput*   test data for main library tests  testdata/testoutput*  expected test results  testdata/grep*        input and output for pcregrep tests(C) Auxiliary files for Win32 DLL  libpcre.def  libpcreposix.def(D) Auxiliary file for VPASCAL  makevp.batPhilip HazelEmail local part: ph10Email domain: cam.ac.ukNovember 2006

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -