blob: 6f59875862869df268192a5a584d4855026413dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/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
|