Add support for building code for Debian armhf

I think this will work with the Ubuntu-based distribution on the TK1
too.

Change-Id: I62350d2f7a8914fb13c421be427388c6e46c5481
diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index 29ba1e1..272a896 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -41,18 +41,23 @@
     '@arm-frc-linux-gnueabi-repo//:compiler_components',
     ':roborio-compiler-files',
     ':flags_compiler_inputs',
+    '@linaro_linux_gcc_4.9_repo//:compiler_components',
+    ':linaro-gcc-files',
   ],
 )
 
 # Compiler inputs given by --copt etc in //tools:bazel.rc.
 filegroup(
   name = 'flags_compiler_inputs',
-  # TODO(Brian): Change this to a select which only has the right files under
-  # the right configurations once that works.
-  srcs = [
-    'asan-blacklist',
-    'ubsan-blacklist',
-  ],
+  srcs = select({
+    '//tools:has_asan': [
+      'asan-blacklist',
+    ],
+    '//tools:has_ubsan': [
+      'ubsan-blacklist',
+    ],
+    '//conditions:default': [],
+  }),
 )
 
 cc_toolchain(
@@ -109,3 +114,48 @@
   strip_files = '//tools/cpp/arm-frc-linux-gnueabi:strip',
   supports_param_files = 1,
 )
+
+filegroup(
+  name = 'linaro-gcc-files',
+  srcs = [
+    '//tools/cpp/linaro_linux_gcc:clang-symlinks',
+    '//tools/cpp/linaro_linux_gcc:tool-wrappers',
+    '@linaro_linux_gcc_4.9_repo//:compiler_pieces',
+  ],
+)
+
+filegroup(
+  name = 'linaro_linux_linker_files',
+  srcs = [
+    '//tools/cpp/linaro_linux_gcc:gcc',
+    '//tools/cpp/linaro_linux_gcc:ld',
+    '//tools/cpp/linaro_linux_gcc:ar',
+    '//tools/cpp/linaro_linux_gcc:clang-ld',
+    '//tools/cpp/linaro_linux_gcc:clang',
+    '@linaro_linux_gcc_4.9_repo//:compiler_pieces',
+  ],
+)
+
+filegroup(
+  name = 'linaro_linux_compiler_files',
+  srcs = [
+    '//tools/cpp/linaro_linux_gcc:gcc',
+    '//tools/cpp/linaro_linux_gcc:ld',
+    '//tools/cpp/linaro_linux_gcc:clang',
+    '//tools/cpp/linaro_linux_gcc:as',
+  ],
+)
+
+cc_toolchain(
+  name = 'cc-compiler-armhf-debian',
+  all_files = ':linaro-gcc-files',
+  compiler_files = ':linaro_linux_compiler_files',
+  cpu = 'armhf',
+  dwp_files = ':empty',
+  dynamic_runtime_libs = [':empty'],
+  linker_files = ':linaro_linux_linker_files',
+  objcopy_files = '//tools/cpp/linaro_linux_gcc:objcopy',
+  static_runtime_libs = [':empty'],
+  strip_files = '//tools/cpp/linaro_linux_gcc:strip',
+  supports_param_files = 1,
+)