Add gtk_dependent_... to disable gtk dependencies libraries globally.

Change-Id: I0d112980c286c1b9a7be878f85793b269d162949
diff --git a/aos/vision/blob/BUILD b/aos/vision/blob/BUILD
index 8cb4373..f823cc0 100644
--- a/aos/vision/blob/BUILD
+++ b/aos/vision/blob/BUILD
@@ -1,3 +1,4 @@
+load('/tools/build_rules/gtk_dependent', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
 package(default_visibility = ['//visibility:public'])
 
 cc_library(
@@ -93,7 +94,7 @@
   ],
 )
 
-cc_library(
+gtk_dependent_cc_library(
   name = 'stream_view',
   hdrs = ['stream_view.h'],
   deps = [
diff --git a/aos/vision/debug/BUILD b/aos/vision/debug/BUILD
index 91111b2..3b4fa7c 100644
--- a/aos/vision/debug/BUILD
+++ b/aos/vision/debug/BUILD
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+load('/tools/build_rules/gtk_dependent', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
 package(default_visibility = ["//visibility:public"])
 
 cc_library(
@@ -11,7 +11,7 @@
         ],
 )
 
-cc_library(name = "debug_viewer",
+gtk_dependent_cc_library(name = "debug_viewer",
     srcs = ["debug_viewer.cc"],
     hdrs = ["debug_viewer.h"],
     deps = [
diff --git a/aos/vision/events/udp_test.cc b/aos/vision/events/udp_test.cc
index 7e77b68..33fb4d6 100644
--- a/aos/vision/events/udp_test.cc
+++ b/aos/vision/events/udp_test.cc
@@ -11,8 +11,8 @@
 
   int txdata[] = {1, 2, 3, 4};
   int rxdata[4];
-  tx.Send(static_cast<const void *>(&txdata), sizeof(txdata));
-  rx.Recv(static_cast<void *>(&rxdata), sizeof(rxdata));
+  tx.Send(reinterpret_cast<const char *>(&txdata), sizeof(txdata));
+  rx.Recv(reinterpret_cast<char *>(&rxdata), sizeof(rxdata));
   EXPECT_EQ(txdata[0], rxdata[0]);
   EXPECT_EQ(txdata[1], rxdata[1]);
   EXPECT_EQ(txdata[2], rxdata[2]);
diff --git a/debian/usr.BUILD b/debian/usr.BUILD
index 403d069..e34e933 100644
--- a/debian/usr.BUILD
+++ b/debian/usr.BUILD
@@ -1,3 +1,5 @@
+load('/tools/build_rules/gtk_dependent', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
+
 package(default_visibility = ['@//debian:__pkg__'])
 
 cc_library(
@@ -87,7 +89,7 @@
   visibility = ['//visibility:public'],
 )
 
-cc_library(
+gtk_dependent_cc_library(
   name = 'gtk+-3.0',
   hdrs = glob([
     'include/gtk-3.0/**/*.h',
diff --git a/tools/build_rules/gtk_dependent.bzl b/tools/build_rules/gtk_dependent.bzl
new file mode 100644
index 0000000..0a21a9a
--- /dev/null
+++ b/tools/build_rules/gtk_dependent.bzl
@@ -0,0 +1,9 @@
+disable_gtk_binaries = True
+
+def gtk_dependent_cc_library(**kwargs):
+  if not disable_gtk_binaries:
+    native.cc_library(**kwargs)
+
+def gtk_dependent_cc_binary(**kwargs):
+  if not disable_gtk_binaries:
+    native.cc_binary(**kwargs)