Upgrade bazel
New version has cc_toolchain.proto, which I want.
Change-Id: I43f8837fa92cb0a5298069da6880cf114c6a2ae9
diff --git a/doc/make_bazel_package.sh b/doc/make_bazel_package.sh
index 0184ce9..eb2503c 100755
--- a/doc/make_bazel_package.sh
+++ b/doc/make_bazel_package.sh
@@ -10,13 +10,14 @@
BAZEL_SOURCE="$1"
VERSION="$(date +%Y%m%d%H%M)+$(GIT_DIR="${BAZEL_SOURCE}/.git" git rev-parse --short HEAD)"
-DEB="bazel_${VERSION}_amd64.deb"
+OUTPUT="bazel_${VERSION}"
(
cd "${BAZEL_SOURCE}"
-bazel build -c opt //scripts/packages/debian:bazel-debian --embed_label="${VERSION}" --stamp=yes --experimental_sandbox_base=/dev/shm
+bazel build -c opt //scripts/packages:with-jdk/bazel-real --embed_label="${VERSION}" --stamp=yes --experimental_sandbox_base=/dev/shm
)
-cp "${BAZEL_SOURCE}/bazel-bin/scripts/packages/debian/bazel-debian.deb" "${DEB}"
+cp "${BAZEL_SOURCE}/bazel-genfiles/scripts/packages/with-jdk/bazel-real" "${OUTPUT}"
+xz "${OUTPUT}"
-echo "Output is at ${DEB}"
+echo "Output is at ${OUTPUT}.xz"
diff --git a/tools/bazel b/tools/bazel
index 41d2887..6b8f968 100755
--- a/tools/bazel
+++ b/tools/bazel
@@ -24,7 +24,8 @@
exec "${BAZEL_OVERRIDE}" "$@"
fi
-readonly VERSION="201802152317+9b1b63c"
+readonly VERSION="201807071512+aa7e972"
+#bazel_201807071512+aa7e972.xz
readonly DOWNLOAD_DIR="$(dirname "${BASH_SOURCE[0]}")/../bazel-downloads"
# Directory to unpack bazel into. This must change whenever bazel changes.
@@ -40,7 +41,7 @@
exit 1
fi
-readonly INSTALLER_NAME="bazel_${VERSION}-linux-x86_64.deb"
+readonly INSTALLER_NAME="bazel_${VERSION}.xz"
readonly DOWNLOAD_URL="http://frc971.org/Build-Dependencies/${INSTALLER_NAME}"
if [[ ! -d "${VERSION_DIR}" ]]; then
@@ -60,7 +61,11 @@
# Now, download into the ~/.cache folder
if [ ! -e "${HOME}/.cache/bazel/${INSTALLER_NAME}" ];
then
- wget "${DOWNLOAD_URL}" -O "${INSTALLER_NAME}" --no-verbose --show-progress
+ if [ -t 0 ] ; then
+ wget "${DOWNLOAD_URL}" -O "${INSTALLER_NAME}" --no-verbose --show-progress
+ else
+ wget "${DOWNLOAD_URL}" -O "${INSTALLER_NAME}" --no-verbose --quiet
+ fi
mv "${INSTALLER_NAME}" "${HOME}/.cache/bazel/${INSTALLER_NAME}"
fi
rm -rf "${DOWNLOAD_TEMP_DIR}"
@@ -68,7 +73,9 @@
( cd "${TEMP_DIR}"
echo "Unpacking Bazel version ${VERSION}..." >&2
- dpkg-deb -x "${HOME}/.cache/bazel/${INSTALLER_NAME}" extracted
+ mkdir -p extracted/usr/bin
+ xz -d ${HOME}/.cache/bazel/${INSTALLER_NAME} -c > extracted/usr/bin/bazel-real
+ chmod a+x extracted/usr/bin/bazel-real
)
touch "${TEMP_DIR}/extracted/usr/bin/bazel.bazelrc"
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
index d4e7fbb..55abdc4 100644
--- a/tools/cpp/CROSSTOOL
+++ b/tools/cpp/CROSSTOOL
@@ -228,7 +228,6 @@
compiler_flag: "-D_FORTIFY_SOURCE=1"
compiler_flag: "-fstack-protector"
compiler_flag: "-fPIE"
- linker_flag: "-pie"
linker_flag: "-Wl,-z,relro,-z,now"
# Pretty much everything needs this, including parts of the glibc STL...
@@ -280,6 +279,16 @@
compiler_flag: "-fdata-sections"
linker_flag: "-Wl,--gc-sections"
}
+ feature {
+ name: "pie_for_linking"
+ enabled: true
+ flag_set {
+ action: "c++-link-executable"
+ flag_group {
+ flag: "-pie"
+ }
+ }
+ }
}
toolchain {
@@ -476,7 +485,6 @@
compiler_flag: "-U_FORTIFY_SOURCE"
compiler_flag: "-fstack-protector"
compiler_flag: "-fPIE"
- linker_flag: "-pie"
linker_flag: "-Wl,-z,relro,-z,now"
# Pretty much everything needs this, including parts of the glibc STL...
@@ -532,6 +540,16 @@
compiler_flag: "-fdata-sections"
linker_flag: "-Wl,--gc-sections"
}
+ feature {
+ name: "pie_for_linking"
+ enabled: true
+ flag_set {
+ action: "c++-link-executable"
+ flag_group {
+ flag: "-pie"
+ }
+ }
+ }
}
toolchain {
@@ -730,7 +748,6 @@
compiler_flag: "-U_FORTIFY_SOURCE"
compiler_flag: "-fstack-protector"
compiler_flag: "-fPIE"
- linker_flag: "-pie"
linker_flag: "-Wl,-z,relro,-z,now"
# Pretty much everything needs this, including parts of the glibc STL...
@@ -782,6 +799,16 @@
compiler_flag: "-fdata-sections"
linker_flag: "-Wl,--gc-sections"
}
+ feature {
+ name: "pie_for_linking"
+ enabled: true
+ flag_set {
+ action: "c++-link-executable"
+ flag_group {
+ flag: "-pie"
+ }
+ }
+ }
}
toolchain {