|
|
Chromium Code Reviews
Descriptionclang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
R=hans@chromium.org, scottmg@chromium.org
Committed: https://chromium.googlesource.com/chromium/src/+/42bff43d05a5272b3e697e52801c266c04b59bc8
Patch Set 1 #
Total comments: 2
Patch Set 2 : also filter empty #Messages
Total messages: 17 (9 generated)
The CQ bit was checked by thakis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
thakis@chromium.org changed reviewers: + scottmg@chromium.org
I don't have a system install of 2015, so I only tested that this doesn't break the hermetic toolchain case. But it should make the non-hermetic toolchain case go in theory...
Ah, I was wondering why it's a clang-only problem, but makes sense that it's only the system headers flag. lgtm
hans@chromium.org changed reviewers: + hans@chromium.org
On 2016/08/23 14:48:18, Nico wrote: > I don't have a system install of 2015, so I only tested that this doesn't break > the hermetic toolchain case. But it should make the non-hermetic toolchain case > go in theory... Let me try it out locally real quick.. https://codereview.chromium.org/2276513002/diff/1/build/toolchain/win/setup_t... File build/toolchain/win/setup_toolchain.py (right): https://codereview.chromium.org/2276513002/diff/1/build/toolchain/win/setup_t... build/toolchain/win/setup_toolchain.py:210: include = [include_prefix + p for p in env['INCLUDE'].split(';')] Should we remove empty components from the result of the split? In the bug we're ending up with an empty -imsvc option.
Description was changed from
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
BUG=640000
==========
to
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
==========
https://codereview.chromium.org/2276513002/diff/1/build/toolchain/win/setup_t... File build/toolchain/win/setup_toolchain.py (right): https://codereview.chromium.org/2276513002/diff/1/build/toolchain/win/setup_t... build/toolchain/win/setup_toolchain.py:210: include = [include_prefix + p for p in env['INCLUDE'].split(';')] On 2016/08/23 15:16:54, hans wrote: > Should we remove empty components from the result of the split? In the bug we're > ending up with an empty -imsvc option. Yes, we should (...but we really shouldn't have those in the first place :-/) Hm, I guess we don't control that if we rely on vcvarsall. Done.
The CQ bit was checked by thakis@chromium.org to run a CQ dry run
On 2016/08/23 15:16:54, hans wrote:
> On 2016/08/23 14:48:18, Nico wrote:
> > I don't have a system install of 2015, so I only tested that this doesn't
> break
> > the hermetic toolchain case. But it should make the non-hermetic toolchain
> case
> > go in theory...
>
> Let me try it out locally real quick..
The quoting works but we still have the problem with an empty -imsvc option, now
quoted ending up in toolchain.ninja:
"-imsvc" ${defines}
And the quotes don't fix the problem there.
How about starting with something like:
includes = filter(len, env['INCLUDE'].split(';')]) ?
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The new patch version works beautifully. lgtm
Message was sent while issue was closed.
Description was changed from
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
==========
to
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
R=hans@chromium.org, scottmg@chromium.org
Committed: https://crrev.com/42bff43d05a5272b3e697e52801c266c04b59bc8
Cr-Commit-Position: refs/heads/master@{#413742}
==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/42bff43d05a5272b3e697e52801c266c04b59bc8 Cr-Commit-Position: refs/heads/master@{#413742}
Message was sent while issue was closed.
Description was changed from
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
R=hans@chromium.org, scottmg@chromium.org
Committed: https://crrev.com/42bff43d05a5272b3e697e52801c266c04b59bc8
Cr-Commit-Position: refs/heads/master@{#413742}
==========
to
==========
clang/win: Support spaces in Visual Studio directory name
The hermetic toolchain in depot_tools usually doesn't contain spaces,
but system MSVC usually does ("Program Files"). Escape spaces once
for the shell, and use gn_helpers to escape a second time for gn,
instead of asserting that no " is in the path -- that's no longer
true since the first level of quoting adds some.
Also filter out empty include directories, since -msvc always combines
with what's after it.
BUG=640000
R=hans@chromium.org, scottmg@chromium.org
Committed:
https://chromium.googlesource.com/chromium/src/+/42bff43d05a5272b3e697e52801c...
==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as 42bff43d05a5272b3e697e52801c266c04b59bc8 (presubmit successful). |
