diff options
Diffstat (limited to 'third_party/glog/bazel/glog.bzl')
-rw-r--r-- | third_party/glog/bazel/glog.bzl | 219 |
1 files changed, 0 insertions, 219 deletions
diff --git a/third_party/glog/bazel/glog.bzl b/third_party/glog/bazel/glog.bzl deleted file mode 100644 index a46e2d148ba8..000000000000 --- a/third_party/glog/bazel/glog.bzl +++ /dev/null @@ -1,219 +0,0 @@ -# Implement a macro glog_library() that the BUILD file can load. - -# By default, glog is built with gflags support. You can change this behavior -# by using glog_library(with_gflags=0) -# -# This file is inspired by the following sample BUILD files: -# https://github.com/google/glog/issues/61 -# https://github.com/google/glog/files/393474/BUILD.txt -# -# Known issue: the namespace parameter is not supported on Win32. - -def glog_library(namespace = "google", with_gflags = 1, **kwargs): - if native.repository_name() != "@": - repo_name = native.repository_name().lstrip("@") - gendir = "$(GENDIR)/external/" + repo_name - src_windows = "external/%s/src/windows" % repo_name - else: - gendir = "$(GENDIR)" - src_windows = "src/windows" - - # Config setting for WebAssembly target. - native.config_setting( - name = "wasm", - values = {"cpu": "wasm"}, - ) - - common_copts = [ - "-DGLOG_BAZEL_BUILD", - "-DHAVE_STDINT_H", - "-DHAVE_STRING_H", - "-DHAVE_UNWIND_H", - ] + (["-DHAVE_LIB_GFLAGS"] if with_gflags else []) - - wasm_copts = [ - # Disable warnings that exists in glog. - "-Wno-sign-compare", - "-Wno-unused-function", - "-Wno-unused-local-typedefs", - "-Wno-unused-variable", - # Inject a C++ namespace. - "-DGOOGLE_NAMESPACE='%s'" % namespace, - # Allows src/base/mutex.h to include pthread.h. - "-DHAVE_PTHREAD", - # Allows src/logging.cc to determine the host name. - "-DHAVE_SYS_UTSNAME_H", - # For src/utilities.cc. - "-DHAVE_SYS_TIME_H", - # Enable dumping stacktrace upon sigaction. - "-DHAVE_SIGACTION", - # For logging.cc. - "-DHAVE_PREAD", - "-DHAVE___ATTRIBUTE__", - "-I%s/glog_internal" % gendir, - ] - - linux_or_darwin_copts = wasm_copts + [ - # For src/utilities.cc. - "-DHAVE_SYS_SYSCALL_H", - ] - - freebsd_only_copts = [ - # Enable declaration of _Unwind_Backtrace - "-D_GNU_SOURCE", - ] - - darwin_only_copts = [ - # For stacktrace. - "-DHAVE_DLADDR", - ] - - windows_only_copts = [ - "-DHAVE_SNPRINTF", - "-I" + src_windows, - ] - - windows_only_srcs = [ - "src/glog/log_severity.h", - "src/windows/config.h", - "src/windows/port.cc", - "src/windows/port.h", - ] - - gflags_deps = ["@com_github_gflags_gflags//:gflags"] if with_gflags else [] - - native.cc_library( - name = "glog", - visibility = ["//visibility:public"], - srcs = [ - "src/base/commandlineflags.h", - "src/base/googleinit.h", - "src/base/mutex.h", - "src/demangle.cc", - "src/demangle.h", - "src/logging.cc", - "src/raw_logging.cc", - "src/signalhandler.cc", - "src/stacktrace.h", - "src/stacktrace_generic-inl.h", - "src/stacktrace_libunwind-inl.h", - "src/stacktrace_powerpc-inl.h", - "src/stacktrace_windows-inl.h", - "src/stacktrace_x86-inl.h", - "src/stacktrace_x86_64-inl.h", - "src/symbolize.cc", - "src/symbolize.h", - "src/utilities.cc", - "src/utilities.h", - "src/vlog_is_on.cc", - ] + select({ - "@bazel_tools//src/conditions:windows": windows_only_srcs, - "//conditions:default": [":config_h"], - }), - copts = - select({ - "@bazel_tools//src/conditions:windows": common_copts + windows_only_copts, - "@bazel_tools//src/conditions:darwin": common_copts + linux_or_darwin_copts + darwin_only_copts, - "@bazel_tools//src/conditions:freebsd": common_copts + linux_or_darwin_copts + freebsd_only_copts, - ":wasm": common_copts + wasm_copts, - "//conditions:default": common_copts + linux_or_darwin_copts, - }), - deps = [ - ":glog_headers", - ] + gflags_deps, - **kwargs - ) - - # glog headers vary depending on the os. - native.cc_library( - name = "glog_headers", - deps = select({ - "@bazel_tools//src/conditions:windows": [":windows_glog_headers"], - "//conditions:default": [":default_glog_headers"], - }), - ) - - native.cc_library( - name = "windows_glog_headers", - hdrs = native.glob(["src/windows/glog/*.h"]), - strip_include_prefix = "src/windows", - # We need to override the default GOOGLE_GLOG_DLL_DECL from - # src/windows/glog/*.h to match src/windows/config.h. - defines = ["GOOGLE_GLOG_DLL_DECL=__declspec(dllexport)"], - deps = [":strip_include_prefix_hack"], - ) - - # Workaround https://github.com/bazelbuild/bazel/issues/6337 by declaring - # the dependencies without strip_include_prefix. - native.cc_library( - name = "strip_include_prefix_hack", - hdrs = native.glob(["src/windows/*.h"]), - ) - - native.cc_library( - name = "default_glog_headers", - strip_include_prefix = "src", - hdrs = [ - "src/glog/log_severity.h", - ":logging_h", - ":raw_logging_h", - ":stl_logging_h", - ":vlog_is_on_h", - ], - ) - native.genrule( - name = "config_h", - srcs = [ - "src/config.h.cmake.in", - ], - outs = [ - "glog_internal/config.h", - ], - cmd = "awk '{ gsub(/^#cmakedefine/, \"//cmakedefine\"); print; }' $< > $@", - ) - - native.genrule( - name = "gen_sh", - outs = [ - "gen.sh", - ], - cmd = r'''\ -#!/bin/sh -cat > $@ <<"EOF" -sed -e 's/@ac_cv_cxx_using_operator@/1/g' \ - -e 's/@ac_cv_have_unistd_h@/1/g' \ - -e 's/@ac_cv_have_stdint_h@/1/g' \ - -e 's/@ac_cv_have_systypes_h@/1/g' \ - -e 's/@ac_cv_have_libgflags@/{}/g' \ - -e 's/@ac_cv_have_uint16_t@/1/g' \ - -e 's/@ac_cv_have___builtin_expect@/1/g' \ - -e 's/@ac_cv_have_.*@/0/g' \ - -e 's/@ac_google_start_namespace@/namespace google {{/g' \ - -e 's/@ac_google_end_namespace@/}}/g' \ - -e 's/@ac_google_namespace@/google/g' \ - -e 's/@ac_cv___attribute___noinline@/__attribute__((noinline))/g' \ - -e 's/@ac_cv___attribute___noreturn@/__attribute__((noreturn))/g' \ - -e 's/@ac_cv___attribute___printf_4_5@/__attribute__((__format__ (__printf__, 4, 5)))/g' -EOF -'''.format(int(with_gflags)), - ) - - [ - native.genrule( - name = "%s_h" % f, - srcs = [ - "src/glog/%s.h.in" % f, - ], - outs = [ - "src/glog/%s.h" % f, - ], - cmd = "$(location :gen_sh) < $< > $@", - tools = [":gen_sh"], - ) - for f in [ - "vlog_is_on", - "stl_logging", - "raw_logging", - "logging", - ] - ] |