| 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], |
| ) |