quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

commit a6bb8818ebe3616b6d76fb450ea1c76a1c4860e4
parent 51be3cc573ad832961dd36e30b1689c9ecee6618
Author: Iván Ávalos <avalos@disroot.org>
Date:   Tue, 17 Feb 2026 22:24:57 +0100

link to Apple's hand-optimized sqlite3 on iOS

Diffstat:
Mmeson.build | 39++++++++++++++++++++++++++++-----------
1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/meson.build b/meson.build @@ -52,7 +52,6 @@ if host_machine.system() == 'android' add_project_link_arguments('-Wl,--hash-style=both', language : 'c') endif - cc = meson.get_compiler('c') m_dep = cc.find_library('m', required : false) @@ -92,7 +91,13 @@ cutils = static_library('cutils', 'quickjs/cutils.c') quickjs_libc = static_library('quickjs-libc', ['quickjs/quickjs-libc.c', 'quickjs/quickjs-http.c'], dependencies : curl_dep ) # base JS interpreter quickjs = static_library('quickjs', 'quickjs/quickjs.c') -sqlite3 = static_library('sqlite3', 'sqlite3/sqlite3.c') + +# for iOS use Apple's hand-optimized sqlite3 +if host_machine.system() == 'ios' + sqlite3_dep = cc.find_library('sqlite3', required : true) +else + sqlite3 = static_library('sqlite3', 'sqlite3/sqlite3.c') +endif # avoid warning but compile more slowly on non-cross builds avoid_cross_warning = true @@ -168,15 +173,27 @@ prelude = static_library('prelude', prelude_c) wallet_core = static_library('wallet_core', wallet_core_c) # Taler runtime ("tart") loadable JavaScript module -tart = static_library('tart', 'tart_module.c', - link_with : [sqlite3], - dependencies : [ - m_dep, - mbedcrypto_dep, - mbedtls_dep, - mbedx509_dep, - sodium_dep - ]) +if host_machine.system() == 'ios' + tart = static_library('tart', 'tart_module.c', + dependencies : [ + m_dep, + mbedcrypto_dep, + mbedtls_dep, + mbedx509_dep, + sodium_dep, + sqlite3_dep + ]) +else + tart = static_library('tart', 'tart_module.c', + link_with : [sqlite3], + dependencies : [ + m_dep, + mbedcrypto_dep, + mbedtls_dep, + mbedx509_dep, + sodium_dep + ]) +endif # Interactive JS interpreter with Taler-specific # functions (crypto etc.)