From 3106945d8d3322e5cbd5658d482c9ffed2d892c0 Mon Sep 17 00:00:00 2001 From: Rodrigo Queiro Date: Tue, 16 Jan 2018 09:20:08 +0100 Subject: [PATCH] Add workaround for Bazel build on macOS This works around https://github.com/bazelbuild/bazel/issues/3979, and so closes #282. --- bazel/glog.bzl | 3 +-- src/config.h.cmake.in | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bazel/glog.bzl b/bazel/glog.bzl index dc25ad1..95fd110 100644 --- a/bazel/glog.bzl +++ b/bazel/glog.bzl @@ -53,9 +53,8 @@ def glog_library(namespace='google', with_gflags=1): '-Wno-unused-function', '-Wno-unused-local-typedefs', '-Wno-unused-variable', + "-DGLOG_BAZEL_BUILD", # 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', diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in index a946451..9d87d37 100644 --- a/src/config.h.cmake.in +++ b/src/config.h.cmake.in @@ -180,8 +180,20 @@ /* Version number of package */ #cmakedefine VERSION +#ifdef GLOG_BAZEL_BUILD + +/* TODO(rodrigoq): remove this workaround once bazel#3979 is resolved: + * https://github.com/bazelbuild/bazel/issues/3979 */ +#define _START_GOOGLE_NAMESPACE_ namespace GOOGLE_NAMESPACE { + +#define _END_GOOGLE_NAMESPACE_ } + +#else + /* Stops putting the code inside the Google namespace */ #cmakedefine _END_GOOGLE_NAMESPACE_ ${_END_GOOGLE_NAMESPACE_} /* Puts following code inside the Google namespace */ #cmakedefine _START_GOOGLE_NAMESPACE_ ${_START_GOOGLE_NAMESPACE_} + +#endif -- 2.7.4