Add workaround for Bazel build on macOS
authorRodrigo Queiro <rodrigoq@google.com>
Tue, 16 Jan 2018 08:20:08 +0000 (09:20 +0100)
committerRodrigo Queiro <overdrigzed@gmail.com>
Tue, 16 Jan 2018 16:06:15 +0000 (17:06 +0100)
This works around https://github.com/bazelbuild/bazel/issues/3979,
and so closes #282.

bazel/glog.bzl
src/config.h.cmake.in

index dc25ad1..95fd110 100644 (file)
@@ -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',
index a946451..9d87d37 100644 (file)
 /* 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