aboutsummaryrefslogtreecommitdiff
path: root/runtime/meson.build
blob: 90e17f4d5e6c3b3e1fa03c1ad79d1305498736fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
project('shed-runtime', 'c', default_options : ['warning_level=1'])

static_library(
    'patio',
    'src/patio/exceptions.c',
)

static_library(
    'patio_test',
    'src/patio_test/patio_test.c',
)

gc_source = 'src/shed/gc' / get_option('gc') / 'gc.c'

static_library(
    'shed',
    'src/shed/effects.c',
    'src/shed/gc.c',
    'src/shed/ints.c',
    'src/shed/memory.c',
    'src/shed/primitives.c',
    'src/shed/strings.c',
    'src/shed/namespaces/Shed/Builtins.c',
    'src/shed/namespaces/Std/Lists.c',
    'src/shed/namespaces/Std/Process.c',
    gc_source,
    c_args: ['-DSHED_GC_COLLECT_INTERVAL=' + get_option('gc_collect_interval').to_string()],
    include_directories: include_directories('src')
)

if meson.get_external_property('shed_runtime_is_wasm', false)
    static_library(
        'walloc',
        'deps/walloc/walloc.c',
        override_options : ['warning_level=0'],
    )
else
    executable('sizeof_jmp_buf', 'src/jmp_buf/sizeof_jmp_buf.c')
endif