You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
4.0 KiB
201 lines
4.0 KiB
# 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", |
|
], |
|
)
|
|
|