]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README
MdeModulePkg RegularExpressionDxe: Update Oniguruma to 6.9.0
[mirror_edk2.git] / MdeModulePkg / Universal / RegularExpressionDxe / Oniguruma / README
CommitLineData
b602265d
DG
1README 2018/04/05\r
2\r
3Oniguruma ---- (C) K.Kosako\r
4\r
5https://github.com/kkos/oniguruma\r
6\r
7FIXED Security Issues (in Oniguruma 6.3.0):\r
8 CVE-2017-9224, CVE-2017-9225, CVE-2017-9226\r
9 CVE-2017-9227, CVE-2017-9228, CVE-2017-9229\r
10\r
11---\r
12Oniguruma is a modern and flexible regular expressions library. It\r
13encompasses features from different regular expression implementations\r
14that traditionally exist in different languages. It comes close to\r
15being a complete superset of all regular expression features found\r
16in other regular expression implementations.\r
17\r
18Its features include:\r
19* Character encoding can be specified per regular expression object.\r
20* Several regular expression types are supported:\r
21 * POSIX\r
22 * Grep\r
23 * GNU Regex\r
24 * Perl\r
25 * Java\r
26 * Ruby\r
27 * Emacs\r
14b0e578
CS
28\r
29Supported character encodings:\r
30\r
31 ASCII, UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE,\r
32 EUC-JP, EUC-TW, EUC-KR, EUC-CN,\r
33 Shift_JIS, Big5, GB18030, KOI8-R, CP1251,\r
34 ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5,\r
35 ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10,\r
36 ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16\r
37\r
38* GB18030: contributed by KUBO Takehiro\r
39* CP1251: contributed by Byte\r
40------------------------------------------------------------\r
41\r
42License\r
43\r
44 BSD license.\r
45\r
46\r
47Install\r
48\r
49 Case 1: Unix and Cygwin platform\r
50\r
b602265d
DG
51 1. autoreconf -vfi (* case: configure script is not found.)\r
52\r
53 2. ./configure\r
54 3. make\r
55 4. make install\r
14b0e578
CS
56\r
57 * uninstall\r
58\r
59 make uninstall\r
60\r
14b0e578
CS
61 * configuration check\r
62\r
63 onig-config --cflags\r
64 onig-config --libs\r
65 onig-config --prefix\r
66 onig-config --exec-prefix\r
67\r
68\r
69\r
b602265d 70 Case 2: Windows 64/32bit platform (Visual Studio)\r
14b0e578 71\r
b602265d 72 execute make_win64 or make_win32\r
14b0e578 73\r
b602265d
DG
74 src/onig_s.lib: static link library\r
75 src/onig.dll: dynamic link library\r
14b0e578
CS
76\r
77 * test (ASCII/Shift_JIS)\r
b602265d
DG
78 1. cd src\r
79 2. copy ..\windows\testc.c .\r
80 3. nmake -f Makefile.windows ctest\r
81\r
82 (I have checked by Visual Studio Community 2015)\r
14b0e578
CS
83\r
84\r
85\r
86Regular Expressions\r
87\r
88 See doc/RE (or doc/RE.ja for Japanese).\r
89\r
90\r
91Usage\r
92\r
93 Include oniguruma.h in your program. (Oniguruma API)\r
94 See doc/API for Oniguruma API.\r
95\r
96 If you want to disable UChar type (== unsigned char) definition\r
97 in oniguruma.h, define ONIG_ESCAPE_UCHAR_COLLISION and then \r
98 include oniguruma.h.\r
99\r
100 If you want to disable regex_t type definition in oniguruma.h,\r
101 define ONIG_ESCAPE_REGEX_T_COLLISION and then include oniguruma.h.\r
102\r
103 Example of the compiling/linking command line in Unix or Cygwin,\r
104 (prefix == /usr/local case)\r
105\r
106 cc sample.c -L/usr/local/lib -lonig\r
107\r
108\r
109 If you want to use static link library(onig_s.lib) in Win32,\r
110 add option -DONIG_EXTERN=extern to C compiler.\r
111\r
112\r
113\r
114Sample Programs\r
115\r
116 sample/simple.c example of the minimum (Oniguruma API)\r
117 sample/names.c example of the named group callback.\r
118 sample/encode.c example of some encodings.\r
119 sample/listcap.c example of the capture history.\r
120 sample/posix.c POSIX API sample.\r
121 sample/sql.c example of the variable meta characters.\r
122 (SQL-like pattern matching)\r
b602265d 123 sample/user_property.c example of user defined Unicode property.\r
14b0e578
CS
124\r
125Test Programs\r
126 sample/syntax.c Perl, Java and ASIS syntax test.\r
127 sample/crnl.c --enable-crnl-as-line-terminator test\r
128\r
129\r
130Source Files\r
131\r
132 oniguruma.h Oniguruma API header file. (public)\r
133 onig-config.in configuration check program template.\r
134\r
135 regenc.h character encodings framework header file.\r
136 regint.h internal definitions\r
137 regparse.h internal definitions for regparse.c and regcomp.c\r
138 regcomp.c compiling and optimization functions\r
139 regenc.c character encodings framework.\r
140 regerror.c error message function\r
141 regext.c extended API functions. (deluxe version API)\r
142 regexec.c search and match functions\r
143 regparse.c parsing functions.\r
144 regsyntax.c pattern syntax functions and built-in syntax definitions.\r
145 regtrav.c capture history tree data traverse functions.\r
146 regversion.c version info function.\r
147 st.h hash table functions header file\r
148 st.c hash table functions\r
149\r
150 oniggnu.h GNU regex API header file. (public)\r
151 reggnu.c GNU regex API functions\r
152\r
153 onigposix.h POSIX API header file. (public)\r
154 regposerr.c POSIX error message function.\r
155 regposix.c POSIX API functions.\r
156\r
b602265d
DG
157 mktable.c character type table generator.\r
158 ascii.c ASCII encoding.\r
159 euc_jp.c EUC-JP encoding.\r
160 euc_tw.c EUC-TW encoding.\r
161 euc_kr.c EUC-KR, EUC-CN encoding.\r
162 sjis.c Shift_JIS encoding.\r
163 big5.c Big5 encoding.\r
164 gb18030.c GB18030 encoding.\r
165 koi8.c KOI8 encoding.\r
166 koi8_r.c KOI8-R encoding.\r
167 cp1251.c CP1251 encoding.\r
168 iso8859_1.c ISO-8859-1 encoding. (Latin-1)\r
169 iso8859_2.c ISO-8859-2 encoding. (Latin-2)\r
170 iso8859_3.c ISO-8859-3 encoding. (Latin-3)\r
171 iso8859_4.c ISO-8859-4 encoding. (Latin-4)\r
172 iso8859_5.c ISO-8859-5 encoding. (Cyrillic)\r
173 iso8859_6.c ISO-8859-6 encoding. (Arabic)\r
174 iso8859_7.c ISO-8859-7 encoding. (Greek)\r
175 iso8859_8.c ISO-8859-8 encoding. (Hebrew)\r
176 iso8859_9.c ISO-8859-9 encoding. (Latin-5 or Turkish)\r
177 iso8859_10.c ISO-8859-10 encoding. (Latin-6 or Nordic)\r
178 iso8859_11.c ISO-8859-11 encoding. (Thai)\r
179 iso8859_13.c ISO-8859-13 encoding. (Latin-7 or Baltic Rim)\r
180 iso8859_14.c ISO-8859-14 encoding. (Latin-8 or Celtic)\r
181 iso8859_15.c ISO-8859-15 encoding. (Latin-9 or West European with Euro)\r
182 iso8859_16.c ISO-8859-16 encoding.\r
14b0e578 183 (Latin-10 or South-Eastern European with Euro)\r
b602265d
DG
184 utf8.c UTF-8 encoding.\r
185 utf16_be.c UTF-16BE encoding.\r
186 utf16_le.c UTF-16LE encoding.\r
187 utf32_be.c UTF-32BE encoding.\r
188 utf32_le.c UTF-32LE encoding.\r
189 unicode.c common codes of Unicode encoding.\r
14b0e578
CS
190\r
191 win32/Makefile Makefile for Win32 (VC++)\r
192 win32/config.h config.h for Win32\r
193\r
194\r
14b0e578 195and I'm thankful to Akinori MUSHA.\r