Making sys crates - documented


#1

I’m writing a post about making Rust -sys crates. Please review it and leave feedback!


#2

This is really awesome! I’ve tried making *-sys crates in the past and found you waste a lot of time just figuring out what to do because the process wasn’t well documented.

I like how you’ve got an explicit section about linker surprises! There have been a couple times where I’ve made a *-sys crate and thought I’d done everything right, only to encounter ugly linker errors higher up in the dependency tree.

EDIT: moved questions/clarifications over to a proper review on github


#3

This was an excellent read. Thank you so much for writing it!


#4

Thank you for taking the time to write this! Super useful guide!


#5

A great read - thanks! As one who stumbled through most of this by blood and sweat I really appreciate it seeing it written up.

One minor suggestion would be that as you describe the certain pieces maybe link one or two crates who do that so people can go look and be like “oh, this is how you do it in actual code”, since its always not that easy to translate over from theory into code lines of the build.rs.


#6

There are already tons of these links, which was really nice to see. They are inline in the text though, so you might have missed them!


#7

ah good point - my eyes must’ve glanced over them! :slight_smile: