xref: /aosp_15_r20/external/pytorch/third_party/glog.buck.bzl (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard WorkerGLOG_CONFIG_HEADERS = [
2*da0073e9SAndroid Build Coastguard Worker    "vlog_is_on.h",
3*da0073e9SAndroid Build Coastguard Worker    "stl_logging.h",
4*da0073e9SAndroid Build Coastguard Worker    "raw_logging.h",
5*da0073e9SAndroid Build Coastguard Worker    "logging.h",
6*da0073e9SAndroid Build Coastguard Worker]
7*da0073e9SAndroid Build Coastguard Worker
8*da0073e9SAndroid Build Coastguard WorkerGLOG_SED_COMMAND = " ".join([
9*da0073e9SAndroid Build Coastguard Worker    "sed",
10*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_cxx_using_operator@/1/g'",
11*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_unistd_h@/1/g'",
12*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_stdint_h@/1/g'",
13*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_systypes_h@/1/g'",
14*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_libgflags@/0/g'",
15*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_uint16_t@/1/g'",
16*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have___builtin_expect@/1/g'",
17*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv_have_.*@/0/g'",
18*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_google_start_namespace@/namespace google {/g'",
19*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_google_end_namespace@/}/g'",
20*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_google_namespace@/google/g'",
21*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv___attribute___noinline@/__attribute__((noinline))/g'",
22*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv___attribute___noreturn@/__attribute__((noreturn))/g'",
23*da0073e9SAndroid Build Coastguard Worker    "-e 's/@ac_cv___attribute___printf_4_5@/__attribute__((__format__ (__printf__, 4, 5)))/g'",
24*da0073e9SAndroid Build Coastguard Worker])
25*da0073e9SAndroid Build Coastguard Worker
26*da0073e9SAndroid Build Coastguard Workerdef define_glog():
27*da0073e9SAndroid Build Coastguard Worker    cxx_library(
28*da0073e9SAndroid Build Coastguard Worker        name = "glog",
29*da0073e9SAndroid Build Coastguard Worker        srcs = [
30*da0073e9SAndroid Build Coastguard Worker            "glog/src/demangle.cc",
31*da0073e9SAndroid Build Coastguard Worker            "glog/src/vlog_is_on.cc",
32*da0073e9SAndroid Build Coastguard Worker            "glog/src/symbolize.cc",
33*da0073e9SAndroid Build Coastguard Worker            "glog/src/raw_logging.cc",
34*da0073e9SAndroid Build Coastguard Worker            "glog/src/logging.cc",
35*da0073e9SAndroid Build Coastguard Worker            "glog/src/signalhandler.cc",
36*da0073e9SAndroid Build Coastguard Worker            "glog/src/utilities.cc",
37*da0073e9SAndroid Build Coastguard Worker        ],
38*da0073e9SAndroid Build Coastguard Worker        exported_headers = [":glog_{}".format(header) for header in GLOG_CONFIG_HEADERS],
39*da0073e9SAndroid Build Coastguard Worker        header_namespace = "glog",
40*da0073e9SAndroid Build Coastguard Worker        compiler_flags = [
41*da0073e9SAndroid Build Coastguard Worker            "-Wno-sign-compare",
42*da0073e9SAndroid Build Coastguard Worker            "-Wno-unused-function",
43*da0073e9SAndroid Build Coastguard Worker            "-Wno-unused-local-typedefs",
44*da0073e9SAndroid Build Coastguard Worker            "-Wno-unused-variable",
45*da0073e9SAndroid Build Coastguard Worker            "-Wno-deprecated-declarations",
46*da0073e9SAndroid Build Coastguard Worker        ],
47*da0073e9SAndroid Build Coastguard Worker        preferred_linkage = "static",
48*da0073e9SAndroid Build Coastguard Worker        exported_linker_flags = [],
49*da0073e9SAndroid Build Coastguard Worker        exported_preprocessor_flags = [
50*da0073e9SAndroid Build Coastguard Worker            "-DGLOG_NO_ABBREVIATED_SEVERITIES",
51*da0073e9SAndroid Build Coastguard Worker            "-DGLOG_STL_LOGGING_FOR_UNORDERED",
52*da0073e9SAndroid Build Coastguard Worker            "-DGOOGLE_GLOG_DLL_DECL=",
53*da0073e9SAndroid Build Coastguard Worker            "-DGOOGLE_NAMESPACE=google",
54*da0073e9SAndroid Build Coastguard Worker            # this is required for buck build
55*da0073e9SAndroid Build Coastguard Worker            "-DGLOG_BAZEL_BUILD",
56*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_PTHREAD",
57*da0073e9SAndroid Build Coastguard Worker            # Allows src/logging.cc to determine the host name.
58*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_SYS_UTSNAME_H",
59*da0073e9SAndroid Build Coastguard Worker            # For src/utilities.cc.
60*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_SYS_SYSCALL_H",
61*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_SYS_TIME_H",
62*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_STDINT_H",
63*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_STRING_H",
64*da0073e9SAndroid Build Coastguard Worker            # Enable dumping stacktrace upon sigaction.
65*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_SIGACTION",
66*da0073e9SAndroid Build Coastguard Worker            # For logging.cc.
67*da0073e9SAndroid Build Coastguard Worker            "-DHAVE_PREAD",
68*da0073e9SAndroid Build Coastguard Worker            "-DHAVE___ATTRIBUTE__",
69*da0073e9SAndroid Build Coastguard Worker        ],
70*da0073e9SAndroid Build Coastguard Worker        deps = [":glog_config"],
71*da0073e9SAndroid Build Coastguard Worker        soname = "libglog.$(ext)",
72*da0073e9SAndroid Build Coastguard Worker        visibility = ["PUBLIC"],
73*da0073e9SAndroid Build Coastguard Worker    )
74*da0073e9SAndroid Build Coastguard Worker
75*da0073e9SAndroid Build Coastguard Worker    cxx_library(
76*da0073e9SAndroid Build Coastguard Worker        name = "glog_config",
77*da0073e9SAndroid Build Coastguard Worker        header_namespace = "",
78*da0073e9SAndroid Build Coastguard Worker        exported_headers = {
79*da0073e9SAndroid Build Coastguard Worker            "config.h": ":glog_config.h",
80*da0073e9SAndroid Build Coastguard Worker            "glog/log_severity.h": "glog/src/glog/log_severity.h",
81*da0073e9SAndroid Build Coastguard Worker        },
82*da0073e9SAndroid Build Coastguard Worker    )
83*da0073e9SAndroid Build Coastguard Worker
84*da0073e9SAndroid Build Coastguard Worker    genrule(
85*da0073e9SAndroid Build Coastguard Worker        name = "glog_config.h",
86*da0073e9SAndroid Build Coastguard Worker        srcs = ["glog/src/config.h.cmake.in"],
87*da0073e9SAndroid Build Coastguard Worker        out = "config.h",
88*da0073e9SAndroid Build Coastguard Worker        cmd = "awk '{ gsub(/^#cmakedefine/, \"//cmakedefine\"); print; }' $SRCS > $OUT",
89*da0073e9SAndroid Build Coastguard Worker    )
90*da0073e9SAndroid Build Coastguard Worker
91*da0073e9SAndroid Build Coastguard Worker    for header in GLOG_CONFIG_HEADERS:
92*da0073e9SAndroid Build Coastguard Worker        genrule(
93*da0073e9SAndroid Build Coastguard Worker            name = "glog_{}".format(header),
94*da0073e9SAndroid Build Coastguard Worker            out = header,
95*da0073e9SAndroid Build Coastguard Worker            srcs = ["glog/src/glog/{}.in".format(header)],
96*da0073e9SAndroid Build Coastguard Worker            cmd = "{} $SRCS > $OUT".format(GLOG_SED_COMMAND),
97*da0073e9SAndroid Build Coastguard Worker        )
98