Skip to content

Commit

Permalink
cc_configure: more generic msys_root discovery
Browse files Browse the repository at this point in the history
See bazelbuild#2725
Related to bazelbuild#2447

--
Change-Id: I5cc7fba43ae46bc9ef47bcaf9efaf2a0b9911bc4
Reviewed-on: https://cr.bazel.build/9468
PiperOrigin-RevId: 150881196
MOS_MIGRATED_REVID=150881196
  • Loading branch information
laszlocsomor authored and hermione521 committed Mar 23, 2017
1 parent 01eb89a commit 832548d
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions tools/cpp/cc_configure.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -306,19 +306,13 @@ def _get_windows_msys_crosstool_content(repository_ctx):
bazel_sh = _get_env_var(repository_ctx, "BAZEL_SH").replace("\\", "/").lower()
tokens = bazel_sh.rsplit("/", 1)
msys_root = None
# while-loops are not supported in order to avoid Turing-completeness.
# Use a for-loop, we know it'll halt in at most len(tokens[0]) steps.
for _ in range(len(tokens[0])):
if len(tokens) < 2:
break
if tokens[1].startswith("msys"):
msys_root = tokens[0] + "/" + tokens[1] + "/"
break
else:
tokens = tokens[0].rsplit("/", 1)
if tokens[0].endswith("/usr/bin"):
msys_root = tokens[0][:len(tokens[0]) - len("usr/bin")]
elif tokens[0].endswith("/bin"):
msys_root = tokens[0][:len(tokens[0]) - len("bin")]
if not msys_root:
auto_configure_fail(
"Could not determine MSYS root from BAZEL_SH (%s)" % bazel_sh)
"Could not determine MSYS/Cygwin root from BAZEL_SH (%s)" % bazel_sh)
return (
' abi_version: "local"\n' +
' abi_libc_version: "local"\n' +
Expand Down

0 comments on commit 832548d

Please sign in to comment.