1project( 2 'proc-macro2', 3 'rust', 4 version : '1.0.56', 5 license :'MIT OR Apache-2.0', 6) 7 8rc = meson.get_compiler('rust') 9 10if rc.version().version_compare('< 1.31') 11 error('Minimum rustc supported version is 1.31') 12endif 13 14rust_args = [ 15 '--cfg', 'feature="proc-macro"', 16 '--cfg', 'feature="default"', 17 '--cfg', 'use_proc_macro', 18 '--cfg', 'wrap_proc_macro', 19] 20if rc.version().version_compare('< 1.32') 21 rust_args += ['--cfg', 'no_libprocmacro_unwind_safe'] 22endif 23if rc.version().version_compare('< 1.39') 24 rust_args += ['--cfg', 'no_bind_by_move_pattern_guard'] 25endif 26if rc.version().version_compare('< 1.44') 27 rust_args += ['--cfg', 'no_lexerror_display'] 28endif 29if rc.version().version_compare('< 1.45') 30 rust_args += ['--cfg', 'no_hygiene'] 31endif 32if rc.version().version_compare('< 1.47') 33 rust_args += ['--cfg', 'no_ident_new_raw'] 34endif 35if rc.version().version_compare('< 1.54') 36 rust_args += ['--cfg', 'no_literal_from_str'] 37endif 38if rc.version().version_compare('< 1.55') 39 rust_args += ['--cfg', 'no_group_open_close'] 40endif 41if rc.version().version_compare('< 1.57') 42 rust_args += ['--cfg', 'no_is_available'] 43endif 44if rc.version().version_compare('< 1.66') 45 rust_args += ['--cfg', 'no_source_text'] 46endif 47if rc.version().version_compare('< 1.79') 48 rust_args += [ 49 '--cfg', 'no_literal_byte_character', 50 '--cfg', 'no_literal_c_string', 51 ] 52endif 53 54u_ind = subproject('unicode-ident').get_variable('lib') 55 56lib = static_library( 57 'proc_macro2', 58 'src/lib.rs', 59 rust_args : rust_args, 60 override_options : ['rust_std=2021', 'build.rust_std=2021'], 61 link_with : u_ind, 62 rust_abi : 'rust', 63 native : true, 64) 65