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,
+)