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/bazel.rc b/tools/bazel.rc
index 6d5dc61..548f82b 100644
--- a/tools/bazel.rc
+++ b/tools/bazel.rc
@@ -1,11 +1,7 @@
-# TODO(Brian): Figure out how we're going to distribute Bazel so everybody
-# doesn't need to hand-edit this file or use a .bazelrc...
-build --package_path %workspace%:%workspace%/opt_bazel_base_workspace
-fetch --package_path %workspace%:%workspace%/opt_bazel_base_workspace
-query --package_path %workspace%:%workspace%/opt_bazel_base_workspace
-
+# Use our CROSSTOOL.
build --crosstool_top=//tools/cpp:toolchain
-build --spawn_strategy=standalone
+# Don't switch HOST compilers.
+build --host_crosstool_top=//tools/cpp:toolchain
# Show paths to a few more than just 1 target.
build --show_result 15
diff --git a/tools/build_rules/fortran.bzl b/tools/build_rules/fortran.bzl
index 4de4430..9f564d3 100644
--- a/tools/build_rules/fortran.bzl
+++ b/tools/build_rules/fortran.bzl
@@ -22,7 +22,7 @@
filtered_cmd.append(flag)
ctx.action(
- inputs = [ctx.file.src],
+ inputs = [ctx.file.src] + ctx.files._cc_toolchain,
outputs = [ctx.outputs.pic_o],
mnemonic = "Fortran",
executable = ctx.fragments.cpp.compiler_executable,
@@ -45,6 +45,11 @@
attrs = {
'src': attr.label(single_file=True, allow_files=FileType(['.f'])),
'cc_libs': attr.label_list(providers=['cc']),
+ # TODO(Brian): Replace this with something more fine-grained from the
+ # configuration fragment or something.
+ '_cc_toolchain': attr.label(
+ default = Label('//tools/cpp:toolchain'),
+ ),
},
outputs = _define_fortran_output,
fragments = [
@@ -62,9 +67,11 @@
pic_o_files = []
for src in srcs:
pic_o_file = src[:-2] + '.pic.o'
- _single_fortran_object(name=name + '_' + pic_o_file,
- src=src,
- visibility=['//visibility:private'])
+ _single_fortran_object(
+ name = name + '_' + pic_o_file,
+ src = src,
+ visibility = ['//visibility:private'],
+ )
pic_o_files.append(pic_o_file)
native.cc_library(
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',