| load("@io_bazel_rules_go//go:def.bzl", "go_binary") |
| |
| go_binary( |
| name = "adder_archive", |
| srcs = ["add.go"], |
| cgo = True, |
| linkmode = "c-archive", |
| tags = ["manual"], |
| ) |
| |
| cc_test( |
| name = "c-archive_test", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["add_test_archive.c"], |
| }), |
| deps = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": [":adder_archive"], |
| }), |
| ) |
| |
| go_binary( |
| name = "c-archive_empty_hdr", |
| srcs = ["empty.go"], |
| cgo = True, |
| linkmode = "c-archive", |
| tags = ["manual"], |
| ) |
| |
| cc_test( |
| name = "c-archive_empty_hdr_test", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["c-archive_empty_hdr_test.c"], |
| }), |
| deps = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": [":c-archive_empty_hdr"], |
| }), |
| ) |
| |
| go_binary( |
| name = "adder_shared", |
| srcs = ["add.go"], |
| cgo = True, |
| linkmode = "c-shared", |
| tags = ["manual"], |
| ) |
| |
| cc_test( |
| name = "c-shared_test", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["add_test_shared.c"], |
| }), |
| deps = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": [":adder_shared"], |
| }), |
| ) |
| |
| go_binary( |
| name = "crypto", |
| srcs = [":crypto.go"], |
| cgo = True, |
| linkmode = "c-shared", |
| tags = ["manual"], |
| deps = ["@org_golang_x_crypto//nacl/box:go_default_library"], |
| ) |
| |
| cc_test( |
| name = "c-shared_dl_test", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["crypto_test_dl.c"], |
| }), |
| copts = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": ['-DSO=\\"$(rootpath :crypto)\\"'], |
| }), |
| data = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": [":crypto"], |
| }), |
| linkopts = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": ["-ldl"], |
| }), |
| ) |
| |
| cc_library( |
| name = "adder_sandwich_cc", |
| srcs = ["add_sandwich.c"], |
| hdrs = ["add_sandwich.h"], |
| linkstatic = True, |
| alwayslink = True, |
| ) |
| |
| go_binary( |
| name = "adder_sandwich_archive", |
| srcs = ["add_sandwich.go"], |
| cdeps = [":adder_sandwich_cc"], |
| cgo = True, |
| linkmode = "c-archive", |
| tags = ["manual"], |
| ) |
| |
| cc_test( |
| name = "c-archive_sandwich_test", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["add_test_sandwich.c"], |
| }), |
| deps = select({ |
| "@io_bazel_rules_go//go/platform:windows": [], |
| "//conditions:default": [":adder_sandwich_archive"], |
| }), |
| ) |
| |
| go_binary( |
| name = "go_with_cgo_dep", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["empty.go"], |
| "//conditions:default": ["go_with_cgo_dep.go"], |
| }), |
| cgo = True, |
| linkmode = "c-archive", |
| deps = ["@org_golang_x_sys//unix"], |
| ) |
| |
| cc_binary( |
| name = "go_with_cgo_dep_caller", |
| srcs = select({ |
| "@io_bazel_rules_go//go/platform:windows": ["skip.c"], |
| "//conditions:default": ["go_with_cgo_dep_caller.cc"], |
| }), |
| deps = [":go_with_cgo_dep"], |
| ) |