-
Couldn't load subscription status.
- Fork 61
Description
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.