quickjs-tart

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

commit faa694516527b1da7c1dc2e4943994f41920899f
parent 5bace8d17f1a1e7375d289f2fcb6c0db020b0d37
Author: Florian Dold <florian@dold.me>
Date:   Tue, 20 Dec 2022 14:52:24 +0100

build system

Diffstat:
Ameson.build | 46++++++++++++++++++++++++++++++++++++++++++++++
Asubprojects/libsodium/meson.build | 98+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asubprojects/libsodium/src/libsodium/include/sodium/meson.build | 6++++++
3 files changed, 150 insertions(+), 0 deletions(-)

diff --git a/meson.build b/meson.build @@ -0,0 +1,46 @@ +project('quickjs-tart', 'c', + version : '0.0.1') + +add_project_arguments('-D_GNU_SOURCE', language : 'c') +add_project_arguments('-DCONFIG_VERSION="0.0.1"', language : 'c') + +cc = meson.get_compiler('c') +m_dep = cc.find_library('m', required : true) +mbedcrypto_dep = cc.find_library('mbedcrypto', required : true) +curl_dep = cc.find_library('curl', required : true) + +sodium_proj = subproject('libsodium', required : true) + +#sodium_dep = cc.find_library('sodium', required : true) + +sodium_dep = sodium_proj.get_variable('sodium_dep') + +qjsc_exe = executable('qjsc', [ + 'qjsc.c', + 'libbf.c', + 'libregexp.c', + 'libunicode.c', + 'cutils.c', + 'quickjs-libc.c', + 'quickjs.c', + ], + dependencies: [m_dep, mbedcrypto_dep, curl_dep, sodium_dep]) + +repl_c = custom_target('gen-output', + input : ['repl.js'], + output : ['repl.c'], + command : [qjsc_exe, '-c', '-m', + '-o', '@OUTPUT@', + '@INPUT@']) + +qjs_exe = executable('qjs', [ + 'qjs.c', + 'libbf.c', + 'libregexp.c', + 'libunicode.c', + 'cutils.c', + 'quickjs-libc.c', + 'quickjs.c', + repl_c, + ], + dependencies: [m_dep, mbedcrypto_dep, curl_dep, sodium_dep]) diff --git a/subprojects/libsodium/meson.build b/subprojects/libsodium/meson.build @@ -0,0 +1,98 @@ +project('libsodium', 'c', + default_options : [ + 'warning_level=0'] +) + +add_project_arguments('-D_GNU_SOURCE', language: 'c') + +if host_machine.endian() == 'little' + add_project_arguments('-DNATIVE_LITTLE_ENDIAN', language: 'c') +else + add_project_arguments('-DNATIVE_BIG_ENDIAN', language: 'c') +endif + +add_project_arguments('-DCONFIGURED', language: 'c') + +conf_data = configuration_data() +conf_data.set('VERSION', '1.0.18') +conf_data.set('SODIUM_LIBRARY_VERSION_MAJOR', 10) +conf_data.set('SODIUM_LIBRARY_VERSION_MINOR', 3) +conf_data.set('SODIUM_LIBRARY_MINIMAL_DEF', '') +subdir('src/libsodium/include/sodium') + +libsodium = static_library('sodium', [ + 'src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c', + 'src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c', + 'src/libsodium/crypto_auth/crypto_auth.c', + 'src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c', + 'src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c', + 'src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c', + 'src/libsodium/crypto_box/crypto_box.c', + 'src/libsodium/crypto_box/crypto_box_easy.c', + 'src/libsodium/crypto_box/crypto_box_seal.c', + 'src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c', + 'src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c', + 'src/libsodium/crypto_core/hchacha20/core_hchacha20.c', + 'src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c', + 'src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c', + 'src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c', + 'src/libsodium/crypto_generichash/crypto_generichash.c', + 'src/libsodium/crypto_generichash/blake2b/generichash_blake2.c', + 'src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c', + 'src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c', + 'src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c', + 'src/libsodium/crypto_hash/crypto_hash.c', + 'src/libsodium/crypto_hash/sha256/hash_sha256.c', + 'src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c', + 'src/libsodium/crypto_hash/sha512/hash_sha512.c', + 'src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c', + 'src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c', + 'src/libsodium/crypto_kdf/crypto_kdf.c', + 'src/libsodium/crypto_kx/crypto_kx.c', + 'src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c', + 'src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c', + 'src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c', + 'src/libsodium/crypto_pwhash/argon2/argon2-core.c', + 'src/libsodium/crypto_pwhash/argon2/argon2-encoding.c', + 'src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c', + 'src/libsodium/crypto_pwhash/argon2/argon2.c', + 'src/libsodium/crypto_pwhash/argon2/blake2b-long.c', + 'src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c', + 'src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c', + 'src/libsodium/crypto_pwhash/crypto_pwhash.c', + 'src/libsodium/crypto_scalarmult/crypto_scalarmult.c', + 'src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c', + 'src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c', + 'src/libsodium/crypto_secretbox/crypto_secretbox.c', + 'src/libsodium/crypto_secretbox/crypto_secretbox_easy.c', + 'src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c', + 'src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c', + 'src/libsodium/crypto_shorthash/crypto_shorthash.c', + 'src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c', + 'src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c', + 'src/libsodium/crypto_sign/crypto_sign.c', + 'src/libsodium/crypto_sign/ed25519/sign_ed25519.c', + 'src/libsodium/crypto_sign/ed25519/ref10/keypair.c', + 'src/libsodium/crypto_sign/ed25519/ref10/open.c', + 'src/libsodium/crypto_sign/ed25519/ref10/sign.c', + 'src/libsodium/crypto_stream/chacha20/stream_chacha20.c', + 'src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c', + 'src/libsodium/crypto_stream/crypto_stream.c', + 'src/libsodium/crypto_stream/salsa20/stream_salsa20.c', + 'src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c', + 'src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c', + 'src/libsodium/crypto_verify/sodium/verify.c', + 'src/libsodium/randombytes/randombytes.c', + 'src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c', + 'src/libsodium/sodium/codecs.c', + 'src/libsodium/sodium/core.c', + 'src/libsodium/sodium/runtime.c', + 'src/libsodium/sodium/utils.c', + 'src/libsodium/sodium/version.c', + ], + include_directories:['src/libsodium/include/sodium']) + +sodium_dep = declare_dependency( + include_directories : ['src/libsodium/include'], + link_with : [libsodium], +) diff --git a/subprojects/libsodium/src/libsodium/include/sodium/meson.build b/subprojects/libsodium/src/libsodium/include/sodium/meson.build @@ -0,0 +1,6 @@ + +config_h = configure_file( + input : 'version.h.in', + output : 'version.h', + configuration : conf_data) +