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/linaro_linux_gcc/BUILD b/tools/cpp/linaro_linux_gcc/BUILD
new file mode 100644
index 0000000..ad3dbb1
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/BUILD
@@ -0,0 +1,113 @@
+package(default_visibility = ['//tools/cpp:__pkg__'])
+
+cc_library(
+ name = 'libpthread',
+ visibility = ['//visibility:public'],
+ srcs = [
+ 'clang_more_libs/libpthread.so',
+ ],
+)
+
+filegroup(
+ name = 'gcc',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:gcc',
+ 'arm-linux-gnueabihf-gcc',
+ ],
+)
+
+filegroup(
+ name = 'ar',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:ar',
+ 'arm-linux-gnueabihf-ar',
+ ],
+)
+
+filegroup(
+ name = 'ld',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:ld',
+ 'arm-linux-gnueabihf-ld',
+ ],
+)
+
+filegroup(
+ name = 'nm',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:nm',
+ 'arm-linux-gnueabihf-nm',
+ ],
+)
+
+filegroup(
+ name = 'objcopy',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:objcopy',
+ 'arm-linux-gnueabihf-objcopy',
+ ],
+)
+
+filegroup(
+ name = 'objdump',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:objdump',
+ 'arm-linux-gnueabihf-objdump',
+ ],
+)
+
+filegroup(
+ name = 'strip',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:strip',
+ 'arm-linux-gnueabihf-strip',
+ ],
+)
+
+filegroup(
+ name = 'as',
+ srcs = [
+ '@linaro_linux_gcc_4.9_repo//:as',
+ 'arm-linux-gnueabihf-as',
+ ],
+)
+
+filegroup(
+ name = 'clang',
+ srcs = [
+ 'clang_bin/clang',
+ ],
+)
+
+filegroup(
+ name = 'clang-ld',
+ srcs = [
+ 'clang_bin/ld',
+ ':ld',
+ ],
+)
+
+filegroup(
+ name = 'tool-wrappers',
+ srcs = [
+ ':gcc',
+ ':ar',
+ ':ld',
+ ':nm',
+ ':objcopy',
+ ':objdump',
+ ':strip',
+ ':as',
+ 'clang_bin/as',
+ ':clang',
+ ':clang-ld',
+ ],
+)
+
+filegroup(
+ name = 'clang-symlinks',
+ srcs = glob([
+ 'clang_more_libs/**',
+ 'clang_syroot/**',
+ ]),
+)
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ar b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ar
new file mode 100755
index 0000000..2d4b527
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ar
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-ar \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-ar \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-as b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-as
new file mode 100755
index 0000000..2b5b029
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-as
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-as \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-as \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-cpp b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-cpp
new file mode 100755
index 0000000..a4eb2ec
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-cpp
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-cpp \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-cpp \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcc b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcc
new file mode 100755
index 0000000..68e33da
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcc
@@ -0,0 +1,6 @@
+#!/bin/bash --norc
+
+PATH="${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/libexec/gcc/arm-linux-gnueabihf/4.9.3:$PATH" \
+ exec \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-gcc \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcov b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcov
new file mode 100755
index 0000000..cec171c
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-gcov
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-gcov \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-gcov \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ld b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ld
new file mode 100755
index 0000000..a134b14
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-ld
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-ld \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-ld \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-nm b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-nm
new file mode 100755
index 0000000..d066ebd
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-nm
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-nm \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-nm \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objcopy b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objcopy
new file mode 100755
index 0000000..e3ac78d
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objcopy
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-objcopy \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-objcopy \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objdump b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objdump
new file mode 100755
index 0000000..f33793a
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-objdump
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-objdump \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-objdump \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-strip b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-strip
new file mode 100755
index 0000000..4f7bbf2
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/arm-linux-gnueabihf-strip
@@ -0,0 +1,5 @@
+#!/bin/bash --norc
+
+exec -a arm-linux-gnueabihf-strip \
+ ${BAZEL_OUTPUT_ROOT}external/linaro_linux_gcc_4.9_repo/bin/arm-linux-gnueabihf-strip \
+ "$@"
diff --git a/tools/cpp/linaro_linux_gcc/clang_bin/as b/tools/cpp/linaro_linux_gcc/clang_bin/as
new file mode 120000
index 0000000..6129ba8
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/clang_bin/as
@@ -0,0 +1 @@
+../arm-linux-gnueabihf-as
\ No newline at end of file
diff --git a/tools/cpp/linaro_linux_gcc/clang_bin/clang b/tools/cpp/linaro_linux_gcc/clang_bin/clang
new file mode 100755
index 0000000..2ed616a
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/clang_bin/clang
@@ -0,0 +1,4 @@
+#!/bin/bash --norc
+
+exec -a "$0" \
+ "/usr/bin/clang-3.6" "$@"
diff --git a/tools/cpp/linaro_linux_gcc/clang_bin/ld b/tools/cpp/linaro_linux_gcc/clang_bin/ld
new file mode 120000
index 0000000..d8097cf
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/clang_bin/ld
@@ -0,0 +1 @@
+../arm-linux-gnueabihf-ld
\ No newline at end of file
diff --git a/tools/cpp/linaro_linux_gcc/clang_more_libs/libc.so b/tools/cpp/linaro_linux_gcc/clang_more_libs/libc.so
new file mode 100644
index 0000000..631fc32
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/clang_more_libs/libc.so
@@ -0,0 +1,5 @@
+/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT(elf32-littlearm)
+GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-armhf.so.3 ) )
diff --git a/tools/cpp/linaro_linux_gcc/clang_more_libs/libpthread.so b/tools/cpp/linaro_linux_gcc/clang_more_libs/libpthread.so
new file mode 100644
index 0000000..71f034f
--- /dev/null
+++ b/tools/cpp/linaro_linux_gcc/clang_more_libs/libpthread.so
@@ -0,0 +1,5 @@
+/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT(elf32-littlearm)
+GROUP ( libpthread.so.0 libpthread_nonshared.a )