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