-
Notifications
You must be signed in to change notification settings - Fork 420
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
Encoded CFLAGS
for supporting spaces
#847
Comments
While that might be possible to address in cc-rs, it still seems likely to break in other build systems, such as invocations of make, which don't have a solution to this problem. |
@joshtriplett does |
I'm talking about the latter: cc-rs doesn't seem like the right place to unilaterally propagate a new standard for passing CFLAGS that no other build system will understand. |
There admittedly are plenty of people just using |
According to https://github.com/rust-lang/cc-rs/#external-configuration-via-environment-variables spaces nor escapes for spaces are not supported in e.g.
C(XX)FLAGS
. Inxbuild
we useCFLAGS
to set a--sysroot
path, and this can occasionally contain spaces on Windows machines (because the toolchain is unpacked to a user folder, and users like to haveFirstname Surname
as username and profile directory).A likable solution is new
CARGO_ENCODED_RUSTFLAGS
-like variables, where spaces within individual args are supported by requiring the user to replace space delimiters in between separate arguments with the\x1f
ASCII Unit Separator: https://doc.rust-lang.org/cargo/reference/environment-variables.html, to allow more mechanical piecing-together of these variables without messing around with nested quotes or backslash-escapes.Referencing rust-mobile/xbuild#124, where this is one of the deciding factors to build our Android compiler support differently.
The text was updated successfully, but these errors were encountered: