#!/usr/bin/env bash # source "$(dirname "$0")/get-script-header.sh" ABC_DIR="$DEPS_DIR/abc" commit=3d7034bf619aada30b0ba1e8afcb151d304ab556 setup_dep "https://github.com/berkeley-abc/abc/archive/$commit.tar.gz" "$ABC_DIR" cd "$ABC_DIR" # Strip out libSupport.c, it is in charge of loading extensions and we # don't want different behavior based on ABC_LIB_PATH, or based on what # .so is in the current directory! cp src/base/main/module.make src/base/main/module.make.orig grep -v 'libSupport\.c' src/base/main/module.make.orig > src/base/main/module.make cp src/base/main/mainInit.c src/base/main/mainInit.c.orig sed 's,\( *\)\(.*Libs_Init(\),\1//\2,;s,\( *\)\(.*Libs_End(\),\1//\2,' src/base/main/mainInit.c.orig > src/base/main/mainInit.c # Build optimized, without readline, without pthreads. # These aren't necessary for our usage and we don't want the dependencies. make -j$(nproc) libabc.a OPTFLAGS=-O ABC_USE_NO_READLINE=1 ABC_USE_NO_PTHREADS=1 mv libabc.a libabc-static.a install_lib libabc-static.a make clean make -j$(nproc) libabc.a OPTFLAGS='-O -fPIC' ABC_USE_NO_READLINE=1 ABC_USE_NO_PTHREADS=1 install_lib libabc.a install_bin arch_flags # Copy headers and preserve subdirectories cd src mkdir -p "$INSTALL_INCLUDE_DIR/abc" if [[ "$OSTYPE" == "darwin"* ]]; then rsync -R -r $(find . -name '*.h') "$INSTALL_INCLUDE_DIR/abc" else cp --parents $(find . -name '*.h') "$INSTALL_INCLUDE_DIR/abc" fi echo echo ===================== Now configure cvc5 with ===================== echo ./configure.sh --abc