Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build dependency awareness #1251

Closed
alexcrichton opened this issue Jan 29, 2015 · 5 comments · Fixed by #7565
Closed

Build dependency awareness #1251

alexcrichton opened this issue Jan 29, 2015 · 5 comments · Fixed by #7565
Labels
A-build-scripts Area: build.rs scripts A-documenting-cargo-itself Area: Cargo's documentation C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`

Comments

@alexcrichton
Copy link
Member

As issues like #1240 and #888 talk about, build scripts are not exactly trivial to write right now. We've got a fantastic system for making them easier to write via build-dependencies, but there's no current great way to discover build dependencies.

I think that we need a better strategy for promoting build dependencies, raising awareness about them, and generally discouraging "please install these 4 libs" sections of READMEs in favor of having scripts themselves take care of the necessities.

Some possible ideas:

  • Add an "official" build-dependency keyword on crates.io
  • Add a curated list of known build dependencies that are good for use.
  • Expand documentation about build dependencies and how best to utilize them
  • Have a list of "wanted build dependencies" for functionality that should be in a separate crate but currently isn't

I do think that some work is going to be need to put into writing some new build dependencies as I have a feeling we're still lacking some basic utilities. It's good track some of this though!

@kornelski
Copy link
Contributor

kornelski commented Jan 30, 2015

I've searched crates.io for "automake", "autotools", "configure", "cmake" and haven't found anything that would be able to integrate with C toolchain, so help there would be great!

@alexcrichton alexcrichton added the P-high Priority: High label Jan 30, 2015
@brson brson removed the P-high Priority: High label Jun 23, 2016
@pnkfelix
Copy link
Member

cc me

@brson
Copy link
Contributor

brson commented Jun 23, 2016

@alexcrichton Removed P-high since this is inactive.

@sanxiyn
Copy link
Member

sanxiyn commented Jun 23, 2016

Update? This issue started from #888 which is basically that src/doc/build-script.md used handwavy cc crate. But #1760 changed the documentation to use actually existing gcc crate, and added example of adding build-dependencies section to Cargo.toml.

@alexcrichton
Copy link
Member Author

This is still a pretty hand-wavy bug, but I don't think it's done in the sense that there's not a one-stop-shop for "how do I write this build script" or things like "best build script practices" yet.

@carols10cents carols10cents added A-build-scripts Area: build.rs scripts A-documenting-cargo-itself Area: Cargo's documentation C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted` labels Sep 10, 2017
@bors bors closed this as completed in 22b08c4 Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-build-scripts Area: build.rs scripts A-documenting-cargo-itself Area: Cargo's documentation C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants