mesa/subprojects/packagefiles/proc-macro2-1-rs/meson.build
LingMan 49446a62c0 meson: specify minimal target meson version for rust subprojects
Silences several meson warnings like:
```
../subprojects/equivalent-1.0.1/meson.build:9: WARNING: Project does not target a minimum version but uses feature introduced in '1.3.0': rust_abi arg in static_library.
```

The target of 1.7.0 was chosen since that's the minimal required meson version of the rust components in mesa anyway.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38814>
2025-12-12 17:28:49 +00:00

65 lines
1.7 KiB
Meson

project(
'proc-macro2',
'rust',
version : '1.0.86',
license : 'MIT OR Apache-2.0',
meson_version : '>= 1.7.0',
)
rc = meson.get_compiler('rust')
if rc.version().version_compare('< 1.31')
error('Minimum rustc supported version is 1.31')
endif
rust_args = [
'--cfg', 'feature="proc-macro"',
'--cfg', 'feature="default"',
'--cfg', 'use_proc_macro',
'--cfg', 'wrap_proc_macro',
]
if rc.version().version_compare('< 1.32')
rust_args += ['--cfg', 'no_libprocmacro_unwind_safe']
endif
if rc.version().version_compare('< 1.39')
rust_args += ['--cfg', 'no_bind_by_move_pattern_guard']
endif
if rc.version().version_compare('< 1.44')
rust_args += ['--cfg', 'no_lexerror_display']
endif
if rc.version().version_compare('< 1.45')
rust_args += ['--cfg', 'no_hygiene']
endif
if rc.version().version_compare('< 1.47')
rust_args += ['--cfg', 'no_ident_new_raw']
endif
if rc.version().version_compare('< 1.54')
rust_args += ['--cfg', 'no_literal_from_str']
endif
if rc.version().version_compare('< 1.55')
rust_args += ['--cfg', 'no_group_open_close']
endif
if rc.version().version_compare('< 1.57')
rust_args += ['--cfg', 'no_is_available']
endif
if rc.version().version_compare('< 1.66')
rust_args += ['--cfg', 'no_source_text']
endif
if rc.version().version_compare('< 1.79')
rust_args += [
'--cfg', 'no_literal_byte_character',
'--cfg', 'no_literal_c_string',
]
endif
u_ind = subproject('unicode-ident-1-rs').get_variable('lib')
lib = static_library(
'proc_macro2',
'src/lib.rs',
rust_args : rust_args,
override_options : ['rust_std=2021', 'build.rust_std=2021', 'warning_level=0'],
link_with : u_ind,
rust_abi : 'rust',
native : true,
)