Can build with Bazel now
This commit is contained in:
parent
921651e97c
commit
004fc8cb8e
146
BUILD
146
BUILD
@ -1,4 +1,146 @@
|
||||
licenses(['notice'])
|
||||
|
||||
load(':bazel/glog.bzl', 'glog_library')
|
||||
glog_library()
|
||||
namespace = 'google'
|
||||
with_gflags = 1
|
||||
with_libunwind = 1
|
||||
|
||||
cc_library(
|
||||
name = 'glog',
|
||||
visibility = [ '//visibility:public' ],
|
||||
srcs = glob([
|
||||
'src/base/commandlineflags.h',
|
||||
'src/base/googleinit.h',
|
||||
'src/demangle.cc',
|
||||
'src/logging.cc',
|
||||
'src/raw_logging.cc',
|
||||
'src/signalhandler.cc',
|
||||
'src/stacktrace_*-inl.h',
|
||||
'src/symbolize.cc',
|
||||
'src/utilities.cc',
|
||||
'src/vlog_is_on.cc',
|
||||
]),
|
||||
hdrs = [
|
||||
'src/base/mutex.h',
|
||||
'src/demangle.h',
|
||||
'src/stacktrace.h',
|
||||
'src/symbolize.h',
|
||||
'src/utilities.h',
|
||||
'src/glog/log_severity.h',
|
||||
],
|
||||
includes = [
|
||||
'src',
|
||||
],
|
||||
copts = [
|
||||
# Disable warnings that exists in glog.
|
||||
'-Wno-invalid-noreturn',
|
||||
'-Wno-sign-compare',
|
||||
'-Wno-unused-const-variable',
|
||||
'-Wno-unused-function',
|
||||
'-Wno-unused-local-typedefs',
|
||||
'-Wno-unused-variable',
|
||||
# Inject a C++ namespace.
|
||||
"-D_START_GOOGLE_NAMESPACE_='namespace %s {'" % namespace,
|
||||
"-D_END_GOOGLE_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_SYSCALL_H',
|
||||
'-DHAVE_SYS_TIME_H',
|
||||
'-DHAVE_STDINT_H',
|
||||
'-DHAVE_STRING_H',
|
||||
# Enable dumping stacktrace upon sigaction.
|
||||
'-DHAVE_SIGACTION',
|
||||
# For logging.cc.
|
||||
'-DHAVE_PREAD',
|
||||
] + ([
|
||||
# Use gflags to parse CLI arguments.
|
||||
# NOTE: These parenthesis are necessary.
|
||||
'-DHAVE_LIB_GFLAGS',
|
||||
] if with_gflags else []) + ([
|
||||
# Use linunwind to get stacktrace.
|
||||
'-DHAVE_LIB_UNWIND',
|
||||
] if with_libunwind else []),
|
||||
deps = [
|
||||
':internal_headers',
|
||||
] + ([
|
||||
'//third_party/gflags',
|
||||
] if with_gflags else []) + ([
|
||||
'//third_party/libunwind',
|
||||
] if with_libunwind else []),
|
||||
)
|
||||
|
||||
|
||||
cc_library(
|
||||
name = 'internal_headers',
|
||||
hdrs = [
|
||||
':config_h',
|
||||
':logging_h',
|
||||
':raw_logging_h',
|
||||
':stl_logging_h',
|
||||
':vlog_is_on_h',
|
||||
],
|
||||
includes = [
|
||||
PACKAGE_NAME,
|
||||
] if PACKAGE_NAME else [],
|
||||
)
|
||||
|
||||
|
||||
genrule(
|
||||
name = 'gen_sh',
|
||||
outs = [
|
||||
'gen.sh',
|
||||
],
|
||||
cmd = r'''\
|
||||
#!/bin/sh
|
||||
cat > $@ <<"EOF"
|
||||
sed -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_h@/1/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
|
||||
''',
|
||||
)
|
||||
|
||||
|
||||
genrule(
|
||||
name = 'config_h',
|
||||
srcs = [
|
||||
'src/config.h.cmake.in',
|
||||
],
|
||||
outs = [
|
||||
'/'.join([PACKAGE_NAME, 'config.h']) if PACKAGE_NAME else 'config.h',
|
||||
],
|
||||
cmd = "awk '{ gsub(/^#cmakedefine/, \"//cmakedefine\"); print; }' $(<) > $(@)",
|
||||
)
|
||||
|
||||
|
||||
[genrule(
|
||||
name = '%s_h' % f,
|
||||
srcs = [
|
||||
'src/glog/%s.h.in' % f,
|
||||
],
|
||||
outs = [
|
||||
'/'.join([PACKAGE_NAME, 'glog/%s.h' % f]) \
|
||||
if PACKAGE_NAME else 'glog/%s.h' % f,
|
||||
],
|
||||
cmd = '$(location :gen_sh) < $(<) > $(@)',
|
||||
tools = [':gen_sh'],
|
||||
) for f in [
|
||||
'vlog_is_on',
|
||||
'stl_logging',
|
||||
'raw_logging',
|
||||
'logging',
|
||||
]
|
||||
]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user