1load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") 2 3go_library( 4 name = "go_default_library", 5 srcs = select({ 6 "@io_bazel_rules_go//go/platform:darwin_amd64": [ 7 "cgo_darwin.go", 8 ], 9 "@io_bazel_rules_go//go/platform:darwin_arm64": [ 10 "cgo_darwin.go", 11 ], 12 "@io_bazel_rules_go//go/platform:linux_amd64": [ 13 "cgo_linux.go", 14 ], 15 "@io_bazel_rules_go//go/platform:windows_amd64": [ 16 "cgo_windows.go", 17 ], 18 }), 19 cdeps = select({ 20 "@io_bazel_rules_go//go/platform:darwin_amd64": [ 21 ":darwin_lib", 22 ], 23 "@io_bazel_rules_go//go/platform:darwin_arm64": [ 24 ":darwin_lib", 25 ], 26 "@io_bazel_rules_go//go/platform:linux_amd64": [ 27 ":linux_lib", 28 ], 29 "@io_bazel_rules_go//go/platform:windows_amd64": [ 30 ":windows_lib", 31 ], 32 }), 33 cgo = True, 34 importpath = "github.com/bazelbuild/rules_go/tests/cgo_select", 35) 36 37cc_library( 38 name = "darwin_lib", 39 srcs = ["darwin.c"], 40) 41 42cc_library( 43 name = "linux_lib", 44 srcs = ["linux.c"], 45) 46 47cc_library( 48 name = "windows_lib", 49 srcs = ["windows.c"], 50) 51 52go_test( 53 name = "go_default_test", 54 size = "small", 55 srcs = ["cgo_select_test.go"], 56 embed = [":go_default_library"], 57) 58