-
Notifications
You must be signed in to change notification settings - Fork 60
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
Rustc args: strings vs vectors & extracting link directories #149
Comments
Related: #148 |
Yes, I agree, splitting by whitespace is dangerous and wrong, I had this discussion in #81. We concluded at that time that what should ideally be changed is But maybe we can sidestep the problem, by internally storing them somewhere else/outside of |
See also #84, which wasn't merged. |
@laumann
We need to parse the flags in utility methods like
.clean_rmeta()
which proves to be quite painful, e.g. link flags could be either-Lfoo
or-L foo
or-Lnative=foo
, etc. The current method of splitting by whitespace is wrong and generally dangerous. It would also be hard to handle paths with spaces correctly.One possible suggestion: instead, store flags as
Vec<String>
, so we can at least skip parsing quotes, whitespace, etc; each flags and its (optional) value to be stored in each element. An example would be["-Lfoo", "-L", "foo", "-Lnative=foo"]
. This would obviously be a breaking change.Another option would be to still store flags as strings but only perform cleaning in the "default" locations (those added by the
.link_deps()
), but then the user folders would be ignored.Finally, yet another option: still store flags as strings, but store link flags separately, link
link_flags
. It's also a little weird since then there would be an overlap.The text was updated successfully, but these errors were encountered: