summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTobias Tschinkowitz <he4d@posteo.de>2018-03-19 12:11:58 -0700
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>2018-03-19 12:30:05 -0700
commitccb761364d04b7c3bfffc8fba6ac66b327e5833b (patch)
tree4254f52f510751f26cff9f92e9aa04f5b964f674 /java
parent1139422dfbdc3cdf290f8b57583563d8c678d559 (diff)
Enable compilation on OpenBSD
Summary: I modified the Makefile so that we can compile rocksdb on OpenBSD. The instructions for building have been added to INSTALL.md. The whole compilation process works fine like this on OpenBSD-current Closes https://github.com/facebook/rocksdb/pull/3617 Differential Revision: D7323754 Pulled By: siying fbshipit-source-id: 990037d1cc69138d22f85bd77ef4dc8c1ba9edea
Diffstat (limited to 'java')
-rw-r--r--java/src/main/java/org/rocksdb/util/Environment.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/java/src/main/java/org/rocksdb/util/Environment.java b/java/src/main/java/org/rocksdb/util/Environment.java
index 36a4b4a20..7e1b50cff 100644
--- a/java/src/main/java/org/rocksdb/util/Environment.java
+++ b/java/src/main/java/org/rocksdb/util/Environment.java
@@ -33,6 +33,10 @@ public class Environment {
return OS.contains("sunos");
}
+ public static boolean isOpenBSD() {
+ return (OS.contains("openbsd"));
+ }
+
public static boolean is64Bit() {
if (ARCH.indexOf("sparcv9") >= 0) {
return true;
@@ -67,6 +71,8 @@ public class Environment {
return String.format("%sjni-solaris%s", name, arch);
} else if (isWindows() && is64Bit()) {
return String.format("%sjni-win64", name);
+ } else if (isOpenBSD()) {
+ return String.format("%sjni-openbsd%s", name, is64Bit() ? "64" : "32");
}
throw new UnsupportedOperationException(String.format("Cannot determine JNI library name for ARCH='%s' OS='%s' name='%s'", ARCH, OS, name));
@@ -77,7 +83,7 @@ public class Environment {
}
private static String appendLibOsSuffix(final String libraryFileName, final boolean shared) {
- if (isUnix() || isAix() || isSolaris() || isFreeBSD()) {
+ if (isUnix() || isAix() || isSolaris() || isFreeBSD() || isOpenBSD()) {
return libraryFileName + ".so";
} else if (isMac()) {
return libraryFileName + (shared ? ".dylib" : ".jnilib");