What does `cargo:backends` mean in build.rs?

The package gtk3-rs has this line on build.rs:

I'm trying to find how it instructs the compiler for C dependencies, but I couldn't find what cargo:backends stands for.

How does this leads to -lX11 being added for linkage?

I believe this is just arbitary key/value metadata that gets passed down to dependent packages, as mentioned here: https://doc.rust-lang.org/cargo/reference/build-scripts.html#the-links-manifest-key

Something in another crate's build script will be looking for the DEP_GDK_BACKENDS variable that gets defined as a result.

I couldn't find any other place in this lib that uses DEP_GDK_BACKENDS. My main problem is that I'm building a shared library instead of a binary, using gtk3-rs, so it tries to link with libX11.a. I need to find where in gtk3-rs it links with X11. I know that one of the backends is x11 but the .a part is still a mistery

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.