Add remaining changes for bootstrap build on OpenBSD.
I have tested these changes via a bootstrap build on OpenBSD 6.6-current (amd64 architecture). The resulting `bazel` binary appeared to work in some simple testing involving `cc_library`, `cc_binary`, `java_library`, and `java_binary`.
Known issues/limitations:
- Building a `java_binary`'s deploy JAR fails because the `singlejar` tool fails to build. I intend to investigate soon.
- Running Bazel requires a `--host_javabase=@local_jdk//:jdk` flag.
- Sandboxing is unsupported.
This change, split out of the larger PR https://github.com/bazelbuild/bazel/pull/10274, is part of the OpenBSD port in https://github.com/bazelbuild/bazel/issues/10250. Most of the changes in that larger PR have already been committed via several smaller PRs (see the PRs linked from https://github.com/bazelbuild/bazel/issues/10250). This PR collects the remaining changes.
Closes #10567.
PiperOrigin-RevId: 290745757
diff --git a/scripts/bootstrap/buildenv.sh b/scripts/bootstrap/buildenv.sh
index a807af4..5f0c003 100755
--- a/scripts/bootstrap/buildenv.sh
+++ b/scripts/bootstrap/buildenv.sh
@@ -93,6 +93,11 @@
JAVA_HOME="${JAVA_HOME:-/usr/local/openjdk8}"
;;
+openbsd)
+ # JAVA_HOME must point to a Java installation.
+ JAVA_HOME="${JAVA_HOME:-/usr/local/jdk-1.8.0}"
+ ;;
+
darwin)
if [[ -z "$JAVA_HOME" ]]; then
JAVA_HOME="$(/usr/libexec/java_home -v ${JAVA_VERSION}+ 2> /dev/null)" \
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD
index 8a8a4c7..71d1705 100644
--- a/scripts/packages/BUILD
+++ b/scripts/packages/BUILD
@@ -1,3 +1,5 @@
+load(":self_extract_binary.bzl", "self_extract_binary")
+
package(default_visibility = ["//scripts/packages:__subpackages__"])
filegroup(
@@ -20,6 +22,7 @@
":zip-bazel-exe_nojdk",
],
"//src/conditions:freebsd": [],
+ "//src/conditions:openbsd": [],
"//src/conditions:darwin": [
":with-jdk/install.sh",
":without-jdk/install.sh",
@@ -120,8 +123,6 @@
cmd = "mkdir -p $$(dirname $@); cp $< $@",
)
-load(":self_extract_binary.bzl", "self_extract_binary")
-
[self_extract_binary(
name = "%s/install.sh" % kind,
flatten_resources = [
diff --git a/scripts/packages/template_bin.sh b/scripts/packages/template_bin.sh
index ca97e72..0c27a4d 100755
--- a/scripts/packages/template_bin.sh
+++ b/scripts/packages/template_bin.sh
@@ -115,6 +115,10 @@
JAVA_HOME="/usr/local/openjdk8"
BASHRC="~/.bashrc"
;;
+ openbsd)
+ JAVA_HOME="/usr/local/jdk-1.8.0"
+ BASHRC="~/.bashrc"
+ ;;
darwin)
JAVA_HOME="$(/usr/libexec/java_home -v ${JAVA_VERSION}+ 2> /dev/null)" || true
BASHRC="~/.bash_profile"