Update to the 2019 wpilib
Lots of gratuitious incompatibilities to deal with. Started sanifying a
few classes rather than figuring out how to update them too. Has not yet
been tested on a robot, but everything still builds so it should be
fine.
Also ported over our FPGA timestamp fixes, which were previously only in
allwpilib_2018.
Also upgraded to the new roborio compiler, which has to happen at the
same time due to incompatible pre-compiled libraries.
Change-Id: Ib9b6ad8fc0112d90a9855afe1b706588ef4ebde9
diff --git a/third_party/BUILD b/third_party/BUILD
index 934486e..d67d4b4 100644
--- a/third_party/BUILD
+++ b/third_party/BUILD
@@ -10,5 +10,17 @@
name = "wpilib_hal",
restricted_to = ["//tools:roborio"],
visibility = ["//visibility:public"],
- deps = ["//third_party/allwpilib_2018:hal"],
+ deps = ["//third_party/allwpilib_2019:hal"],
+)
+
+cc_library(
+ name = "phoenix",
+ restricted_to = ["//tools:roborio"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "@ctre_phoenix_api_cpp_athena_2019//:api-cpp",
+ "@ctre_phoenix_api_cpp_headers_2019//:api-cpp",
+ "@ctre_phoenix_cci_athena_2019//:cci",
+ "@ctre_phoenix_cci_headers_2019//:cci",
+ ],
)
diff --git a/third_party/allwpilib_2019/BUILD b/third_party/allwpilib_2019/BUILD
index ea548fc..e35687d 100644
--- a/third_party/allwpilib_2019/BUILD
+++ b/third_party/allwpilib_2019/BUILD
@@ -63,9 +63,10 @@
srcs = glob(
include = [
"hal/src/main/native/athena/*.cpp",
- "hal/src/main/native/athena/cpp/*.cpp",
+ "hal/src/main/native/cpp/cpp/*.cpp",
"hal/src/main/native/athena/ctre/*.cpp",
"hal/src/main/native/shared/handles/*.cpp",
+ "hal/src/main/native/cpp/handles/*.cpp",
],
exclude = ["**/%s.*" % d for d in _excluded_devices],
),
diff --git a/third_party/allwpilib_2019/wpiutil/BUILD b/third_party/allwpilib_2019/wpiutil/BUILD
index aceed4a..e579466 100644
--- a/third_party/allwpilib_2019/wpiutil/BUILD
+++ b/third_party/allwpilib_2019/wpiutil/BUILD
@@ -4,9 +4,12 @@
name = "wpiutil",
srcs = glob([
"src/main/native/cpp/llvm/*.cpp",
+ ]) + [
"src/main/native/cpp/llvm/Unix/Path.inc",
- "src/main/native/cpp/support/timestamp.cpp",
- ]),
+ "src/main/native/cpp/timestamp.cpp",
+ "src/main/native/cpp/SafeThread.cpp",
+ "src/main/native/cpp/memory.cpp",
+ ],
hdrs = glob([
"src/main/native/include/**",
]),
diff --git a/third_party/cddlib/lib-src/cddlib.c b/third_party/cddlib/lib-src/cddlib.c
index ca9469f..1fb9551 100644
--- a/third_party/cddlib/lib-src/cddlib.c
+++ b/third_party/cddlib/lib-src/cddlib.c
@@ -114,7 +114,7 @@
}
if (!cone->PreOrderedRun){
for (itemp=1; cone->OrderVector[itemp]!=hh; itemp++);
- otemp=cone->OrderVector[cone->Iteration];
+ otemp=cone->OrderVector[cone->Iteration];
cone->OrderVector[cone->Iteration]=hh;
/* store the dynamic ordering in ordervec */
cone->OrderVector[itemp]=otemp;
diff --git a/third_party/ceres/BUILD b/third_party/ceres/BUILD
index 216b1b5..8bc1dde 100644
--- a/third_party/ceres/BUILD
+++ b/third_party/ceres/BUILD
@@ -32,6 +32,7 @@
# not support parameterization around threading choice or sparse backends.
load("//:bazel/ceres.bzl", "ceres_library")
+load("@//tools/build_rules:select.bzl", "cpu_select")
ceres_library(
name = "ceres",
@@ -170,7 +171,10 @@
"-Wno-format-nonliteral",
"-Wno-missing-braces",
"-Wno-missing-field-initializers",
-]
+] + cpu_select({
+ "roborio": ["-Wno-nonnull-compare"],
+ "else": [],
+})
TEST_DEPS = [
"//:ceres",
diff --git a/third_party/googletest/googlemock/test/BUILD.bazel b/third_party/googletest/googlemock/test/BUILD.bazel
index 550a77a..541ef8e 100644
--- a/third_party/googletest/googlemock/test/BUILD.bazel
+++ b/third_party/googletest/googlemock/test/BUILD.bazel
@@ -46,6 +46,7 @@
),
copts = [
"-Wno-unused-parameter",
+ "-Wno-unused-function",
],
deps = ["//third_party/googletest:gtest"],
)
diff --git a/third_party/libjpeg/BUILD b/third_party/libjpeg/BUILD
index 3fb36ec..2f3a812 100644
--- a/third_party/libjpeg/BUILD
+++ b/third_party/libjpeg/BUILD
@@ -65,7 +65,16 @@
"-Wno-switch-enum",
"-Wno-format-nonliteral",
"-Wno-unused-parameter",
- ],
+ ] + select({
+ "//tools:cpu_roborio": [
+ # This is sketchy under the standard, but it's a known issue with
+ # libjpeg which isn't particularly well defined by the JPEG standard
+ # either. We should be fine because all our platforms are two's
+ # complement.
+ "-Wno-shift-negative-value",
+ ],
+ "//conditions:default": [],
+ }),
includes = ["src/main/c"],
visibility = ["//visibility:public"],
)