From 224a39a853c892d5b8e9eb0e797138a7958fface Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 1 Mar 2023 01:00:56 +0100 Subject: [PATCH] Revert "Add automatic platform detection from inbound crosstool_top and cpu (#2859)" This reverts commit 026db6df5ad760e9002f627bdb4f6b695c04d76a. --- go/platform/crosstool.bzl | 58 --------------------------------- go/private/rules/transition.bzl | 13 -------- go/tools/builders/stdlib.go | 5 --- 3 files changed, 76 deletions(-) delete mode 100644 go/platform/crosstool.bzl diff --git a/go/platform/crosstool.bzl b/go/platform/crosstool.bzl deleted file mode 100644 index 725a6ddaae..0000000000 --- a/go/platform/crosstool.bzl +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2020 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -def _match_apple(_crosstool_top, cpu): - """_match_apple will try to detect wether the inbound crosstool/cpu is - targeting the Apple ecosystem. Apple crosstool CPUs are prefixed, so - matching is easy.""" - platform = { - "darwin_x86_64": "darwin_amd64", - "ios_arm64": "ios_arm64", - "ios_armv7": "ios_arm", - "ios_i386": "ios_386", - "ios_x86_64": "ios_amd64", - }.get(cpu) - if platform: - return "{}_cgo".format(platform) - return None - -def _match_android(crosstool_top, cpu): - """_match_android will try to detect wether the inbound crosstool is the - Android NDK toolchain. It can either be `//external:android/crosstool` or be - part of the `@androidndk` workspace. After that, translate Android CPUs to - Go CPUs.""" - if str(crosstool_top) == "//external:android/crosstool" or \ - crosstool_top.workspace_name == "androidndk": - platform_cpu = { - "arm64-v8a": "arm64", - "armeabi-v7a": "arm", - "x86": "386", - "x86_64": "amd64", - }.get(cpu) - if platform_cpu: - return "android_{}_cgo".format(platform_cpu) - return None - -def platform_from_crosstool(crosstool_top, cpu): - """platform_from_crosstool runs matchers against the crosstool_top/cpu pair - to automatically infer the target platform.""" - matchers = [ - _match_apple, - _match_android, - ] - for matcher in matchers: - platform = matcher(crosstool_top, cpu) - if platform: - return "@io_bazel_rules_go//go/toolchain:{}".format(platform) - return None diff --git a/go/private/rules/transition.bzl b/go/private/rules/transition.bzl index a2db610127..c4cc81ffab 100644 --- a/go/private/rules/transition.bzl +++ b/go/private/rules/transition.bzl @@ -32,10 +32,6 @@ load( "GoLibrary", "GoSource", ) -load( - "//go/platform:crosstool.bzl", - "platform_from_crosstool", -) # A list of rules_go settings that are possibly set by go_transition. # Keep their package name in sync with the implementation of @@ -95,8 +91,6 @@ def _go_transition_impl(settings, attr): goos = getattr(attr, "goos", "auto") goarch = getattr(attr, "goarch", "auto") - crosstool_top = settings.pop("//command_line_option:crosstool_top") - cpu = settings.pop("//command_line_option:cpu") _check_ternary("pure", pure) if goos != "auto" or goarch != "auto": if goos == "auto": @@ -109,11 +103,6 @@ def _go_transition_impl(settings, attr): fail('pure is "off" but cgo is not supported on {} {}'.format(goos, goarch)) platform = "@io_bazel_rules_go//go/toolchain:{}_{}{}".format(goos, goarch, "_cgo" if cgo else "") settings["//command_line_option:platforms"] = platform - else: - # If not auto, try to detect the platform the inbound crosstool/cpu. - platform = platform_from_crosstool(crosstool_top, cpu) - if platform: - settings["//command_line_option:platforms"] = platform tags = getattr(attr, "gotags", []) if tags: @@ -171,8 +160,6 @@ request_nogo_transition = transition( go_transition = transition( implementation = _go_transition_impl, inputs = [ - "//command_line_option:cpu", - "//command_line_option:crosstool_top", "//command_line_option:platforms", ] + TRANSITIONED_GO_SETTING_KEYS, outputs = [ diff --git a/go/tools/builders/stdlib.go b/go/tools/builders/stdlib.go index 1ac0a25425..1fc6a040ff 100644 --- a/go/tools/builders/stdlib.go +++ b/go/tools/builders/stdlib.go @@ -103,11 +103,6 @@ You may need to use the flags --cpu=x64_windows --compiler=mingw-gcc.`) b.WriteString(sep) sep = "|" b.WriteString(regexp.QuoteMeta(f)) - // If the flag if -framework, the flag value needs to be in the same - // condition. - if f == "-framework" { - sep = " " - } } os.Setenv("CGO_LDFLAGS_ALLOW", b.String()) os.Setenv("GODEBUG", "installgoroot=all")