#!/usr/bin/env bash
if [ -z "$SAGE_LOCAL" ]; then
echo >&2 "Error: SAGE_LOCAL undefined - exiting..."
echo >&2 "Maybe run 'sage -sh'?"
exit 1
fi
if [ "$SAGE64" = yes ]; then
echo "Building a 64-bit version of eclib."
if [ -z "$CFLAG64" ]; then
CFLAG64=-m64
fi
if [ -z "$CXXFLAG64" ]; then
CXXFLAG64=$CFLAG64
fi
CFLAGS="$CFLAGS $CFLAG64"
CXXFLAGS="$CXXFLAGS $CXXFLAG64"
CPPFLAGS="$CPPFLAGS $CFLAG64"
LDFLAGS="$LDFLAGS $CFLAG64" # or $CXXFLAG64
fi
if [ "$SAGE_DEBUG" = yes ]; then
echo >&2 "Warning: Setting SAGE_DEBUG=yes completely disables optimization."
CFLAGS="$CFLAGS -g -O0"
CXXFLAGS="$CXXFLAGS -g -O0"
else
# Add debug symbols by default, enable optimization, but let the user
# still override these settings:
CFLAGS="-g -O3 $CFLAGS"
CXXFLAGS="-g -O3 $CXXFLAGS"
fi
export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
echo "Deleting old versions of eclib libraries, which"
echo "would interfere with new builds..."
# Delete any pre-autotools libraries:
rm -f "$SAGE_LOCAL"/lib/lib{curvesntl,g0nntl,jcntl,rankntl,mwrank}.*
# Delete autotools libraries:
rm -f "$SAGE_LOCAL"/lib/lib{e,j}c.*
if [ "$UNAME" = "CYGWIN" ]; then
rm -f "$SAGE_LOCAL"/lib/cyg{e,j}c-*.dll
fi
echo "Deleting old include directory..."
rm -rf "$SAGE_LOCAL"/include/eclib/
cd src/
echo
echo "Now configuring eclib..."
./configure --prefix="$SAGE_LOCAL" \
--with-ntl="$SAGE_LOCAL" \
--with-pari="$SAGE_LOCAL" \
--with-flint="$SAGE_LOCAL" \
--disable-allprogs
if [ $? -ne 0 ]; then
echo >&2 "Error configuring eclib."
exit 1
fi
echo
echo "Now building eclib..."
$MAKE
if [ $? -ne 0 ]; then
echo >&2 "Error building eclib."
exit 1
fi
echo
echo "Build succeeded. Now installing eclib..."
$MAKE install
if [ $? -ne 0 ]; then
echo >&2 "Error installing eclib."
exit 1
fi