summaryrefslogtreecommitdiff
path: root/contrib/get-abc
blob: 9f37a69e3cf1c6c3bfcc418a3ffdcdfde5e3bf2e (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 CVC4 with =====================
echo ./configure.sh --abc
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback