Waterfall/BungeeCord-Patches/0050-OSX-native-zlib-and-crypto.patch
Shane Freeder 2cab85cbef
Don't intern scoreboard player names
This patch was heavily intented to fix a server side issue which
is generally no longer relevant, not to mention the cost of interning
only cements this patch into it's grave
2020-05-08 19:40:43 +01:00

334 lines
20 KiB
Diff

From 707abf979a99dd603a6e6ae3c701734a44c716f7 Mon Sep 17 00:00:00 2001
From: Colin Godsey <crgodsey@gmail.com>
Date: Tue, 16 Apr 2019 07:25:52 -0600
Subject: [PATCH] OSX native zlib and crypto
diff --git a/native/compile-native.sh b/native/compile-native.sh
index 98baf0e2..bdd1cd6b 100755
--- a/native/compile-native.sh
+++ b/native/compile-native.sh
@@ -1,6 +1,17 @@
#!/bin/sh
-CXX="g++ -shared -fPIC -O3 -Wall -Werror -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/"
+# Waterfall - rewrite below to extend platform support
-$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/native-cipher.so -lcrypto
-$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/native-compress.so -lz
+if [[ "$OSTYPE" == "darwin"* ]]; then
+ # brew install mbedtls zlib
+ PREFIX="osx-"
+ CXX_ARGS="/usr/local/lib/libmbedcrypto.a -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/darwin/ -I/usr/local/include -L/usr/local/lib"
+else
+ # apt-get install libmbedtls-dev zlib1g-dev
+ CXX_ARGS="-lcrypto -lz -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/"
+fi
+
+CXX="g++ -shared -fPIC -O3 -Wall -Werror"
+
+$CXX src/main/c/NativeCipherImpl.cpp -o src/main/resources/${PREFIX}native-cipher.so $CXX_ARGS
+$CXX src/main/c/NativeCompressImpl.cpp -o src/main/resources/${PREFIX}native-compress.so $CXX_ARGS
diff --git a/native/src/main/c/NativeCipherImpl.cpp b/native/src/main/c/NativeCipherImpl.cpp
index aa7a12b4..0cedd7e5 100644
--- a/native/src/main/c/NativeCipherImpl.cpp
+++ b/native/src/main/c/NativeCipherImpl.cpp
@@ -1,5 +1,7 @@
// Support for CentOS 6
+#if __linux__ // Waterfall
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
+#endif // Waterfall
#include <stdlib.h>
#include <string.h>
diff --git a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
index 4e4130bc..a6d7cfb5 100644
--- a/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
+++ b/native/src/main/java/net/md_5/bungee/jni/NativeCode.java
@@ -19,6 +19,7 @@ public final class NativeCode<T>
public NativeCode(String name, Class<? extends T> javaImpl, Class<? extends T> nativeImpl)
{
+ if ("Mac OS X".equals( System.getProperty( "os.name" ))) name = "osx-" + name; // Waterfall
this.name = name;
this.javaImpl = javaImpl;
this.nativeImpl = nativeImpl;
@@ -80,6 +81,6 @@ public final class NativeCode<T>
public static boolean isSupported()
{
- return "Linux".equals( System.getProperty( "os.name" ) ) && "amd64".equals( System.getProperty( "os.arch" ) );
+ return ("Linux".equals( System.getProperty( "os.name" ) ) || "Mac OS X".equals( System.getProperty( "os.name" ) )) && ("amd64".equals( System.getProperty( "os.arch" ) ) || "x86_64".equals( System.getProperty( "os.arch" )) ); // Waterfall
}
}
diff --git a/native/src/main/resources/osx-native-cipher.so b/native/src/main/resources/osx-native-cipher.so
new file mode 100755
index 0000000000000000000000000000000000000000..4d7916066e78333aa659cd4ba491d94f26890893
GIT binary patch
literal 24164
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
WEa4_m=QdHGy<ZGc=>C3tHuv9J&nfo+
literal 0
HcmV?d00001
diff --git a/native/src/main/resources/osx-native-compress.so b/native/src/main/resources/osx-native-compress.so
new file mode 100755
index 0000000000000000000000000000000000000000..02c98d2c48097fdc3312534ee706b3905283eb45
GIT binary patch
literal 9676
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
Bu)Y8Q
literal 0
HcmV?d00001
--
2.26.1