#!/bin/sh
# Copyright 2023 Simon McVittie
# SPDX-License-Identifier: LGPL-2.1-or-later

set -eux

if [ -n "${AUTOPKGTEST_ARTIFACTS-}" ]; then
    WORKDIR="$AUTOPKGTEST_ARTIFACTS"
else
    WORKDIR="$(mktemp -d)"
    trap 'cd /; rm -fr "$WORKDIR"' 0 INT QUIT ABRT PIPE TERM
fi

if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
else
    CROSS_COMPILE=
fi

cat >> "$WORKDIR"/trivial.c <<EOF
#include <gusb.h>

#include <glib.h>
#include <glib-object.h>

int main (int argc, char *argv[])
{
  GError *error = NULL;
  GUsbContext *context = NULL;

  context = g_usb_context_new (&error);

  if (context == NULL)
    g_error ("%s", error->message);

  g_object_unref (context);
  return 0;
}
EOF

cd "$WORKDIR"

# Deliberately word-splitting pkg-config's output:
# shellcheck disable=SC2046
"${CROSS_COMPILE}gcc" -otrivial trivial.c $("${CROSS_COMPILE}pkg-config" --cflags --libs gusb gobject-2.0 glib-2.0)
./trivial
