Switch to a new cortex-m4 compiler
This one is newer, so it supports a newer C++ standard. It's also
hermetic.
Also add a variant for building for some Kinetis-K chips with less RAM
that are used on fet12v2.
Change-Id: I9e50b6aae498e0c35acfedb846b3ada619a0e630
diff --git a/compilers/gcc_arm_none_eabi.BUILD b/compilers/gcc_arm_none_eabi.BUILD
new file mode 100644
index 0000000..db2cc77
--- /dev/null
+++ b/compilers/gcc_arm_none_eabi.BUILD
@@ -0,0 +1,80 @@
+package(default_visibility = ["//visibility:public"])
+
+filegroup(
+ name = "gcc",
+ srcs = [
+ "bin/arm-none-eabi-gcc",
+ ],
+)
+
+filegroup(
+ name = "ar",
+ srcs = [
+ "bin/arm-none-eabi-ar",
+ ],
+)
+
+filegroup(
+ name = "ld",
+ srcs = [
+ "bin/arm-none-eabi-ld",
+ ],
+)
+
+filegroup(
+ name = "nm",
+ srcs = [
+ "bin/arm-none-eabi-nm",
+ ],
+)
+
+filegroup(
+ name = "objcopy",
+ srcs = [
+ "bin/arm-none-eabi-objcopy",
+ ],
+)
+
+filegroup(
+ name = "objdump",
+ srcs = [
+ "bin/arm-none-eabi-objdump",
+ ],
+)
+
+filegroup(
+ name = "strip",
+ srcs = [
+ "bin/arm-none-eabi-strip",
+ ],
+)
+
+filegroup(
+ name = "as",
+ srcs = [
+ "bin/arm-none-eabi-as",
+ ],
+)
+
+filegroup(
+ name = "compiler_pieces",
+ srcs = glob([
+ "arm-none-eabi/**",
+ "lib/gcc/arm-none-eabi/**",
+ "include/**",
+ ]),
+)
+
+filegroup(
+ name = "compiler_components",
+ srcs = [
+ ":ar",
+ ":as",
+ ":gcc",
+ ":ld",
+ ":nm",
+ ":objcopy",
+ ":objdump",
+ ":strip",
+ ],
+)