LLVM AOT requires SSE4.1, try to warn and deal

(cherry picked from commit 4992eb2dc23b4f00ebdab31eeed27e171feee91c)


Former-commit-id: 0b1907a20d1773fc22b46a7d0bcb2009516cd590
This commit is contained in:
Jo Shields 2019-01-02 15:33:13 -05:00
parent fd3c825f5f
commit d4f6217d7b

View File

@ -2,9 +2,22 @@ if [ "$1" = "configure" ]
then
TEMPDIR=`mktemp -d -t monoaot.XXXXXXXXX`
MONOARCH=`mono --version | grep Architecture | sed 's/.*: //' | sed 's/el,.*//'`
echo "Mono precompiling #FILE# for ${MONOARCH}..."
HASSSE41=`grep sse4_1 /proc/cpuinfo || true`
TRYLLVM=""
LLVMNOTE=""
if [ -e "/usr/lib/libmono-llvm.so.0" ]
then
TRYLLVM="try-llvm,"
LLVMNOTE=" (trying with LLVM)"
fi
if [ -z "$HASSSE41" ]
then
TRYLLVM=""
LLVMNOTE=" (LLVM disabled due to missing SSE4.1)"
fi
echo "Mono precompiling #FILE# for ${MONOARCH}${LLVMNOTE}..."
mkdir -p /usr/lib/mono/aot-cache/${MONOARCH}/
/usr/bin/mono --aot=try-llvm,temp-path=${TEMPDIR},outfile=/usr/lib/mono/aot-cache/${MONOARCH}/`basename #FILE#.so` -O=all #FILE# > /dev/null 2>&1 || true
/usr/bin/mono --aot=${TRYLLVM}temp-path=${TEMPDIR},outfile=/usr/lib/mono/aot-cache/${MONOARCH}/`basename #FILE#.so` -O=all #FILE# > /dev/null 2>&1 || true
if [ -n "${TEMPDIR}" -a "${TEMPDIR}" != "/tmp" -a "${TEMPDIR}" != "/tmp/" -a "${TEMPDIR}" != "/" ]
then
rm -f ${TEMPDIR}/*