From fef5cb03fb23702f3522fd25333dda58cf8e2e35 Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Sun, 28 Sep 2025 13:11:33 +0800 Subject: [PATCH] Add option to use system BLAKE3 (#5414) --- doc/PACKAGERS.md | 1 + meson.build | 8 ++++++-- meson_options.txt | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/PACKAGERS.md b/doc/PACKAGERS.md index 27d73ccfca..11f7f3c04e 100644 --- a/doc/PACKAGERS.md +++ b/doc/PACKAGERS.md @@ -87,6 +87,7 @@ At the time of writing, these are: * `use_sys_tree_sitter` * `use_sys_softfloat` * `use_sys_zydis` +* `use_sys_blake3` See [meson_options.txt][] for a complete list of compile-time options. diff --git a/meson.build b/meson.build index feabf8951f..b230c1659f 100644 --- a/meson.build +++ b/meson.build @@ -310,8 +310,11 @@ libdemangle_proj = subproject('libdemangle', default_options: libdemangle_option libdemangle_dep = libdemangle_proj.get_variable('libdemangle_dep') # handle blake3 algo -blake3_proj = subproject('blake3', default_options: ['default_library=static', 'werror=false']) -blake3_dep = blake3_proj.get_variable('blake3_dep') +blake3_dep = dependency('libblake3', required: get_option('use_sys_blake3'), static: is_static_build) +if not blake3_dep.found() + blake3_proj = subproject('blake3', default_options: ['default_library=static', 'werror=false']) + blake3_dep = blake3_proj.get_variable('blake3_dep') +endif # handle openssl library sys_openssl = dependency('openssl', required: get_option('use_sys_openssl'), static: is_static_build) @@ -842,6 +845,7 @@ summary({ 'System zlib library': zlib_dep.found() and zlib_dep.type_name() != 'internal', 'System zstd library': libzstd_dep.found() and libzstd_dep.type_name() != 'internal', 'System zip library': libzip_dep.found() and libzip_dep.type_name() != 'internal', + 'System blake3 library': blake3_dep.found() and blake3_dep.type_name() != 'internal', 'Use ptrace-wrap': use_ptrace_wrap, 'Use RPATH': rpath_summary, }, section: 'Configuration', bool_yn: true) diff --git a/meson_options.txt b/meson_options.txt index a6dd751636..d744b28f8f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -38,6 +38,7 @@ option('use_sys_libmspack', type: 'feature', value: 'disabled') option('use_sys_tree_sitter', type: 'feature', value: 'disabled') option('use_sys_pcre2', type: 'feature', value: 'disabled') option('use_sys_softfloat', type: 'feature', value: 'disabled') +option('use_sys_blake3', type: 'feature', value: 'disabled') option('use_gpl', type: 'boolean', value: true, description: 'Set to false when you want to disable gpl code') option('install_sigdb', type: 'boolean', value: false, description: 'Downloads and installs rizin sigdb') option('debugger', type: 'boolean', value: true)