* Replace OpenBSD regex library with PCRE2. PCRE2 has way better performance than the OpenBSD library (something around 20 times faster). The following flags are enabled for every pattern: - PCRE2_UTF - PCRE2_MATCH_INVALID_UTF - PCRE2_NO_UTF_CHECK All the others are optional. Changes made: - Adds PCRE2 as subproject. - Changes the API away from POSIX to PCRE2. - Edits many regex patterns because: - ' ' is skipped in patterns, if the EXTENDED flag is set for matching. '\s' must be set now. - '.' doesn't match newlines by default. - Changes the API so matches and their groups are bundled into PVectors. - Moves the regex component to rz_util. * Fix cross build - add copy of PCRE2 dependecy Meson currently doesn't support subprojects to be native and non-native at the same time. See: https://github.com/mesonbuild/meson/issues/10947 Unfortunately, sdb depends on rz_util which in turn depends on PCRE2. Excluding PCRE2 from the native build makes linking of rz_util not possible anymore. Adding it, will make Meson complain that the dependencies cannot be mixed. Hence, we compile a copy of PCRE2 for the native build if required. |
||
|---|---|---|
| .. | ||
| d | ||
| apprentice.c | ||
| ascmagic.c | ||
| file.h | ||
| file_opts.h | ||
| fsmagic.c | ||
| funcs.c | ||
| is_tar.c | ||
| magic.c | ||
| mconfig.h | ||
| mdump.c | ||
| meson.build | ||
| names.h | ||
| patchlevel.h | ||
| README.md | ||
| softmagic.c | ||
| tar.h | ||