xref: /aosp_15_r20/external/pytorch/third_party/opentelemetry-cpp.BUILD (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", "cc_library")
2*da0073e9SAndroid Build Coastguard Workerload("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag")
3*da0073e9SAndroid Build Coastguard Worker
4*da0073e9SAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"])
5*da0073e9SAndroid Build Coastguard Worker
6*da0073e9SAndroid Build Coastguard Workerbool_flag(
7*da0073e9SAndroid Build Coastguard Worker    name = "with_abseil",
8*da0073e9SAndroid Build Coastguard Worker    build_setting_default = False,
9*da0073e9SAndroid Build Coastguard Worker)
10*da0073e9SAndroid Build Coastguard Worker
11*da0073e9SAndroid Build Coastguard WorkerCPP_STDLIBS = [
12*da0073e9SAndroid Build Coastguard Worker    "none",
13*da0073e9SAndroid Build Coastguard Worker    "best",
14*da0073e9SAndroid Build Coastguard Worker    "2014",
15*da0073e9SAndroid Build Coastguard Worker    "2017",
16*da0073e9SAndroid Build Coastguard Worker    "2020",
17*da0073e9SAndroid Build Coastguard Worker    "2023",
18*da0073e9SAndroid Build Coastguard Worker]
19*da0073e9SAndroid Build Coastguard Worker
20*da0073e9SAndroid Build Coastguard Workerstring_flag(
21*da0073e9SAndroid Build Coastguard Worker    name = "with_cxx_stdlib",
22*da0073e9SAndroid Build Coastguard Worker    build_setting_default = "best",
23*da0073e9SAndroid Build Coastguard Worker    values = CPP_STDLIBS,
24*da0073e9SAndroid Build Coastguard Worker)
25*da0073e9SAndroid Build Coastguard Worker
26*da0073e9SAndroid Build Coastguard Workercc_library(
27*da0073e9SAndroid Build Coastguard Worker    name = "api",
28*da0073e9SAndroid Build Coastguard Worker    hdrs = glob(["include/**/*.h"]),
29*da0073e9SAndroid Build Coastguard Worker    defines = select({
30*da0073e9SAndroid Build Coastguard Worker        ":with_external_abseil": ["HAVE_ABSEIL"],
31*da0073e9SAndroid Build Coastguard Worker        "//conditions:default": [],
32*da0073e9SAndroid Build Coastguard Worker    }) + select({
33*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_none": [],
34*da0073e9SAndroid Build Coastguard Worker        ### automatic selection
35*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_best": ["OPENTELEMETRY_STL_VERSION=(__cplusplus/100)"],
36*da0073e9SAndroid Build Coastguard Worker        # See https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus
37*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_best_and_msvc": ["OPENTELEMETRY_STL_VERSION=(_MSVC_LANG/100)"],
38*da0073e9SAndroid Build Coastguard Worker        ### manual selection
39*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_2014": ["OPENTELEMETRY_STL_VERSION=2014"],
40*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_2017": ["OPENTELEMETRY_STL_VERSION=2017"],
41*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_2020": ["OPENTELEMETRY_STL_VERSION=2020"],
42*da0073e9SAndroid Build Coastguard Worker        ":set_cxx_stdlib_2023": ["OPENTELEMETRY_STL_VERSION=2023"],
43*da0073e9SAndroid Build Coastguard Worker        "//conditions:default": [],
44*da0073e9SAndroid Build Coastguard Worker    }),
45*da0073e9SAndroid Build Coastguard Worker    strip_include_prefix = "include",
46*da0073e9SAndroid Build Coastguard Worker    tags = ["api"],
47*da0073e9SAndroid Build Coastguard Worker    deps = select({
48*da0073e9SAndroid Build Coastguard Worker        ":with_external_abseil": [
49*da0073e9SAndroid Build Coastguard Worker            "@com_google_absl//absl/base",
50*da0073e9SAndroid Build Coastguard Worker            "@com_google_absl//absl/strings",
51*da0073e9SAndroid Build Coastguard Worker            "@com_google_absl//absl/types:variant",
52*da0073e9SAndroid Build Coastguard Worker        ],
53*da0073e9SAndroid Build Coastguard Worker        "//conditions:default": [],
54*da0073e9SAndroid Build Coastguard Worker    }),
55*da0073e9SAndroid Build Coastguard Worker)
56*da0073e9SAndroid Build Coastguard Worker
57*da0073e9SAndroid Build Coastguard Workerconfig_setting(
58*da0073e9SAndroid Build Coastguard Worker    name = "with_external_abseil",
59*da0073e9SAndroid Build Coastguard Worker    flag_values = {":with_abseil": "true"},
60*da0073e9SAndroid Build Coastguard Worker)
61*da0073e9SAndroid Build Coastguard Worker
62*da0073e9SAndroid Build Coastguard Worker[config_setting(
63*da0073e9SAndroid Build Coastguard Worker    name = "set_cxx_stdlib_%s" % v,
64*da0073e9SAndroid Build Coastguard Worker    flag_values = {":with_cxx_stdlib": v},
65*da0073e9SAndroid Build Coastguard Worker) for v in CPP_STDLIBS]
66*da0073e9SAndroid Build Coastguard Worker
67*da0073e9SAndroid Build Coastguard Workerconfig_setting(
68*da0073e9SAndroid Build Coastguard Worker    name = "set_cxx_stdlib_best_and_msvc",
69*da0073e9SAndroid Build Coastguard Worker    constraint_values = ["@bazel_tools//tools/cpp:msvc"],
70*da0073e9SAndroid Build Coastguard Worker    flag_values = {":with_cxx_stdlib": "best"},
71*da0073e9SAndroid Build Coastguard Worker)
72