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
40
41
42
43
44
45
46
47
48
49
50
|
project(
'syn',
'rust',
version : '2.0.68',
license :'MIT OR Apache-2.0',
)
rc = meson.get_compiler('rust')
rust_args = [
'--cfg', 'feature="default"',
'--cfg', 'feature="derive"',
'--cfg', 'feature="parsing"',
'--cfg', 'feature="printing"',
'--cfg', 'feature="clone-impls"',
'--cfg', 'feature="proc-macro"',
'--cfg', 'feature="quote"',
]
if rc.version().version_compare('< 1.36')
rust_args += ['--cfg', 'syn_omit_await_from_token_macro']
endif
if rc.version().version_compare('< 1.39')
rust_args += ['--cfg', 'syn_no_const_vec_new']
endif
if rc.version().version_compare('< 1.40')
rust_args += ['--cfg', 'syn_no_non_exhaustive']
endif
if rc.version().version_compare('< 1.56')
rust_args += ['--cfg', 'syn_no_negative_literal_parse']
endif
u_ind = subproject('unicode-ident').get_variable('lib')
quote = subproject('quote').get_variable('lib')
pm2 = subproject('proc-macro2').get_variable('lib')
lib = static_library(
'syn',
'src/lib.rs',
rust_args : rust_args,
override_options : ['rust_std=2021', 'build.rust_std=2021'],
link_with : [u_ind, quote, pm2],
rust_abi : 'rust',
native : true,
)
dep_syn = declare_dependency(
link_with : [lib, u_ind, quote, pm2],
)
|