Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagesmc
Path: blob/master/build/pkgs/cddlib/spkg-install
8817 views
#!/usr/bin/env bash

if [ "$SAGE_LOCAL" = "" ]; then
   echo "SAGE_LOCAL undefined ... exiting";
   echo "Maybe run 'sage -sh'?"
   exit 1
fi

# Normaly for a 64-bit build, the -m64 option is added to
# gcc, but other compilers will not accept that, so
# allow it to be configured as something different if need
# be.

if [ -z $CFLAG64 ] ; then
   CFLAG64=-m64
fi

if [ "x$SAGE64" = xyes ]; then
   echo "64 bit build of cddlib"
   CFLAGS="$CFLAGS $CFLAG64"; export CFLAGS
fi


# Patches to apply on top of the clean upstream source under src/.
patch() {
    # A portable random number generator
    cp -p patches/random.[c,h] src/lib-src/
    cp -p patches/random.[c,h] src/lib-src-gmp/
    cp -p patches/cddcore.c src/lib-src/
    cp -p patches/cddcore.c src/lib-src-gmp/
    cp -p patches/cddlp.c src/lib-src/
    cp -p patches/cddlp.c src/lib-src-gmp/

    # Required by sage.geometry.polyhedra
    cp -p patches/cdd_both_reps.c src/src/
    cp -p patches/cdd_both_reps.c src/src-gmp/

    # Rewritten autotools source files
    cp -p patches/Makefile.am src/Makefile.am
    cp -p patches/src-gmp-Makefile.am src/src-gmp/Makefile.am
    cp -p patches/src-Makefile.am src/src/Makefile.am
    cp -p patches/lib-src-Makefile.am src/lib-src/Makefile.am
    cp -p patches/lib-src-gmp-Makefile.am src/lib-src-gmp/Makefile.am
    rm src/configure.in
    cp -p patches/configure.ac src/

    # remaining files are the result of running autoconf/automake
    cp -rp patches/autogenerated/* src/
}


# sage-env sets RM which will break libtool
# See http://trac.sagemath.org/sage_trac/ticket/7818#comment:28
unset RM

# apply patches on top of pristine upstream release under src/
patch

cd src

./configure --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" --with-gmp="$SAGE_LOCAL"
if [ $? -ne 0 ]; then
   echo "Error configuring cddlib"
   exit 1
fi

$MAKE
if [ $? -ne 0 ]; then
   echo "Error building cddlib"
   exit 1
fi

$MAKE install
if [ $? -ne 0 ]; then
   echo "Error installing cddlib"
   exit 1
fi