#!/bin/bash
set -euo pipefail

DEBUG=${DEBUG:-false}
if $DEBUG; then
  set -x
fi

tmp=$(mktemp --tmpdir -d uplink-c-test-install.XXXXXXXXXX)
if ! $DEBUG; then
  trap "rm -fr '$tmp'" EXIT
fi

export DESTDIR="$tmp/local"
make install

cd "$tmp"

cat > main.c <<EOF
#include <uplink/uplink.h>

int main() {
    return 0;
}
EOF

CFLAGS=${CFLAGS:--Wall -Werror -Wpedantic}

gcc $CFLAGS -DUPLINK_DISABLE_NAMESPACE_COMPAT main.c $(PKG_CONFIG_PATH=$DESTDIR/lib/pkgconfig pkg-config --cflags --libs libuplink) -o test-shared
LD_LIBRARY_PATH="$DESTDIR/lib" ./test-shared

gcc $CFLAGS -DUPLINK_DISABLE_NAMESPACE_COMPAT --static main.c $(PKG_CONFIG_PATH=$DESTDIR/lib/pkgconfig pkg-config --cflags --libs --static libuplink) -o test-static
./test-static
