| # Generate bindgen arguments from Cargo.toml metadata |
| # Sort these in dependency order, same as the subdir() |
| # invocations below. |
| bindgen_dirs = [ |
| 'util-sys', |
| 'migration-sys', |
| 'qom-sys', |
| 'chardev-sys', |
| 'hwcore-sys', |
| 'system-sys', |
| ] |
| bindgen_args_file = configure_file( |
| command: [files('generate_bindgen_args.py'), |
| '-I', meson.project_source_root() / 'include', |
| '--source-dir', meson.current_source_dir(), |
| '-o', '@OUTPUT@', '--dep-file', '@DEPFILE@'] + bindgen_dirs, |
| output: 'bindgen_args.mak', |
| depfile: 'bindgen_args.d' |
| ) |
| |
| # now generate all bindgen files |
| bindgen_args_data = keyval.load(bindgen_args_file) |
| bindgen_kwargs = { |
| 'input': 'wrapper.h', |
| 'dependencies': common_ss.all_dependencies(), |
| 'output': 'bindings.inc.rs', |
| 'include_directories': bindings_incdir, |
| 'bindgen_version': ['>=0.60.0'], |
| 'c_args': bindgen_c_args, |
| } |
| |
| subdir('util-sys') |
| subdir('migration-sys') |
| subdir('qom-sys') |
| subdir('chardev-sys') |
| subdir('hwcore-sys') |
| subdir('system-sys') |