geforkt von Mirrors/Velocity
1bb84f81df
OpenSSL is much more portable and optimized (important for aarch64) and most systems already have a version. Unfortunately, OpenSSL likes to break their ABI. Thankfully, Velocity's natives system is very flexible largely, so we can provide multiple versions of this crypto. Versions of the dynamically-linked crypto were compiled on CentOS 7 (still supported until 2024, uses OpenSSL 1.0.x) and Debian 9 (the oldest distro including OpenSSL 1.1.0, whose LTS supports ends in 2022). The choice of distros was intended to cover most modern distributions (2014 and afterwards). An ARM compilation (using Debian 9) will be published soon.
19 Zeilen
719 B
Bash
Ausführbare Datei
19 Zeilen
719 B
Bash
Ausführbare Datei
#!/bin/bash
|
|
|
|
if [ ! -d libdeflate ]; then
|
|
echo "Cloning libdeflate..."
|
|
git clone https://github.com/ebiggers/libdeflate.git
|
|
fi
|
|
|
|
echo "Compiling libdeflate..."
|
|
cd libdeflate || exit
|
|
CFLAGS="-fPIC -O2" make
|
|
cd ..
|
|
|
|
CFLAGS="-O3 -I$JAVA_HOME/include/ -I$JAVA_HOME/include/linux/ -fPIC -shared -Wl,-z,noexecstack"
|
|
ARCH=$(uname -m)
|
|
mkdir -p src/main/resources/linux_$ARCH
|
|
gcc $CFLAGS -Ilibdeflate src/main/c/jni_util.c src/main/c/jni_zlib_deflate.c src/main/c/jni_zlib_inflate.c \
|
|
libdeflate/libdeflate.a -o src/main/resources/linux_$ARCH/velocity-compress.so
|
|
gcc $CFLAGS -I $MBEDTLS_ROOT/include -shared src/main/c/jni_util.c src/main/c/jni_cipher.c \
|
|
-o src/main/resources/linux_$ARCH/velocity-cipher.so -lcrypto |