diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java b/src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java index 2fe564e678..6f42c1cf7f 100644 --- a/src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java +++ b/src/main/java/com/google/devtools/build/lib/windows/WindowsJniLoader.java @@ -14,6 +14,8 @@ package com.google.devtools.build.lib.windows; +import java.io.IOException; + /** * Loads native code under Windows. */ @@ -24,7 +26,17 @@ public class WindowsJniLoader { return; } - System.loadLibrary("windows_jni"); + try { + System.loadLibrary("windows_jni"); + } catch (UnsatisfiedLinkError ex) { + // We are probably in tests, let's try to find the library in the runfiles + try { + System.load(WindowsRunfiles.getRunfile("io_bazel/src/main/native/windows_jni.dll")); + } catch (IOException e) { + // We throw the UnsatisfiedLinkError if we cannot find the runfiles + throw ex; + } + } jniLoaded = true; } |