From d2ee8dce1c0b939e6d60695edd93b7132cd8b43b Mon Sep 17 00:00:00 2001 From: Colin Godsey 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 c342e782..2ee8df94 100755 --- a/native/compile-native.sh +++ b/native/compile-native.sh @@ -8,7 +8,17 @@ echo "Compiling mbedtls" echo "Compiling zlib" (cd zlib && CFLAGS=-fPIC ./configure --static && make) -CXX="g++ -shared -fPIC -O3 -Wall -Werror -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/" +# Waterfall - rewrite below to extend platform support +CXX="g++ -shared -fPIC -O3 -Wall -Werror" -$CXX -Imbedtls/include src/main/c/NativeCipherImpl.cpp -o src/main/resources/native-cipher.so mbedtls/library/libmbedcrypto.a -$CXX -Izlib src/main/c/NativeCompressImpl.cpp -o src/main/resources/native-compress.so zlib/libz.a +if [[ "$OSTYPE" == "darwin"* ]]; then + PREFIX="osx-" + CXX_ARGS="-I$JAVA_HOME/include/ -I$JAVA_HOME/include/darwin/" +else + CXX_ARGS="-I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/ -Wl,--wrap=memcpy" +fi + +CXX="g++ -shared -fPIC -O3 -Wall -Werror" + +$CXX -Imbedtls/include src/main/c/NativeCipherImpl.cpp -o src/main/resources/${PREFIX:-}native-cipher.so mbedtls/library/libmbedcrypto.a $CXX_ARGS +$CXX -Izlib src/main/c/NativeCompressImpl.cpp -o src/main/resources/${PREFIX:-}native-compress.so zlib/libz.a $CXX_ARGS 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 62bdaa0e..5218ffc3 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 @@ -20,6 +20,7 @@ public final class NativeCode public NativeCode(String name, Supplier javaImpl, Supplier nativeImpl) { + if ("Mac OS X".equals( System.getProperty( "os.name" ))) name = "osx-" + name; // Waterfall this.name = name; this.javaImpl = javaImpl; this.nativeImpl = nativeImpl; @@ -75,6 +76,6 @@ public final class NativeCode public static boolean isSupported() { - return "Linux".equals( System.getProperty( "os.name" ) ) && "amd64".equals( System.getProperty( "os.arch" ) ); + return ("Linux".equals( System.getProperty( "os.name" ) ) && ("amd64".equals( System.getProperty( "os.arch" ) ) || "x86_64".equals( System.getProperty( "os.arch" )))) || ("Mac OS X".equals( System.getProperty( "os.name" ) ) && "aarch64".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..13ce8b6df298be2f4e1693e008371a8770d3b41f GIT binary patch literal 36888 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 YFSzF`_p;|E#gsG;Opk>B#DL>}0I}yufB*mh literal 0 HcmV?d00001 -- 2.44.0