Ver Fonte

Enable AES-NI on Android X86-64

Need to find the magic incantation to enable it on ARM64 still
Grant Limberg há 4 anos atrás
pai
commit
9e6dba9066
2 ficheiros alterados com 9 adições e 1 exclusões
  1. 6 0
      java/jni/Android.mk
  2. 3 1
      node/Constants.hpp

+ 6 - 0
java/jni/Android.mk

@@ -12,9 +12,15 @@ LOCAL_LDLIBS := -llog
 # LOCAL_CFLAGS := -g
 
 LOCAL_CFLAGS := -DZT_USE_MINIUPNPC
+ifeq ($(TARGET_ARCH_ABI),x86_64)
+    LOCAL_CXXFLAGS := -maes -mpclmul -msse4.1
+endif
 
 # ZeroTierOne SDK source files
 LOCAL_SRC_FILES := \
+    $(ZT1)/node/AES.cpp \
+    $(ZT1)/node/Bond.cpp \
+    $(ZT1)/node/BondController.cpp \
     $(ZT1)/node/C25519.cpp \
 	$(ZT1)/node/Capability.cpp \
 	$(ZT1)/node/CertificateOfMembership.cpp \

+ 3 - 1
node/Constants.hpp

@@ -111,8 +111,10 @@
 #include <mmintrin.h>
 #endif
 
+
+
 #if (defined(__ARM_NEON) || defined(__ARM_NEON__) || defined(ZT_ARCH_ARM_HAS_NEON))
-#if defined(__APPLE__) && !defined(__LP64__)
+#if (defined(__APPLE__) && !defined(__LP64__)) || defined(__ANDROID__)
 #ifdef ZT_ARCH_ARM_HAS_NEON
 #undef ZT_ARCH_ARM_HAS_NEON
 #endif