202 lines
4.0 KiB
Python
202 lines
4.0 KiB
Python
# Copyright The OpenTelemetry Authors
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# gcc and clang, assumed to be used on this platform
|
|
DEFAULT_NOWIN_COPTS = [
|
|
"-fvisibility=default",
|
|
]
|
|
|
|
# gcc and clang, assumed to be used on this platform
|
|
HIDDEN_NOWIN_COPTS = [
|
|
"-fvisibility=hidden",
|
|
]
|
|
|
|
cc_library(
|
|
name = "component_a",
|
|
srcs = [
|
|
"component_a.cc",
|
|
],
|
|
hdrs = [
|
|
"component_a.h",
|
|
],
|
|
linkstatic = True,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "component_b",
|
|
srcs = [
|
|
"component_b.cc",
|
|
],
|
|
hdrs = [
|
|
"component_b.h",
|
|
],
|
|
linkstatic = True,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "component_c",
|
|
srcs = [
|
|
"component_c.cc",
|
|
],
|
|
hdrs = [
|
|
"component_c.h",
|
|
],
|
|
copts = DEFAULT_NOWIN_COPTS,
|
|
linkstatic = False,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "component_d",
|
|
srcs = [
|
|
"component_d.cc",
|
|
],
|
|
hdrs = [
|
|
"component_d.h",
|
|
],
|
|
copts = HIDDEN_NOWIN_COPTS,
|
|
linkstatic = False,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "component_e",
|
|
srcs = [
|
|
"component_e.cc",
|
|
],
|
|
hdrs = [
|
|
"component_e.h",
|
|
],
|
|
copts = DEFAULT_NOWIN_COPTS,
|
|
linkstatic = False,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "component_f",
|
|
srcs = [
|
|
"component_f.cc",
|
|
],
|
|
hdrs = [
|
|
"component_f.h",
|
|
],
|
|
copts = HIDDEN_NOWIN_COPTS,
|
|
linkstatic = False,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
# no cc_shared_library in bazel 4.2
|
|
cc_binary(
|
|
name = "component_g",
|
|
srcs = [
|
|
"component_g.cc",
|
|
],
|
|
copts = DEFAULT_NOWIN_COPTS,
|
|
linkshared = True,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
# no cc_shared_library in bazel 4.2
|
|
cc_binary(
|
|
name = "component_h",
|
|
srcs = [
|
|
"component_h.cc",
|
|
],
|
|
copts = HIDDEN_NOWIN_COPTS,
|
|
linkshared = True,
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"//api",
|
|
],
|
|
)
|
|
|
|
#
|
|
# To build this test alone:
|
|
# - bazel build //api/test/singleton:singleton_test
|
|
# - bazel build //api/test/singleton:component_g
|
|
# - bazel build //api/test/singleton:component_h
|
|
#
|
|
# Note that singleton_test does not depend on
|
|
# component_g and component_h, on purpose.
|
|
#
|
|
# To run this test:
|
|
# bazel test //api/test/singleton:singleton_test
|
|
#
|
|
|
|
cc_test(
|
|
name = "singleton_test",
|
|
srcs = [
|
|
"singleton_test.cc",
|
|
],
|
|
defines = ["BAZEL_BUILD"],
|
|
linkopts = [
|
|
"-ldl",
|
|
],
|
|
linkstatic = False,
|
|
tags = [
|
|
"api",
|
|
"test",
|
|
],
|
|
target_compatible_with = select({
|
|
"//bazel:windows": ["@platforms//:incompatible"],
|
|
"//conditions:default": [],
|
|
}),
|
|
deps = [
|
|
"component_a",
|
|
"component_b",
|
|
"component_c",
|
|
"component_d",
|
|
"component_e",
|
|
"component_f",
|
|
"//api",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|