From fe436f73138dec14b5268e3aaa7b9ab2357fc102 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Fri, 24 May 2013 13:28:10 +0200 Subject: [PATCH 1/1] Try to normalize path for libraries bundled into simgrid.jar. --- src/bindings/java/org/simgrid/msg/Msg.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/bindings/java/org/simgrid/msg/Msg.java b/src/bindings/java/org/simgrid/msg/Msg.java index 2cf133a523..c06adb312a 100644 --- a/src/bindings/java/org/simgrid/msg/Msg.java +++ b/src/bindings/java/org/simgrid/msg/Msg.java @@ -37,10 +37,19 @@ public final class Msg { nativeInit(); } private static void loadLib (String name) { - String Os = System.getProperty("os.name"); - //Windows may report its name in java differently from cmake, which generated the path - if(Os.toLowerCase().indexOf("win") >= 0) Os = "Windows"; - String Path = "NATIVE/"+Os+"/"+System.getProperty("os.arch")+"/"; + String Os = System.getProperty("os.name"); + String Arch = System.getProperty("os.arch"); + // Some OS/Arch may be different between Java and Cmake, + // which generated the path + if (Os.toLowerCase().startsWith("win")) + Os = "Windows"; + else if (Os.contains("OS X")) + Os = "Darwin"; + if (Arch.equalsIgnoreCase("x86")) + Arch = "i386"; + else if (Arch.equalsIgnoreCase("x86_64")) + Arch = "amd64"; + String Path = "NATIVE/" + Os + "/" + Arch + "/"; String filename=name; InputStream in = Msg.class.getClassLoader().getResourceAsStream(Path+filename); -- 2.20.1