diff --git a/pom.xml b/pom.xml index dd2ae116..84ba9a6d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.abstractj.kalium kalium - 0.6.1-SNAPSHOT + 0.7.1-SNAPSHOT jar kalium diff --git a/src/main/java/org/abstractj/kalium/NaCl.java b/src/main/java/org/abstractj/kalium/NaCl.java index 56474221..c75f70cf 100644 --- a/src/main/java/org/abstractj/kalium/NaCl.java +++ b/src/main/java/org/abstractj/kalium/NaCl.java @@ -43,12 +43,24 @@ private static String libraryName() { } private static final class SingletonHolder { - public static final Sodium SODIUM_INSTANCE = - LibraryLoader.create(Sodium.class) - .search("/usr/local/lib") - .search("/opt/local/lib") - .search("lib") - .load(LIBRARY_NAME); + public static final Sodium SODIUM_INSTANCE; + + static { + LibraryLoader loader = LibraryLoader.create(Sodium.class); + // custom paths (if any) + String libPath = System.getenv("LD_LIBRARY_PATH"); + if (libPath != null) { + for (String path : libPath.split(":")) { + loader.search(path); + } + } + // std paths + loader.search("/usr/local/lib") + .search("/opt/local/lib") + .search("lib"); + + SODIUM_INSTANCE = loader.load(LIBRARY_NAME); + } }