The StringCT-java project includes a JNI C library for Ed25519 operations. While the code automatically falls back to a pure Java implementation if the native library is missing, you can compile the native library for better performance.
To compile, navigate to the c directory within the project and use gcc to compile the source files against your JDK headers.
Note: Replace <OS> with darwin on OSX or linux on Linux, and provide the actual paths to your JDK installation.
cd <path to RuffCT-java/c directory>
# replace <OS> with darwin on OSX, or with linux on Linux.
gcc -fPIC -c how_monero_hodl_jni_CryptoOpsUtil.c crypto-ops.c crypto-ops-data.c -I /<path to jdk>/include/<OS>/ -I /<path to jdk>/include
gcc -dynamiclib -o libcryptoopsutil.jnilib how_monero_hodl_jni_CryptoOpsUtil.o crypto-ops.o crypto-ops-data.o -framework JavaVM