blob: e8b28eda144e39989f7a90713874849377f4b00c [file] [log] [blame]
project('rust proc-macro', 'rust')
if build_machine.system() != 'linux'
error('MESON_SKIP_TEST, this test only works on Linux. Patches welcome.')
endif
pm = shared_library(
'proc_macro_examples',
'proc.rs',
rust_crate_type : 'proc-macro',
)
main = executable(
'main',
'use.rs',
link_with : pm,
rust_args : ['-C', 'panic=abort'],
)
test('main_test', main)
rust = import('rust')
pm = rust.proc_macro('proc_macro_examples2', 'proc.rs')
main = executable(
'main2',
'use.rs',
link_with : pm,
rust_dependency_map : {'proc_macro_examples2' : 'proc_macro_examples'}
)
test('main_test2', main)
subdir('subdir')
staticlib = static_library('staticlib', 'lib.rs',
link_with: pm_in_subdir,
rust_dependency_map : {'proc_macro_examples3' : 'proc_macro_examples'}
)
executable('transitive-proc-macro', 'transitive-proc-macro.rs',
link_with: staticlib,
)