#!/bin/sh
# (C) 2012 Canonical Ltd.
# (C) 2018-2019 Simon McVittie
# Authors: Martin Pitt, Simon McVittie
# SPDX-License-Identifier: LGPL-2.0-or-later

set -eux

mode=dynamic

getopt_temp="$(getopt -o '' --long 'static' -n debian/tests/build -- "$@")"
eval set -- "$getopt_temp"

while true; do
    case "$1" in
        (--static)
            mode=static
            shift
            continue
            ;;

        (--)
            shift
            break
            ;;

        (*)
            echo "getopt: Internal error" >&2
            exit 2
    esac
done

WORKDIR=$(mktemp -d)
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR
cat <<EOF > gnome-bg.c
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include <gnome-bg/gnome-bg.h>

int main(void)
{
    g_autoptr(GnomeBG) bg = gnome_bg_new ();
    g_assert_nonnull (bg);
    g_assert_true (GNOME_IS_BG (bg));
    return 0;
}
EOF

cflags=
pcflags=

case "$mode" in
    (static)
        cflags=-static
        pcflags=--static
        ;;
esac

gcc $cflags -o "$mode" gnome-bg.c `pkg-config $pcflags --cflags --libs gnome-bg-4 gobject-2.0`
echo "build ($mode): OK"
[ -x "$mode" ]
"./$mode"
echo "run ($mode): OK"
