Merge pull request #48573 from jmillikin-stripe/build-kubectl-on-darwin

Automatic merge from submit-queue (batch tested with PRs 51047, 48573, 50764, 51092, 50578)

Use `select` to disable building static binaries if `--cpu=darwin`.

This change allows kubectl to be built on MacOS machines using
`bazel build //cmd/kubectl`.
    
Mac OS X doesn't support static binaries because it does not have a
stable syscall API. Userspace binaries are expected to dynamically
link against libcrt instead.
    
https://developer.apple.com/library/content/qa/qa1118/_index.html

```release-note
None
```
This commit is contained in:
Kubernetes Submit Queue 2017-08-23 17:56:02 -07:00 committed by GitHub
commit 4385382364

View File

@ -7,12 +7,17 @@ load("//pkg/version:def.bzl", "version_x_defs")
go_binary(
name = "kubectl",
gc_linkopts = [
"-linkmode",
"external",
"-extldflags",
"-static",
],
gc_linkopts = select({
# Mac OS X doesn't support static binaries:
# https://developer.apple.com/library/content/qa/qa1118/_index.html
"@io_bazel_rules_go//go/platform:darwin_amd64": [],
"//conditions:default": [
"-linkmode",
"external",
"-extldflags",
"-static",
],
}),
library = ":go_default_library",
visibility = [
"//build/visible_to:COMMON_release",