diff --git a/.gitignore b/.gitignore index fa0d5b8..87f5a24 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,7 @@ *.pyc *.stackdump .gdb_history + +# Build artifacts +build-log* +pscrypto-lib diff --git a/Makefile.inc b/Makefile.inc index 4075a9e..749b1bb 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -75,3 +75,6 @@ else lib-name = lib$(1).so exe-name = $(1) endif + +export OS +export ARCH diff --git a/external/psf-cryptopp b/external/psf-cryptopp index dcd6893..28b6e6e 160000 --- a/external/psf-cryptopp +++ b/external/psf-cryptopp @@ -1 +1 @@ -Subproject commit dcd6893c58009cf72e0370b77b2e72479ffd387f +Subproject commit 28b6e6e6edaf340e2369707283a990ea24943f6b diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..a62e92f --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -ue + +CONFIGS=3 +BUILD_MATRIX_PREFIX=("x86_64-w64-mingw32-" "i686-w64-mingw32-" "x86_64-linux-gnu-") +BUILD_MATRIX_ARTIFACT=("pscrypto.dll" "pscrypto.dll" "libpscrypto.so") +BUILD_MATRIX_JAVA_FOLDER=("win32-x86-64" "win32-x86" "linux-x86-64") + +BUILD_DEST="pscrypto-lib" +read -p "What version: " VERSION + +mkdir -p "$BUILD_DEST" + +echo "Now building $CONFIGS pscrypto configs for v$VERSION" + +for i in `seq 1 $CONFIGS`; do + iter=$(( $i-1 )) + javaFolder=${BUILD_MATRIX_JAVA_FOLDER[$iter]} + + export PREFIX=${BUILD_MATRIX_PREFIX[$iter]} + + echo "Now building $javaFolder..." + make clean > /dev/null 2>&1 + make -j > "build-log-${javaFolder}.txt" 2>&1 + + mkdir -p "$BUILD_DEST/$javaFolder" + cp "pscrypto/${BUILD_MATRIX_ARTIFACT[$iter]}" "$BUILD_DEST/$javaFolder/" +done + +echo "Builds ${BUILD_MATRIX_JAVA_FOLDER[*]} complete" +echo "Build folder: $BUILD_DEST" + +cat < "$BUILD_DEST/README.txt" +This contains native PSCrypto libraries for use in the JVM. +See https://github.com/psforever/PSCrypto for more details. +EOF + +cat < "$BUILD_DEST/VERSION.txt" +$VERSION +EOF + +echo "Build listing: " +ls -R $BUILD_DEST