Upgrade WPILib and upgraded compilers to C++17
I haven't touched the CTRE libraries yet, although they may need to be
upgraded as well.
Note that this change makes it so that you need either Ubuntu 18.04 or
later or debian buster or later in order to build the code (you may be
able to build code for the roborio on older operating systems, but
running the tests will not work normally).
Change-Id: I0cfa37fe37f830edde6d305e1f50414c369098e4
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
index 128954a..21b3349 100644
--- a/tools/cpp/CROSSTOOL
+++ b/tools/cpp/CROSSTOOL
@@ -105,59 +105,65 @@
abi_libc_version: "local"
tool_path {
name: "ar"
- path: "clang_3p6/x86_64-linux-gnu-ar"
+ path: "clang_6p0/x86_64-linux-gnu-ar"
}
tool_path {
name: "compat-ld"
- path: "clang_3p6/x86_64-linux-gnu-ld"
+ path: "clang_6p0/x86_64-linux-gnu-ld"
}
tool_path {
name: "cpp"
- path: "clang_3p6/x86_64-linux-gnu-cpp"
+ path: "clang_6p0/x86_64-linux-gnu-cpp"
}
tool_path {
name: "dwp"
- path: "clang_3p6/x86_64-linux-gnu-dwp"
+ path: "clang_6p0/x86_64-linux-gnu-dwp"
}
tool_path {
name: "gcc"
- path: "clang_3p6/x86_64-linux-gnu-clang-3.6"
+ path: "clang_6p0/x86_64-linux-gnu-clang-6.0"
}
tool_path {
name: "gcov"
- path: "clang_3p6/x86_64-linux-gnu-gcov"
+ path: "clang_6p0/x86_64-linux-gnu-gcov"
}
tool_path {
name: "ld"
- path: "clang_3p6/x86_64-linux-gnu-ld"
+ path: "clang_6p0/x86_64-linux-gnu-ld"
}
tool_path {
name: "nm"
- path: "clang_3p6/x86_64-linux-gnu-nm"
+ path: "clang_6p0/x86_64-linux-gnu-nm"
}
tool_path {
name: "objcopy"
- path: "clang_3p6/x86_64-linux-gnu-objcopy"
+ path: "clang_6p0/x86_64-linux-gnu-objcopy"
}
tool_path {
name: "objdump"
- path: "clang_3p6/x86_64-linux-gnu-objdump"
+ path: "clang_6p0/x86_64-linux-gnu-objdump"
}
tool_path {
name: "strip"
- path: "clang_3p6/x86_64-linux-gnu-strip"
+ path: "clang_6p0/x86_64-linux-gnu-strip"
}
supports_gold_linker: false
supports_thin_archives: false
needsPic: true
- compiler_flag: "--sysroot=external/clang_3p6_repo/"
+ compiler_flag: "--sysroot=external/clang_6p0_repo/"
compiler_flag: "-nostdinc"
compiler_flag: "-isystem"
- compiler_flag: "external/clang_3p6_repo/usr/include"
+ compiler_flag: "external/clang_6p0_repo/usr/include/x86_64-linux-gnu"
compiler_flag: "-isystem"
- compiler_flag: "external/clang_3p6_repo/usr/include/x86_64-linux-gnu"
+ compiler_flag: "external/clang_6p0_repo/usr/lib/llvm-6.0/lib/clang/6.0.0/include"
compiler_flag: "-isystem"
- compiler_flag: "external/clang_3p6_repo/usr/lib/llvm-3.6/lib/clang/3.6.2/include"
+ compiler_flag: "external/clang_6p0_repo/usr/include/c++/7.4.0"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/clang_6p0_repo/usr/include/x86_64-linux-gnu/c++/7.4.0"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/clang_6p0_repo/usr/include/c++/7.4.0/backward"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/clang_6p0_repo/usr/include"
compiler_flag: "-D__STDC_FORMAT_MACROS"
compiler_flag: "-D__STDC_CONSTANT_MACROS"
compiler_flag: "-D__STDC_LIMIT_MACROS"
@@ -185,22 +191,18 @@
compiler_flag: "-pipe"
compiler_flag: "-ggdb3"
cxx_flag: "-isystem"
- cxx_flag: "external/clang_3p6_repo/usr/include/c++/4.9"
- cxx_flag: "-isystem"
- cxx_flag: "external/clang_3p6_repo/usr/include/x86_64-linux-gnu/c++/4.9"
- cxx_flag: "-isystem"
- cxx_flag: "external/clang_3p6_repo/usr/include/c++/4.9/backward"
+ cxx_flag: "external/clang_6p0_repo/usr/include"
linker_flag: "-nodefaultlibs"
- linker_flag: "--sysroot=external/clang_3p6_repo/"
+ linker_flag: "--sysroot=external/clang_6p0_repo/"
linker_flag: "-lstdc++"
linker_flag: "-lc"
linker_flag: "-lgcc"
linker_flag: "-lgcc_s"
- linker_flag: "-Bexternal/clang_3p6_repo/usr/bin/"
- linker_flag: "-Ltools/cpp/clang_3p6/clang_more_libs"
- linker_flag: "-Lexternal/clang_3p6/lib/x86_64-linux-gnu"
- linker_flag: "-Lexternal/clang_3p6/usr/lib/x86_64-linux-gnu"
- linker_flag: "-Lexternal/clang_3p6/usr/lib/gcc/x86_64-linux-gnu"
+ linker_flag: "-Bexternal/clang_6p0_repo/usr/bin/"
+ linker_flag: "-Ltools/cpp/clang_6p0/clang_more_libs"
+ linker_flag: "-Lexternal/clang_6p0_repo/lib/x86_64-linux-gnu"
+ linker_flag: "-Lexternal/clang_6p0_repo/usr/lib/x86_64-linux-gnu"
+ linker_flag: "-Lexternal/clang_6p0_repo/usr/lib/gcc/x86_64-linux-gnu"
linker_flag: "-no-canonical-prefixes"
linker_flag: "-fuse-ld=gold"
linker_flag: "-Wl,-z,relro,-z,now"
@@ -222,20 +224,21 @@
linking_mode_flags {
mode: DYNAMIC
}
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/include/c++/4.9"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/include/x86_64-linux-gnu/c++/4.9"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/include/c++/4.9/backward"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/local/include"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/lib/llvm-3.6/lib/clang/3.6.2/include"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/include/x86_64-linux-gnu"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/include"
- cxx_builtin_include_directory: "%package(@clang_3p6_repo//usr)%/lib/clang/3.6.2/include"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/include/c++/7.4.0"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/include/x86_64-linux-gnu/c++/7.4.0"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/include/c++/7.4.0/backward"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/local/include"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/lib/llvm-6.0/lib/clang/6.0.0/include"
+ cxx_builtin_include_directory: "%package(@clang_6p0_repo//usr)%/include/x86_64-linux-gnu"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
+ unfiltered_cxx_flag: "-Wno-varargs"
+ unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
+ unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
supports_normalizing_ar: false
supports_start_end_lib: false
supports_interface_shared_objects: false
@@ -305,7 +308,7 @@
action: "c++-header-preprocessing"
action: "c++-module-compile"
flag_group {
- flag: "-std=gnu++1y"
+ flag: "-std=gnu++1z"
}
}
flag_set {
@@ -553,10 +556,10 @@
linking_mode_flags {
mode: DYNAMIC
}
- cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2019-linux-gnueabi/usr/lib/gcc/arm-frc2019-linux-gnueabi/6.3.0/include)%"
- cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2019-linux-gnueabi/usr/lib/gcc/arm-frc2019-linux-gnueabi/6.3.0/include-fixed)%"
- cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2019-linux-gnueabi/usr/include/c++/6.3.0/arm-frc2019-linux-gnueabi)%"
- cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2019-linux-gnueabi/usr/include/c++/6.3.0/backward)%"
+ cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include)%"
+ cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed)%"
+ cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi)%"
+ cxx_builtin_include_directory: "%package(@arm_frc_linux_gnueabi_repo//arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward)%"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
@@ -581,12 +584,12 @@
action: "lto-backend"
action: "clif-match"
flag_group {
- flag: "--sysroot=external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi"
+ flag: "--sysroot=external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi"
flag: "-nostdinc"
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/lib/gcc/arm-frc2019-linux-gnueabi/6.3.0/include"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include"
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/lib/gcc/arm-frc2019-linux-gnueabi/6.3.0/include-fixed"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/lib/gcc/arm-frc2020-linux-gnueabi/7.3.0/include-fixed"
}
}
flag_set {
@@ -606,11 +609,11 @@
action: "c++-module-codegen"
flag_group {
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/include/c++/6.3.0"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0"
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/include/c++/6.3.0/arm-frc2019-linux-gnueabi"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/arm-frc2020-linux-gnueabi"
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/include/c++/6.3.0/backward"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include/c++/7.3.0/backward"
}
}
flag_set {
@@ -625,7 +628,7 @@
action: "clif-match"
flag_group {
flag: "-isystem"
- flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2019-linux-gnueabi/usr/include"
+ flag: "external/arm_frc_linux_gnueabi_repo/arm-frc2020-linux-gnueabi/usr/include"
flag: "-mfpu=neon"
flag: "-D__STDC_FORMAT_MACROS"
flag: "-D__STDC_CONSTANT_MACROS"
@@ -837,7 +840,7 @@
action: "c++-header-preprocessing"
action: "c++-module-compile"
flag_group {
- flag: "-std=gnu++1y"
+ flag: "-std=gnu++1z"
flag: "-fno-sized-deallocation"
}
}
@@ -874,7 +877,7 @@
target_cpu: "armhf-debian"
target_libc: "glibc_2.19"
compiler: "clang"
- abi_version: "clang_3.6"
+ abi_version: "clang_6.0"
abi_libc_version: "glibc_2.19"
tool_path {
name: "ar"
@@ -925,18 +928,26 @@
needsPic: true
compiler_flag: "-target"
compiler_flag: "armv7a-arm-linux-gnueabif"
- compiler_flag: "--sysroot=external/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/libc"
+ compiler_flag: "--sysroot=external/linaro_linux_gcc_repo/arm-linux-gnueabihf/libc"
compiler_flag: "-mfloat-abi=hard"
compiler_flag: "-mfpu=vfpv3-d16"
compiler_flag: "-nostdinc"
compiler_flag: "-isystem"
- compiler_flag: "/usr/lib/clang/3.6/include"
+ compiler_flag: "/usr/lib/clang/6.0/include"
compiler_flag: "-isystem"
- compiler_flag: "external/linaro_linux_gcc_4_9_repo/lib/gcc/arm-linux-gnueabihf/4.9.3/include"
+ compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include"
compiler_flag: "-isystem"
- compiler_flag: "external/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/libc/usr/include"
+ compiler_flag: "external/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed"
compiler_flag: "-isystem"
- compiler_flag: "external/linaro_linux_gcc_4_9_repo/lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed"
+ compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1/arm-linux-gnueabihf"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/include/c++/7.4.1"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1/arm-linux-gnueabihf"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/linaro_linux_gcc_repo/include/c++/7.4.1"
+ compiler_flag: "-isystem"
+ compiler_flag: "external/linaro_linux_gcc_repo/arm-linux-gnueabihf/libc/usr/include"
compiler_flag: "-D__STDC_FORMAT_MACROS"
compiler_flag: "-D__STDC_CONSTANT_MACROS"
compiler_flag: "-D__STDC_LIMIT_MACROS"
@@ -961,23 +972,17 @@
compiler_flag: "-fno-omit-frame-pointer"
compiler_flag: "-pipe"
compiler_flag: "-ggdb3"
- cxx_flag: "-isystem"
- cxx_flag: "external/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/include/c++/4.9.3/arm-linux-gnueabihf"
- cxx_flag: "-isystem"
- cxx_flag: "external/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/include/c++/4.9.3"
- cxx_flag: "-isystem"
- cxx_flag: "external/linaro_linux_gcc_4_9_repo/include/c++/4.9.3/arm-linux-gnueabihf"
- cxx_flag: "-isystem"
- cxx_flag: "external/linaro_linux_gcc_4_9_repo/include/c++/4.9.3"
linker_flag: "-target"
linker_flag: "armv7a-arm-linux-gnueabif"
- linker_flag: "--sysroot=external/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/libc"
+ linker_flag: "--sysroot=external/linaro_linux_gcc_repo/arm-linux-gnueabihf/libc"
linker_flag: "-lstdc++"
linker_flag: "-Ltools/cpp/linaro_linux_gcc/clang_more_libs"
- linker_flag: "-Lexternal/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/lib"
- linker_flag: "-Lexternal/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/libc/lib"
- linker_flag: "-Lexternal/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/libc/usr/lib"
- linker_flag: "-Bexternal/linaro_linux_gcc_4_9_repo/arm-linux-gnueabihf/bin"
+ linker_flag: "-Lexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/lib"
+ linker_flag: "-Lexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/libc/lib"
+ linker_flag: "-Lexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/libc/usr/lib"
+ linker_flag: "-Lexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
+ linker_flag: "-Bexternal/linaro_linux_gcc_repo/lib/gcc/arm-linux-gnueabihf/7.4.1"
+ linker_flag: "-Bexternal/linaro_linux_gcc_repo/arm-linux-gnueabihf/bin"
linker_flag: "-Wl,--dynamic-linker=/lib/ld-linux-armhf.so.3"
linker_flag: "-no-canonical-prefixes"
linker_flag: "-Wl,-z,relro,-z,now"
@@ -998,20 +1003,23 @@
linking_mode_flags {
mode: DYNAMIC
}
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//include)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/libc/usr/include)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/libc/usr/lib/include)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//include)%/c++/4.9.3"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/4.9.3/include)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//lib/gcc/arm-linux-gnueabihf/4.9.3/include)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//lib/gcc/arm-linux-gnueabihf/4.9.3/include-fixed)%"
- cxx_builtin_include_directory: "%package(@linaro_linux_gcc_4_9_repo//arm-linux-gnueabihf/include)%/c++/4.9.3"
- cxx_builtin_include_directory: "/usr/lib/clang/3.6/include"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/libc/usr/include)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/libc/usr/lib/include)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//include)%/c++/7.4.1"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/7.4.1/include)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/libc/lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//lib/gcc/arm-linux-gnueabihf/7.4.1/include-fixed)%"
+ cxx_builtin_include_directory: "%package(@linaro_linux_gcc_repo//arm-linux-gnueabihf/include)%/c++/7.4.1"
+ cxx_builtin_include_directory: "/usr/lib/clang/6.0/include"
builtin_sysroot: ""
unfiltered_cxx_flag: "-no-canonical-prefixes"
unfiltered_cxx_flag: "-Wno-builtin-macro-redefined"
+ unfiltered_cxx_flag: "-Wno-mismatched-new-delete"
+ unfiltered_cxx_flag: "-Wno-null-pointer-arithmetic"
+ unfiltered_cxx_flag: "-Wno-varargs"
unfiltered_cxx_flag: "-D__DATE__=\"redacted\""
unfiltered_cxx_flag: "-D__TIMESTAMP__=\"redacted\""
unfiltered_cxx_flag: "-D__TIME__=\"redacted\""
@@ -1084,7 +1092,7 @@
action: "c++-header-preprocessing"
action: "c++-module-compile"
flag_group {
- flag: "-std=gnu++1y"
+ flag: "-std=gnu++1z"
}
}
flag_set {
@@ -1283,7 +1291,7 @@
action: "c++-header-preprocessing"
action: "c++-module-compile"
flag_group {
- flag: "--std=gnu++1y"
+ flag: "--std=gnu++1z"
flag: "-fno-exceptions"
flag: "-fno-rtti"
}
@@ -1486,7 +1494,7 @@
action: "c++-header-preprocessing"
action: "c++-module-compile"
flag_group {
- flag: "--std=gnu++1y"
+ flag: "--std=gnu++1z"
flag: "-fno-exceptions"
flag: "-fno-rtti"
}