Use the downloaded clang when building for armhf-debian

This makes it work on a barebones Stretch installation.

Also add building for this CPU to the CI script so we know it keeps
working, which means marking everything that's supposed to work
appropriately.

Change-Id: Ic050ce20eae45c6b23e0e42dddb24db3ebc70b84
diff --git a/aos/vision/blob/BUILD b/aos/vision/blob/BUILD
index d7a39ad..e1255c8 100644
--- a/aos/vision/blob/BUILD
+++ b/aos/vision/blob/BUILD
@@ -1,144 +1,187 @@
-load('//tools/build_rules:gtk_dependent.bzl', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
-package(default_visibility = ['//visibility:public'])
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+
+package(default_visibility = ["//visibility:public"])
 
 cc_library(
-  name = 'range_image',
-  hdrs = ['range_image.h'],
-  srcs = ['range_image.cc'],
-  deps = [
-    '//aos/vision/math:vector',
-    '//aos/vision/debug:overlay',
-    '//aos/vision/math:segment',
-    '//aos/vision/image:image_types',
-    '//third_party/eigen',
-  ],
+    name = "range_image",
+    srcs = ["range_image.cc"],
+    hdrs = ["range_image.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/vision/debug:overlay",
+        "//aos/vision/image:image_types",
+        "//aos/vision/math:segment",
+        "//aos/vision/math:vector",
+        "//third_party/eigen",
+    ],
 )
 
 cc_library(
-  name = 'region_alloc',
-  hdrs = ['region_alloc.h'],
-  deps = [
-    '//aos/common/logging',
-  ],
+    name = "region_alloc",
+    hdrs = ["region_alloc.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/common/logging",
+    ],
 )
 
 cc_library(
-  name = 'contour',
-  hdrs = ['contour.h'],
-  srcs = ['contour.cc'],
-  deps = [
-    '//aos/vision/debug:overlay',
-    '//aos/vision/math:segment',
-    ':range_image',
-    ':region_alloc',
-  ],
+    name = "contour",
+    srcs = ["contour.cc"],
+    hdrs = ["contour.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+        ":region_alloc",
+        "//aos/vision/debug:overlay",
+        "//aos/vision/math:segment",
+    ],
 )
 
 cc_library(
-  name = 'threshold',
-  hdrs = ['threshold.h'],
-  deps = [
-    ':range_image',
-    '//aos/vision/image:image_types',
-  ]
+    name = "threshold",
+    hdrs = ["threshold.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+        "//aos/vision/image:image_types",
+    ],
 )
 
 cc_library(
-  name = 'hierarchical_contour_merge',
-  hdrs = ['hierarchical_contour_merge.h'],
-  srcs = ['hierarchical_contour_merge.cc'],
-  deps = [
-    ':contour',
-    ':disjoint_set',
-    ':range_image',
-    '//third_party/eigen',
-  ],
-  restricted_to = ['//tools:k8', '//tools:armhf-debian'],
+    name = "hierarchical_contour_merge",
+    srcs = ["hierarchical_contour_merge.cc"],
+    hdrs = ["hierarchical_contour_merge.h"],
+    restricted_to = [
+        "//tools:k8",
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":contour",
+        ":disjoint_set",
+        ":range_image",
+        "//third_party/eigen",
+    ],
 )
 
 cc_library(
-  name = 'disjoint_set',
-  hdrs = ['disjoint_set.h'],
+    name = "disjoint_set",
+    hdrs = ["disjoint_set.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
 )
 
 cc_library(
-  name = 'find_blob',
-  hdrs = ['find_blob.h'],
-  srcs = ['find_blob.cc'],
-  deps = [
-    '//aos/vision/debug:overlay',
-    '//aos/vision/math:segment',
-    ':disjoint_set',
-    ':range_image',
-    '//third_party/eigen',
-  ]
+    name = "find_blob",
+    srcs = ["find_blob.cc"],
+    hdrs = ["find_blob.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":disjoint_set",
+        ":range_image",
+        "//aos/vision/debug:overlay",
+        "//aos/vision/math:segment",
+        "//third_party/eigen",
+    ],
 )
 
 cc_library(
-  name = 'codec',
-  hdrs = ['codec.h'],
-  srcs = ['codec.cc'],
-  deps = [
-    '//aos/vision/debug:overlay',
-    '//aos/vision/math:segment',
-    ':range_image',
-    '//third_party/eigen',
-  ],
+    name = "codec",
+    srcs = ["codec.cc"],
+    hdrs = ["codec.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+        "//aos/vision/debug:overlay",
+        "//aos/vision/math:segment",
+        "//third_party/eigen",
+    ],
 )
 
 cc_test(
-  name = 'codec_test',
-  srcs = ['codec_test.cc'],
-  deps = [
-    ':codec',
-    '//aos/testing:googletest',
-  ],
+    name = "codec_test",
+    srcs = ["codec_test.cc"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":codec",
+        "//aos/testing:googletest",
+    ],
 )
 
 cc_library(
-  name = 'move_scale',
-  hdrs = ['move_scale.h'],
-  srcs = ['move_scale.cc'],
-  deps = [
-    ':range_image',
-    '//aos/vision/image:image_types',
-  ],
+    name = "move_scale",
+    srcs = ["move_scale.cc"],
+    hdrs = ["move_scale.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+        "//aos/vision/image:image_types",
+    ],
 )
 
 cc_library(
-  name = 'test_utils',
-  hdrs = ['test_utils.h'],
-  srcs = ['test_utils.cc'],
-  deps = [
-    ':range_image',
-  ],
+    name = "test_utils",
+    srcs = ["test_utils.cc"],
+    hdrs = ["test_utils.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+    ],
 )
 
 cc_library(
-  name = 'transpose',
-  hdrs = ['transpose.h'],
-  srcs = ['transpose.cc'],
-  deps = [
-    ':range_image',
-  ],
+    name = "transpose",
+    srcs = ["transpose.cc"],
+    hdrs = ["transpose.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+    ],
 )
 
 cc_test(
-  name = 'transpose_test',
-  srcs = ['transpose_test.cc'],
-  deps = [
-    ':transpose',
-    ':test_utils',
-    '//aos/testing:googletest',
-  ],
+    name = "transpose_test",
+    srcs = ["transpose_test.cc"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":test_utils",
+        ":transpose",
+        "//aos/testing:googletest",
+    ],
 )
 
 gtk_dependent_cc_library(
-  name = 'stream_view',
-  hdrs = ['stream_view.h'],
-  deps = [
-    ':range_image',
-    '//aos/vision/debug:debug_window',
-    '//aos/vision/image:image_types',
-  ],
+    name = "stream_view",
+    hdrs = ["stream_view.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":range_image",
+        "//aos/vision/debug:debug_window",
+        "//aos/vision/image:image_types",
+    ],
 )
diff --git a/aos/vision/debug/BUILD b/aos/vision/debug/BUILD
index ed26c69..06f5d0b 100644
--- a/aos/vision/debug/BUILD
+++ b/aos/vision/debug/BUILD
@@ -1,51 +1,62 @@
-load('//tools/build_rules:gtk_dependent.bzl', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+
 package(default_visibility = ["//visibility:public"])
 
 cc_library(
     name = "overlay",
     hdrs = ["overlay.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
     deps = [
-        '//aos/vision/math:vector',
-        '//aos/vision/math:segment',
-        '//aos/vision/image:image_types',
-        ],
-)
-
-gtk_dependent_cc_library(name = "debug_window",
-    srcs = ["debug_window.cc"],
-    hdrs = ["debug_window.h"],
-    deps = [
-        '@usr_repo//:gtk+-3.0',
         "//aos/vision/image:image_types",
-        ":overlay",
-    ]
+        "//aos/vision/math:segment",
+        "//aos/vision/math:vector",
+    ],
 )
 
 gtk_dependent_cc_library(
-  name = 'debug_framework',
-  srcs = [
-    'debug_framework.cc',
-    'jpeg_list-source.cc',
-    'tcp-source.cc',
-    'blob_log-source.cc',
-    'camera-source.cc'
-  ],
-  hdrs = ['debug_framework.h'],
-  deps = [
-    '//aos/common/logging:logging',
-    '//aos/common/logging:implementations',
-    '//aos/vision/blob:codec',
-    '//aos/vision/blob:range_image',
-    '//aos/vision/blob:stream_view',
-    '//aos/vision/blob:find_blob',
-    '//aos/vision/events:gtk_event',
-    '//aos/vision/events:epoll_events',
-    "//aos/vision/events:tcp_client",
-    '//aos/vision/image:jpeg_routines',
-    '//aos/vision/image:image_stream',
-    '//aos/vision/image:image_types',
-    '//aos/common/util:global_factory',
-    '@usr_repo//:gtk+-3.0',
-  ],
-  alwayslink = 1,
+    name = "debug_window",
+    srcs = ["debug_window.cc"],
+    hdrs = ["debug_window.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":overlay",
+        "//aos/vision/image:image_types",
+        "@usr_repo//:gtk+-3.0",
+    ],
+)
+
+gtk_dependent_cc_library(
+    name = "debug_framework",
+    srcs = [
+        "blob_log-source.cc",
+        "camera-source.cc",
+        "debug_framework.cc",
+        "jpeg_list-source.cc",
+        "tcp-source.cc",
+    ],
+    hdrs = ["debug_framework.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/common/logging",
+        "//aos/common/logging:implementations",
+        "//aos/common/util:global_factory",
+        "//aos/vision/blob:codec",
+        "//aos/vision/blob:find_blob",
+        "//aos/vision/blob:range_image",
+        "//aos/vision/blob:stream_view",
+        "//aos/vision/events:epoll_events",
+        "//aos/vision/events:gtk_event",
+        "//aos/vision/events:tcp_client",
+        "//aos/vision/image:image_stream",
+        "//aos/vision/image:image_types",
+        "//aos/vision/image:jpeg_routines",
+        "@usr_repo//:gtk+-3.0",
+    ],
+    alwayslink = 1,
 )
diff --git a/aos/vision/events/BUILD b/aos/vision/events/BUILD
index 495c50a..b3affc2 100644
--- a/aos/vision/events/BUILD
+++ b/aos/vision/events/BUILD
@@ -1,70 +1,98 @@
-load('//tools/build_rules:gtk_dependent.bzl', 'gtk_dependent_cc_binary', 'gtk_dependent_cc_library')
-package(default_visibility = ['//visibility:public'])
+load("//tools/build_rules:gtk_dependent.bzl", "gtk_dependent_cc_binary", "gtk_dependent_cc_library")
+
+package(default_visibility = ["//visibility:public"])
 
 cc_library(
-  name = 'epoll_events',
-  srcs = ['epoll_events.cc'],
-  hdrs = ['epoll_events.h'],
-  deps = [
-    '//aos/common:scoped_fd',
-    '//aos/common/logging',
-    '//aos/common:time',
-  ],
+    name = "epoll_events",
+    srcs = ["epoll_events.cc"],
+    hdrs = ["epoll_events.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/common:scoped_fd",
+        "//aos/common:time",
+        "//aos/common/logging",
+    ],
 )
 
 cc_library(
-  name = 'socket_types',
-  hdrs = ['socket_types.h'],
-  deps = [
-    '//aos/vision/events:tcp_server',
-    '//aos/vision/image:image_types',
-    '//third_party/protobuf:protobuf',
-  ],
+    name = "socket_types",
+    hdrs = ["socket_types.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/vision/events:tcp_server",
+        "//aos/vision/image:image_types",
+        "//third_party/protobuf",
+    ],
 )
 
 cc_library(
-  name = 'intrusive_free_list',
-  hdrs = ['intrusive_free_list.h'],
+    name = "intrusive_free_list",
+    hdrs = ["intrusive_free_list.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
 )
 
 cc_library(
-  name = 'tcp_server',
-  srcs = ['tcp_server.cc'],
-  hdrs = ['tcp_server.h'],
-  deps = [':epoll_events', ':intrusive_free_list'],
+    name = "tcp_server",
+    srcs = ["tcp_server.cc"],
+    hdrs = ["tcp_server.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":epoll_events",
+        ":intrusive_free_list",
+    ],
 )
 
 cc_library(
-  name = 'tcp_client',
-  srcs = ['tcp_client.cc'],
-  hdrs = ['tcp_client.h'],
-  deps = [':epoll_events'],
+    name = "tcp_client",
+    srcs = ["tcp_client.cc"],
+    hdrs = ["tcp_client.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [":epoll_events"],
 )
 
 cc_library(
-  name = 'udp',
-  srcs = ['udp.cc'],
-  hdrs = ['udp.h'],
-  deps = [
-    '//aos/common:macros',
-    '//aos/common:scoped_fd',
-  ],
+    name = "udp",
+    srcs = ["udp.cc"],
+    hdrs = ["udp.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/common:macros",
+        "//aos/common:scoped_fd",
+    ],
 )
 
 cc_test(
-  name = 'udp_test',
-  srcs = ['udp_test.cc'],
-  deps = [
-    ':udp',
-    '//aos/testing:googletest',
-  ],
+    name = "udp_test",
+    srcs = ["udp_test.cc"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":udp",
+        "//aos/testing:googletest",
+    ],
 )
 
 gtk_dependent_cc_library(
-  name = 'gtk_event',
-  srcs = ['gtk_event.cc'],
-  deps = [
-    ':epoll_events',
-    '@usr_repo//:gtk+-3.0',
-  ],
+    name = "gtk_event",
+    srcs = ["gtk_event.cc"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":epoll_events",
+        "@usr_repo//:gtk+-3.0",
+    ],
 )
diff --git a/aos/vision/image/BUILD b/aos/vision/image/BUILD
index e41aabc..8409ea5 100644
--- a/aos/vision/image/BUILD
+++ b/aos/vision/image/BUILD
@@ -1,46 +1,66 @@
-package(default_visibility = ['//visibility:public'])
-load('//tools/build_rules:protobuf.bzl', 'proto_cc_library')
+package(default_visibility = ["//visibility:public"])
+
+load("//tools/build_rules:protobuf.bzl", "proto_cc_library")
 
 cc_library(
-  name = 'image_types',
-  hdrs = ['image_types.h'],
-  deps = [
-    '//aos/common/logging:logging',
-  ],
+    name = "image_types",
+    hdrs = ["image_types.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/common/logging",
+    ],
 )
 
 proto_cc_library(
-  name = 'camera_params',
-  src = 'camera_params.proto',
+    name = "camera_params",
+    src = "camera_params.proto",
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
 )
 
 cc_library(
-  name = 'reader',
-  srcs = ['reader.cc'],
-  hdrs = ['V4L2.h', 'reader.h'],
-  deps = [
-    '//aos/common:time',
-    '//aos/common/logging:logging',
-    ':image_types',
-    ':camera_params',
-  ],
+    name = "reader",
+    srcs = ["reader.cc"],
+    hdrs = [
+        "V4L2.h",
+        "reader.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":camera_params",
+        ":image_types",
+        "//aos/common:time",
+        "//aos/common/logging",
+    ],
 )
 
 cc_library(
-  name = 'jpeg_routines',
-  srcs = ['jpeg_routines.cc'],
-  hdrs = ['jpeg_routines.h'],
-  deps = [
-    '//third_party/libjpeg',
-    '//aos/common/logging:logging',
-    ':image_types'
-  ],
+    name = "jpeg_routines",
+    srcs = ["jpeg_routines.cc"],
+    hdrs = ["jpeg_routines.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":image_types",
+        "//aos/common/logging",
+        "//third_party/libjpeg",
+    ],
 )
 
-cc_library(name = 'image_stream',
-  hdrs = ['image_stream.h'],
-  deps = [
-    '//aos/vision/events:epoll_events',
-    '//aos/vision/image:reader'
-  ]
+cc_library(
+    name = "image_stream",
+    hdrs = ["image_stream.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos/vision/events:epoll_events",
+        "//aos/vision/image:reader",
+    ],
 )
diff --git a/aos/vision/math/BUILD b/aos/vision/math/BUILD
index fe4927b..1de8436 100644
--- a/aos/vision/math/BUILD
+++ b/aos/vision/math/BUILD
@@ -1,29 +1,38 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
 
 cc_library(
-  name = 'segment',
-  hdrs = ['segment.h'],
-  deps = [':vector'],
+    name = "segment",
+    hdrs = ["segment.h"],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [":vector"],
 )
 
 cc_library(
-  name = 'vector',
-  hdrs = [
-    'vector.h',
-  ],
-  deps = [
-    '//third_party/eigen',
-  ],
+    name = "vector",
+    hdrs = [
+        "vector.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//third_party/eigen",
+    ],
 )
 
 cc_test(
-  name = 'vector_test',
-  srcs = [
-    'vector_test.cc',
-  ],
-  deps = [
-    ':vector',
-    '//aos/testing:googletest',
-  ],
-  size = 'small',
+    name = "vector_test",
+    size = "small",
+    srcs = [
+        "vector_test.cc",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        ":vector",
+        "//aos/testing:googletest",
+    ],
 )