libcryfs/vendor/cryptopp/vendor_cryptopp/rdrand-nasm.sh
2018-05-20 19:21:59 -07:00

65 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env sh
IS_LINUX=$(uname -s | grep -i -c linux)
IS_SOLARIS=$(uname -s | grep -i -c sunos)
IS_DARWIN=$(uname -s | grep -i -c darwin)
IS_CYGWIN=$(uname -s | grep -i -c cygwin)
IS_OPENBSD=$(uname -s | grep -i -c openbsd)
IS_DRAGONFLY=$(uname -s | grep -i -c dragonfly)
IS_FREEBSD=$(uname -s | grep -i -c freebsd)
IS_NETBSD=$(uname -s | grep -i -c netbsd)
rm -f rdrand-x86.o rdrand-x32.o rdrand-x64.o &>/dev/null
SUCCESS=0
NASM=$(which nasm 2>&1)
if [ ! -f "$NASM" ]; then
echo "Unable to locate Nasm"
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
fi
if [ "$IS_LINUX" -eq "1" ]; then
echo "Building rdrand and rdseed modules for Linux"
nasm -f elf32 rdrand.s -DX86 -g -o rdrand-x86.o
nasm -f elfx32 rdrand.s -DX32 -g -o rdrand-x32.o
nasm -f elf64 rdrand.s -DX64 -g -o rdrand-x64.o
SUCCESS=1
fi
if [ "$IS_OPENBSD" -eq "1" ] || [ "$IS_NETBSD" -eq "1" ] || [ "$IS_FREEBSD" -eq "1" ] || [ "$IS_DRAGONFLY" -eq "1" ]; then
echo "Building rdrand and rdseed modules for BSD"
nasm -f elf32 rdrand.s -DX86 -g -o rdrand-x86.o
nasm -f elfx32 rdrand.s -DX32 -g -o rdrand-x32.o
nasm -f elf64 rdrand.s -DX64 -g -o rdrand-x64.o
SUCCESS=1
fi
if [ "$IS_SOLARIS" -eq "1" ]; then
echo "Building rdrand and rdseed modules for Solaris"
nasm -f elf32 rdrand.s -DX86 -o rdrand-x86.o
nasm -f elfx32 rdrand.s -DX32 -o rdrand-x32.o
nasm -f elf64 rdrand.s -DX64 -o rdrand-x64.o
SUCCESS=1
fi
if [ "$IS_DARWIN" -eq "1" ]; then
echo "Building rdrand and rdseed modules for Darwin"
nasm -f macho32 rdrand.s -DDARWIN -DX86 -g -o rdrand-x86.o
nasm -f macho64 rdrand.s -DDARWIN -DX64 -g -o rdrand-x64.o
SUCCESS=1
fi
if [ "$IS_CYGWIN" -eq "1" ]; then
echo "Building rdrand and rdseed modules for Cygwin"
nasm -f win32 rdrand.s -DCYGWIN -DX86 -g -o rdrand-x86.o
nasm -f win64 rdrand.s -DCYGWIN -DX64 -g -o rdrand-x64.o
SUCCESS=1
fi
if [ "$SUCCESS" -eq "0" ]; then
echo "Failed to build rdrand and rdseed modules"
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
fi
[ "$0" = "$BASH_SOURCE" ] && exit 0 || return 0