Get stuff building with newer Bazel with sandboxing

After this, a newer version of Bazel is required to build the code.
201511240708+4433fa6 is the first version which will work.

Change-Id: Ifc41f11f2f21bdcd0f5f7d142d769ea8fa15921a
diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index 8b0927f..3a33e0e 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -81,6 +81,7 @@
   name = 'roborio-compiler-files',
   srcs = [
     '//tools/cpp/arm-frc-linux-gnueabi:tool-wrappers',
+    '//tools/cpp/arm-frc-linux-gnueabi:as',
     '@arm-frc-linux-gnueabi-repo//:compiler_pieces',
   ],
 )
@@ -90,6 +91,8 @@
   srcs = [
     '//tools/cpp/arm-frc-linux-gnueabi:ld',
     '//tools/cpp/arm-frc-linux-gnueabi:ar',
+    '//tools/cpp/arm-frc-linux-gnueabi:gcc',
+    '@arm-frc-linux-gnueabi-repo//:compiler_pieces',
   ],
 )
 filegroup(
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
index acf583b..cc8d106 100644
--- a/tools/cpp/CROSSTOOL
+++ b/tools/cpp/CROSSTOOL
@@ -318,38 +318,38 @@
   compiler_flag: "--sysroot=external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi"
   compiler_flag: "-nostdinc"
   compiler_flag: "-isystem"
-  compiler_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include",
+  compiler_flag: "external/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include",
   compiler_flag: "-isystem"
-  compiler_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed"
+  compiler_flag: "external/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed"
   compiler_flag: "-isystem"
-  compiler_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/usr/include"
+  compiler_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/usr/include"
 
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/arm-frc-linux-gnueabi"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/arm-frc-linux-gnueabi"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/backward"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/backward"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include"
   cxx_flag: "-isystem"
-  cxx_flag: "tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/usr/include"
+  cxx_flag: "external/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/usr/include"
 
   # TODO(bazel-team): In theory, the path here ought to exactly match the path
   # used by gcc. That works because bazel currently doesn't track files at
   # absolute locations and has no remote execution, yet. However, this will need
   # to be fixed, maybe with auto-detection?
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/arm-frc-linux-gnueabi"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include/c++/4.9.3/backward"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/include"
-  cxx_builtin_include_directory: "arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo/usr/arm-frc-linux-gnueabi/usr/include"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/arm-frc-linux-gnueabi/include)%/c++/4.9.3"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/arm-frc-linux-gnueabi/include)%/c++/4.9.3/arm-frc-linux-gnueabi"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/arm-frc-linux-gnueabi/include)%/c++/4.9.3/backward"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include)%"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/lib/x86_64-linux-gnu/gcc/arm-frc-linux-gnueabi/4.9.3/include-fixed)%"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/arm-frc-linux-gnueabi/include)%"
+  cxx_builtin_include_directory: "%package(@arm-frc-linux-gnueabi-repo//usr/arm-frc-linux-gnueabi/usr/include)%"
 
   linker_flag: "-lstdc++"
   #linker_flag: "-B/usr/bin/"
diff --git a/tools/cpp/arm-frc-linux-gnueabi/BUILD b/tools/cpp/arm-frc-linux-gnueabi/BUILD
index 4548dbe..64342a9 100644
--- a/tools/cpp/arm-frc-linux-gnueabi/BUILD
+++ b/tools/cpp/arm-frc-linux-gnueabi/BUILD
@@ -17,6 +17,14 @@
 )
 
 filegroup(
+  name = 'as',
+  srcs = [
+    '@arm-frc-linux-gnueabi-repo//:as',
+    'arm-frc-linux-gnueabi-as',
+  ],
+)
+
+filegroup(
   name = 'ld',
   srcs = [
     '@arm-frc-linux-gnueabi-repo//:ld',
@@ -61,6 +69,7 @@
   srcs = [
     ':gcc',
     ':ar',
+    ':as',
     ':ld',
     ':nm',
     ':objcopy',
diff --git a/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo b/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo
deleted file mode 120000
index 1c8656d..0000000
--- a/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi-repo
+++ /dev/null
@@ -1 +0,0 @@
-../../../bazel-out/../../external/arm-frc-linux-gnueabi-repo
\ No newline at end of file
diff --git a/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi.BUILD b/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi.BUILD
index e579f39..438c9f1 100644
--- a/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi.BUILD
+++ b/tools/cpp/arm-frc-linux-gnueabi/arm-frc-linux-gnueabi.BUILD
@@ -3,7 +3,7 @@
 filegroup(
   name = 'gcc',
   srcs = [
-    'usr/bin/arm-frc-linux-gnueabi-gcc-4.9',
+    'usr/bin/arm-frc-linux-gnueabi-gcc',
   ],
 )
 
@@ -15,6 +15,13 @@
 )
 
 filegroup(
+  name = 'as',
+  srcs = [
+    'usr/bin/arm-frc-linux-gnueabi-as',
+  ],
+)
+
+filegroup(
   name = 'ld',
   srcs = [
     'usr/bin/arm-frc-linux-gnueabi-ld',
@@ -55,6 +62,8 @@
     'usr/bin/**/*',
     'usr/include/**/*',
     'usr/lib/**/*',
+    'usr/arm-frc-linux-gnueabi/**/*',
+    'usr/lib/x86_64-linux-gnu/gcc/**/*',
   ]),
 )
 
@@ -63,6 +72,7 @@
   srcs = [
     ':gcc',
     ':ar',
+    ':as',
     ':ld',
     ':nm',
     ':objcopy',