From 7dffae4620b6258dc4d5bda6c4ee9cdb634ddb21 Mon Sep 17 00:00:00 2001
From: jrandom <jrandom>
Date: Wed, 1 Sep 2004 06:53:00 +0000
Subject: [PATCH] workaround a bug in libtool (which Kaffe uses) that b0rks on
 native libraries that aren't named "typically" for the OS (libjbigi.so, etc)
 (sun, however, works fine with randomly named libraries)

---
 core/java/src/freenet/support/CPUInformation/CPUID.java | 4 +++-
 core/java/src/net/i2p/util/NativeBigInteger.java        | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/core/java/src/freenet/support/CPUInformation/CPUID.java b/core/java/src/freenet/support/CPUInformation/CPUID.java
index f2b16e4450..1dc94a72f5 100644
--- a/core/java/src/freenet/support/CPUInformation/CPUID.java
+++ b/core/java/src/freenet/support/CPUInformation/CPUID.java
@@ -37,6 +37,8 @@ public class CPUID {
     //.matches() is a java 1.4+ addition, using a simplified version for 1.3+
     //private static final boolean isX86 = System.getProperty("os.arch").toLowerCase().matches("i?[x0-9]86(_64)?");
     private static final boolean isX86 = (-1 != System.getProperty("os.arch").indexOf("86"));
+    private static final String libPrefix = (System.getProperty("os.name").startsWith("Win") ? "" : "lib");
+    private static final String libSuffix = (System.getProperty("os.name").startsWith("Win") ? ".dll" : ".so");
     
     static
     {
@@ -483,7 +485,7 @@ public class CPUID {
         File outFile = null;
         try {
             InputStream libStream = resource.openStream();
-            outFile = File.createTempFile("jcpuid", "lib.tmp");
+            outFile = File.createTempFile(libPrefix + "jcpuid", "lib.tmp" + libSuffix);
             FileOutputStream fos = new FileOutputStream(outFile);
             byte buf[] = new byte[4096*1024];
             while (true) {
diff --git a/core/java/src/net/i2p/util/NativeBigInteger.java b/core/java/src/net/i2p/util/NativeBigInteger.java
index 6f23e88bf6..9fbc633d6a 100644
--- a/core/java/src/net/i2p/util/NativeBigInteger.java
+++ b/core/java/src/net/i2p/util/NativeBigInteger.java
@@ -103,6 +103,10 @@ public class NativeBigInteger extends BigInteger {
     private final static String JBIGI_OPTIMIZATION_PENTIUM3   = "pentium3";
     private final static String JBIGI_OPTIMIZATION_PENTIUM4   = "pentium4";
 
+    /* libjbigi.so vs jbigi.dll */
+    private static final String _libPrefix = (System.getProperty("os.name").startsWith("Win") ? "" : "lib");
+    private static final String _libSuffix = (System.getProperty("os.name").startsWith("Win") ? ".dll" : ".so");
+
     private final static String sCPUType; //The CPU Type to optimize for (one of the above strings)
     
     static {
@@ -480,7 +484,7 @@ public class NativeBigInteger extends BigInteger {
         File outFile = null;
         try {
             InputStream libStream = resource.openStream();
-            outFile = File.createTempFile("jbigi", "lib.tmp");
+            outFile = File.createTempFile(_libPrefix + "jbigi", "lib.tmp" + _libSuffix);
             FileOutputStream fos = new FileOutputStream(outFile);
             byte buf[] = new byte[4096*1024];
             while (true) {
-- 
GitLab