meson: Pull in syn from crates.io
We don't have real crates.io support yet so this uses a hack where it pulls wraps from my personal github. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24998>
This commit is contained in:

committed by
Marge Bot

parent
384f4448e1
commit
5a80c2e89a
50
subprojects/packagefiles/syn/meson.build
Normal file
50
subprojects/packagefiles/syn/meson.build
Normal file
@@ -0,0 +1,50 @@
|
||||
project(
|
||||
'syn',
|
||||
'rust',
|
||||
version : '2.0.15',
|
||||
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],
|
||||
)
|
Reference in New Issue
Block a user