new file mode 100644
@@ -0,0 +1,130 @@
+# Autogenerated with 'bitbake -c update_crates cxx'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/anstyle/1.0.13 \
+ crate://crates.io/bitflags/2.10.0 \
+ crate://crates.io/cc/1.2.53 \
+ crate://crates.io/cfg-if/1.0.4 \
+ crate://crates.io/clap/4.5.54 \
+ crate://crates.io/clap_builder/4.5.54 \
+ crate://crates.io/clap_lex/0.7.7 \
+ crate://crates.io/codespan-reporting/0.13.1 \
+ crate://crates.io/cxx-build/1.0.194 \
+ crate://crates.io/cxx-gen/0.7.194 \
+ crate://crates.io/cxx-test-suite/0.0.1 \
+ crate://crates.io/cxxbridge-cmd/1.0.194 \
+ crate://crates.io/cxxbridge-flags/1.0.194 \
+ crate://crates.io/cxxbridge-macro/1.0.194 \
+ crate://crates.io/dissimilar/1.0.10 \
+ crate://crates.io/equivalent/1.0.2 \
+ crate://crates.io/errno/0.3.14 \
+ crate://crates.io/fastrand/2.3.0 \
+ crate://crates.io/find-msvc-tools/0.1.8 \
+ crate://crates.io/foldhash/0.2.0 \
+ crate://crates.io/getrandom/0.3.4 \
+ crate://crates.io/glob/0.3.3 \
+ crate://crates.io/hashbrown/0.16.1 \
+ crate://crates.io/indexmap/2.13.0 \
+ crate://crates.io/indoc/2.0.7 \
+ crate://crates.io/itoa/1.0.17 \
+ crate://crates.io/libc/0.2.180 \
+ crate://crates.io/link-cplusplus/1.0.12 \
+ crate://crates.io/linux-raw-sys/0.11.0 \
+ crate://crates.io/memchr/2.7.6 \
+ crate://crates.io/once_cell/1.21.3 \
+ crate://crates.io/proc-macro2/1.0.105 \
+ crate://crates.io/quote/1.0.43 \
+ crate://crates.io/r-efi/5.3.0 \
+ crate://crates.io/rustix/1.1.3 \
+ crate://crates.io/rustversion/1.0.22 \
+ crate://crates.io/scratch/1.0.9 \
+ crate://crates.io/serde/1.0.228 \
+ crate://crates.io/serde_core/1.0.228 \
+ crate://crates.io/serde_derive/1.0.228 \
+ crate://crates.io/serde_json/1.0.149 \
+ crate://crates.io/serde_spanned/1.0.4 \
+ crate://crates.io/shlex/1.3.0 \
+ crate://crates.io/strsim/0.11.1 \
+ crate://crates.io/syn/2.0.114 \
+ crate://crates.io/target-triple/1.0.0 \
+ crate://crates.io/tempfile/3.24.0 \
+ crate://crates.io/termcolor/1.4.1 \
+ crate://crates.io/toml/0.9.11+spec-1.1.0 \
+ crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \
+ crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \
+ crate://crates.io/toml_writer/1.0.6+spec-1.1.0 \
+ crate://crates.io/trybuild/1.0.114 \
+ crate://crates.io/unicode-ident/1.0.22 \
+ crate://crates.io/unicode-width/0.2.2 \
+ crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \
+ crate://crates.io/winapi-util/0.1.11 \
+ crate://crates.io/windows-link/0.2.1 \
+ crate://crates.io/windows-sys/0.61.2 \
+ crate://crates.io/winnow/0.7.14 \
+ crate://crates.io/wit-bindgen/0.51.0 \
+ crate://crates.io/zmij/1.0.16 \
+"
+
+SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
+SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
+SRC_URI[cc-1.2.53.sha256sum] = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"
+SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+SRC_URI[clap-4.5.54.sha256sum] = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394"
+SRC_URI[clap_builder-4.5.54.sha256sum] = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00"
+SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
+SRC_URI[codespan-reporting-0.13.1.sha256sum] = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681"
+SRC_URI[cxx-build-1.0.194.sha256sum] = "b0f4697d190a142477b16aef7da8a99bfdc41e7e8b1687583c0d23a79c7afc1e"
+SRC_URI[cxx-gen-0.7.194.sha256sum] = "035b6c61a944483e8a4b2ad4fb8b13830d63491bd004943716ad16d85dcc64bc"
+SRC_URI[cxx-test-suite-0.0.1.sha256sum] = "2a0a413bcefc6b37668d9eae784f5fe11232343e11101f1d1834163a509610e7"
+SRC_URI[cxxbridge-cmd-1.0.194.sha256sum] = "d0956799fa8678d4c50eed028f2de1c0552ae183c76e976cf7ca8c4e36a7c328"
+SRC_URI[cxxbridge-flags-1.0.194.sha256sum] = "23384a836ab4f0ad98ace7e3955ad2de39de42378ab487dc28d3990392cb283a"
+SRC_URI[cxxbridge-macro-1.0.194.sha256sum] = "e6acc6b5822b9526adfb4fc377b67128fdd60aac757cc4a741a6278603f763cf"
+SRC_URI[dissimilar-1.0.10.sha256sum] = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921"
+SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
+SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
+SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
+SRC_URI[find-msvc-tools-0.1.8.sha256sum] = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db"
+SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
+SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
+SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
+SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
+SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
+SRC_URI[indoc-2.0.7.sha256sum] = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
+SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
+SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
+SRC_URI[link-cplusplus-1.0.12.sha256sum] = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82"
+SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
+SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
+SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+SRC_URI[proc-macro2-1.0.105.sha256sum] = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
+SRC_URI[quote-1.0.43.sha256sum] = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
+SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
+SRC_URI[rustix-1.1.3.sha256sum] = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34"
+SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
+SRC_URI[scratch-1.0.9.sha256sum] = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2"
+SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
+SRC_URI[serde_spanned-1.0.4.sha256sum] = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
+SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
+SRC_URI[target-triple-1.0.0.sha256sum] = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b"
+SRC_URI[tempfile-3.24.0.sha256sum] = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c"
+SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+SRC_URI[toml-0.9.11+spec-1.1.0.sha256sum] = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46"
+SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347"
+SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44"
+SRC_URI[toml_writer-1.0.6+spec-1.1.0.sha256sum] = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
+SRC_URI[trybuild-1.0.114.sha256sum] = "3e17e807bff86d2a06b52bca4276746584a78375055b6e45843925ce2802b335"
+SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
+SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
+SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
+SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
+SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
+SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
+SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
+SRC_URI[zmij-1.0.16.sha256sum] = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65"
new file mode 100644
@@ -0,0 +1,34 @@
+SUMMARY = "Safe interoperability between Rust and C++"
+HOMEPAGE = "https://crates.io/crates/cxx"
+DESCRIPTION = "cxx is a library that enables safe and efficient interoperability \
+ between Rust and C++ code. It defines the FFI boundary in a single \
+ Rust module, allowing static analysis of types and function signatures \
+ for compatibility and safety. The library generates the necessary Rust \
+ and C++ bindings automatically during the build process. It provides near \
+ zero-overhead integration and supports idiomatic use of common Rust and C++ \
+ standard library types."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
+"
+
+SRC_URI = "crate://crates.io/cxx/${PV};name=cxx"
+SRC_URI[cxx.sha256sum] = "747d8437319e3a2f43d93b341c137927ca70c0f5dabeea7a005a73665e247c7e"
+
+S = "${CARGO_VENDORING_DIRECTORY}/cxx-${PV}"
+
+inherit cargo cargo-update-recipe-crates
+
+require ${BPN}-crates.inc
+
+do_install () {
+ install -d ${D}${rustlibdir}
+ # The cxx deps directory also contains dependency files (.d) generated
+ # during compilation. These files are only needed for incremental builds
+ # and are not required when installing the cxx libraries.
+ rm -f ${B}/target/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/*.d
+ cp ${B}/target/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
+}
+
+BBCLASSEXTEND = "native"