diff --git a/subprojects/packagefiles/rustix/meson.build b/subprojects/packagefiles/rustix/meson.build new file mode 100644 index 00000000000..9239c9c1038 --- /dev/null +++ b/subprojects/packagefiles/rustix/meson.build @@ -0,0 +1,44 @@ +# Copyright © 2025 Google +# SPDX-License-Identifier: MIT + +project( + 'rustix', + 'rust', + version : '0.38.31', + license : 'Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT', +) + +errno = subproject('errno').get_variable('lib') +libc = subproject('libc').get_variable('lib') +linux_raw_sys = subproject('linux-raw-sys').get_variable('lib') +bitflags = subproject('bitflags').get_variable('lib') + +rustix_args = [] +if host_machine.system() == 'linux' or host_machine.system() == 'android' + rustix_args += [ + '--cfg', 'linux_raw', + '--cfg', 'linux_kernel', + '--cfg', 'feature="std"', + '--cfg', 'feature="alloc"', + '--cfg', 'feature="event"', + '--cfg', 'feature="fs"', + '--cfg', 'feature="mm"', + '--cfg', 'feature="net"', + '--cfg', 'feature="param"', + '--cfg', 'feature="pipe"', +] +endif + +lib = static_library( + 'rustix', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + link_with : [errno, libc, linux_raw_sys, bitflags], + rust_abi : 'rust', + native : true, + rust_args: rustix_args, +) + +dep_rustix = declare_dependency( + link_with : [lib, errno, libc, linux_raw_sys, bitflags] +) diff --git a/subprojects/rustix.wrap b/subprojects/rustix.wrap new file mode 100644 index 00000000000..7c5086d1d0e --- /dev/null +++ b/subprojects/rustix.wrap @@ -0,0 +1,6 @@ +[wrap-file] +directory = rustix-0.38.31 +source_url = https://crates.io/api/v1/crates/rustix/0.38.31/download +source_filename = rustix-0.38.31.tar.gz +source_hash = 6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949 +patch_directory = rustix