#!/bin/sh
set -e

if [ -z "$AUTOPKGTEST_TMP" ]; then
    AUTOPKGTEST_TMP=$(mktemp -d)
    trap 'rm -rf "$AUTOPKGTEST_TMP"' EXIT
fi

cd "$AUTOPKGTEST_TMP"

cat << 'EOF' > test_brial.cc
#include <polybori.h>
#include <polybori/groebner/GroebnerStrategy.h>
#include <iostream>

USING_NAMESPACE_PBORI
USING_NAMESPACE_PBORIGB

int main() {
    BoolePolyRing ring(10);
    BooleVariable x(0, ring);
    BoolePolynomial p = x + 1;
    GroebnerStrategy strat(ring);
    strat.addGenerator(p);
    std::cout << "p = " << p << std::endl;
    return 0;
}
EOF

BRIAL_FLAGS=$(pkg-config --cflags --libs brial)
case "$BRIAL_FLAGS" in
    *@*@*) echo "unsubstituted token in brial.pc flags: $BRIAL_FLAGS" >&2; exit 1 ;;
esac

${CXX:-g++} test_brial.cc $BRIAL_FLAGS -o test_brial
./test_brial
