rizin/subprojects
Rot127 5afc51f0e2
Replace current regex engine with PCRE2 (#4185)
* 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.
2024-02-05 12:51:16 +08:00
..
mpc Fix gcc12-asan mpc -Wformat-overflow= warnings (#3081) 2022-10-09 18:54:08 +08:00
nettle Replace AES code with Nettle one which is LGPLv3 2021-12-17 09:18:47 +01:00
packagefiles Replace current regex engine with PCRE2 (#4185) 2024-02-05 12:51:16 +08:00
ptrace-wrap Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rizin-shell-parser rizin-shell-parser: Fix build with newest tree-sitter (#4165) 2024-01-29 21:14:40 +08:00
rzar Fix return types and args 2023-05-09 15:42:21 +08:00
rzgdb Remove some more of sdb_fmt() calls (#4140) 2024-01-30 22:36:39 +08:00
rzheap Fix debugless build on E2K (Elbrus) platforms (#3165) 2022-11-06 21:08:09 +08:00
rzqnx Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rzspp Remove windows.h include from rz_types.h (#2410) 2022-03-16 13:54:41 +01:00
rzw32dbg_wrap Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rzwinkd Improve cmd_help.yaml and fix random number generator (#3452) 2023-04-07 20:22:01 +08:00
xxhash
yxml
blake3.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
capstone-next.wrap Drop -fno-strict-aliasing flag from capstone next build (#4149) 2024-01-24 23:24:46 +08:00
capstone-v4.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
capstone-v5.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
libdemangle.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
liblzma.wrap subprojects/xz: update to 5.4.3 2023-05-09 09:31:56 +08:00
libmspack.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
libzip.wrap Update libzip to v1.9.2 2022-07-04 19:05:50 +08:00
lz4.wrap DWARF support for load zlib and zstd compressed section (#3795) 2023-08-29 07:23:48 +08:00
pcre2.wrap Replace current regex engine with PCRE2 (#4185) 2024-02-05 12:51:16 +08:00
pcre2_cross_native.wrap Replace current regex engine with PCRE2 (#4185) 2024-02-05 12:51:16 +08:00
sigdb.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
tree-sitter-c.wrap Use git depth 1 for Meson subprojects (#4138) 2024-01-22 21:14:32 +08:00
tree-sitter.wrap Update tree-sitter to 0.20.7 2023-01-31 19:06:55 +08:00
zlib.wrap subprojects/zlib: Improve meson.build, emulating configure script (#3759) 2023-08-24 12:32:38 +08:00
zstd.wrap build: allow to use system libzstd and fix includes/lib installation (#3858) 2023-09-15 14:38:37 +08:00