Files
dull/meson.build
John Alanbrook 86e653f592
Some checks failed
ci / Linux (Ubuntu) (push) Failing after 1s
ci / macOS (push) Failing after 8s
ci / macos-asan (push) Failing after 6s
ci / macos-ubsan (push) Failing after 4s
ci / linux-asan (push) Failing after 11s
ci / Linux LTO (push) Failing after 9s
ci / Linux 32bit (push) Failing after 3s
ci / Windows (mingw) (push) Failing after 3s
ci / linux-ubsan (push) Failing after 31s
ci / freebsd (push) Failing after 1m31s
ci / Cosmopolitan (push) Successful in 57s
ci / MinGW Windows target (push) Failing after 3s
ci / qemu-alpine (linux/386) (push) Failing after 4s
ci / qemu-alpine (linux/arm/v6) (push) Failing after 3s
ci / qemu-alpine (linux/arm/v7) (push) Failing after 4s
ci / qemu-alpine (linux/arm64) (push) Failing after 4s
ci / qemu-alpine (linux/ppc64le) (push) Failing after 4s
ci / qemu-alpine (linux/riscv64) (push) Failing after 4s
ci / qemu-alpine (linux/s390x) (push) Failing after 4s
ci / Windows MSYS2 (push) Has been cancelled
remove mcmodel large
2025-05-24 09:28:56 -05:00

61 lines
1.5 KiB
Meson

project('quickjs', 'c', meson_version: '>=1.1')
cc = meson.get_compiler('c')
threads = dependency('threads')
deps = []
deps += cc.find_library('m', required:false)
deps += threads
fs = import('fs')
ver_file = join_paths(meson.current_source_dir(), 'VERSION.md')
qjs_ver = fs.read(ver_file).strip()
add_project_arguments('-DCONFIG_VERSION="@0@"'.format(qjs_ver), language: 'c')
lib_sources = ['libregexp.c', 'quickjs.c', 'libunicode.c', 'cutils.c', 'dtoa.c']
libquickjs = library('quickjs',
lib_sources,
dependencies: deps
)
quickjs_dep = declare_dependency(link_with: libquickjs, include_directories: include_directories('.'), dependencies: deps)
qjsc = executable('qjsc',
'qjsc.c', 'quickjs-libc.c',
dependencies: [quickjs_dep,threads],
build_by_default:false
)
qjsrepl_c = custom_target(
'qjsrepl_c',
output: 'repl.c',
input: 'repl.js',
command: [qjsc, '-c', '-o', '@OUTPUT@', '-m', '@INPUT@'],
)
qjs = executable('qjs',
'qjs.c', 'quickjs-libc.c', qjsrepl_c,
dependencies: [quickjs_dep, threads],
build_by_default:false
)
test_root = join_paths(meson.project_source_root(), 'tests')
base_tests = {
'closure': ['test_closure.js'],
'language': ['test_language.js'],
'loop': ['test_loop.js'],
'bigint': ['test_bigint.js'],
}
test_suite = base_tests
foreach test_name, test_args : test_suite
test(test_name, qjs, args: test_args, workdir: test_root)
endforeach
benchmark('microbench', qjs, args: ['microbench.js'], workdir: test_root, timeout: 0)