diff options
author | Tobias Tschinkowitz <he4d@posteo.de> | 2018-03-19 12:11:58 -0700 |
---|---|---|
committer | Facebook Github Bot <facebook-github-bot@users.noreply.github.com> | 2018-03-19 12:30:05 -0700 |
commit | ccb761364d04b7c3bfffc8fba6ac66b327e5833b (patch) | |
tree | 4254f52f510751f26cff9f92e9aa04f5b964f674 /java | |
parent | 1139422dfbdc3cdf290f8b57583563d8c678d559 (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.java | 8 |
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"); |