cmake: remove config.h from public headers (closes #238)
[platform/upstream/glog.git] / BUILD
diff --git a/BUILD b/BUILD
index ae99505..37fb27b 100644 (file)
--- a/BUILD
+++ b/BUILD
@@ -1,146 +1,5 @@
 licenses(['notice'])
 
-namespace = 'google'
-with_gflags = 1
-with_libunwind = 1
+load(':bazel/glog.bzl', 'glog_library')
 
-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',
-    ]
-]
+glog_library()