a) Does anyone
else think that this issue is going to affect them when using their own
toolchains?
Speaking in terms of the two aspects I
mentioned previously, I might say, that the aspect #1 is now fixed for the gnu
make, since GnuBuildfileGenerator is now capable of handling spaces, so no
problems should occur for ISVs using gnu make and GnuMakefileGenerator in their
tool-chains. In case one wants to use and integrate some custom builder, than
it would be up to the buildfile generator implementer to handle spaces and any
special characters correctly.
BUT the aspect #2 is still an issue for
any tool-chain/builder including gnu make. I’ve raised two additional
bugs related to the space problem handling in MBS core:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=117892
https://bugs.eclipse.org/bugs/show_bug.cgi?id=117873
[Recoskie, Chris] This is not entirely correct. The GNU
generator works fine only if you’re using GNU make under a UNIX-like
shell. GNU make is also available as a native Windows binary (i.e. not a
CygWin program). This is the case where it breaks down (for my own personal
uses I’ve worked around it by extending GnuMakefileGenerator and doing
the OBJS_QUOTED thing). So, you can be using GNU make and still have problems.
Really what we have is a “GNU make on a UNIX-like shell” generator.
>b) Does anyone
else think that this might be an issue that affects other parts of CDT?
(Launching/Debugging comes to mind… e.g. will launching a debug session
fail if you try to debug an executable with spaces in the name?)
I think we should differentiate the
different “using spaces” problems. From the MBS point of view this
is an issue related to handling the external builder utility and the shell
logic of treating spaces and special characters.
From the launching/debugging point of view
this might be quite another issue not related with the external builder and a
shell used by that builder. The different issues might need different and
unrelated approaches of fixing them.
[Recoskie, Chris] Agreed, but if we find that
(hypothetically – not advocating this yet) that we need some sort of
extension point or user preferences for shell properties, it makes sense for
that to be a common thing that all parts of CDT can leverage.