Skip to content

Conversation

namanlp
Copy link
Contributor

@namanlp namanlp commented Aug 28, 2025

This PR is continuation of my work on GSoC Project : Build Script Delegation

What does this PR try to resolve?

Through this PR, I want the user to be able to access each build script's OUT_DIR.

How to test and review this PR?

There is a feature gate multiple-build-scripts that can be passed via cargo-features in Cargo.toml. So, you have to add

cargo-features = ["multiple-build-scripts"]

Preferably on the top of the Cargo.toml and use nightly toolchain to use the feature

Then, you can access the OUT_DIR of given build script by accessing it like a compile time environment variable, for example:

const BUILD1_OUT_DIR: &'static str = env!("BUILD1_OUT_DIR");
const BUILD2_OUT_DIR: &'static str = env!("BUILD2_OUT_DIR");

fn main() {
    println!("{}", BUILD1_OUT_DIR);
    println!("{}", BUILD2_OUT_DIR);
}

@namanlp namanlp force-pushed the multiple-build-scripts-4 branch from 75ff71c to 0d5b7b0 Compare August 28, 2025 14:50
@rustbot rustbot added the A-build-scripts Area: build.rs scripts label Aug 28, 2025
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch 3 times, most recently from c0d23d2 to 6c8bc08 Compare September 7, 2025 12:37
@rustbot rustbot added the A-build-execution Area: anything dealing with executing the compiler label Sep 7, 2025
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch 4 times, most recently from 5581004 to c9e3081 Compare September 11, 2025 20:34
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch 2 times, most recently from 65b6c7f to 4117277 Compare September 15, 2025 21:11
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch 3 times, most recently from 16fb171 to 8f929ff Compare September 23, 2025 20:48
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch 2 times, most recently from 1ab5374 to b5150ef Compare September 29, 2025 20:29
@rustbot rustbot added the A-documenting-cargo-itself Area: Cargo's documentation label Sep 29, 2025
@namanlp namanlp marked this pull request as ready for review September 29, 2025 20:29
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 29, 2025
@rustbot
Copy link
Collaborator

rustbot commented Sep 29, 2025

r? @weihanglo

rustbot has assigned @weihanglo.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@namanlp
Copy link
Contributor Author

namanlp commented Sep 29, 2025

r? @epage

@rustbot rustbot assigned epage and unassigned weihanglo Sep 29, 2025
@epage epage changed the title [WIP] Accessing each build script's OUT_DIR Accessing each build script's OUT_DIR Sep 29, 2025
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch from b5150ef to 3df2913 Compare October 3, 2025 17:04
@namanlp namanlp force-pushed the multiple-build-scripts-4 branch from 3df2913 to 4d74451 Compare October 3, 2025 17:22
Copy link
Contributor

@epage epage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@epage epage added this pull request to the merge queue Oct 3, 2025
Merged via the queue into rust-lang:master with commit ed8b696 Oct 3, 2025
25 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 3, 2025
bors added a commit to rust-lang/rust that referenced this pull request Oct 4, 2025
Update cargo submodule

3 commits in 2394ea6cea8b26d717aa67eb1663a2dbf2d26078..801d9b4981dd07e3aecdca1ab86834c13615737e
2025-10-03 14:13:01 +0000 to 2025-10-04 13:30:15 +0000
- chore: Disabled `reserved_windows_name` test temporaily (rust-lang/cargo#16048)
- Add panic=immediate-abort support to Cargo (rust-lang/cargo#16041)
- Accessing each build script's `OUT_DIR` (rust-lang/cargo#15891)
@rustbot rustbot added this to the 1.92.0 milestone Oct 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-build-execution Area: anything dealing with executing the compiler A-build-scripts Area: build.rs scripts A-documenting-cargo-itself Area: Cargo's documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants