#!/bin/sh
# autopkgtest check: Build and run a very simple program against uchardet

set -e

# Require $AUTOPKGTEST_TMP for temporary build files
if [ -z "$AUTOPKGTEST_TMP" ]
then
	echo "Required envvar \"\$AUTOPKGTEST_TMP\" is not set" >&2
	exit 1
fi

cp debian/tests/detect.c "$AUTOPKGTEST_TMP"
cd "$AUTOPKGTEST_TMP"

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

# manual dynamic
${CROSS_COMPILE}gcc -Wall -Werror -I/usr/include/uchardet -o detect1 detect.c -luchardet
echo "build1: OK"

# manual static
${CROSS_COMPILE}gcc -static -Wall -Werror -I/usr/include/uchardet -o detect2 detect.c -luchardet -lstdc++
echo "build2: OK"

# pkg-config dynamic
${CROSS_COMPILE}gcc -Wall -Werror -o detect3 detect.c $(${CROSS_COMPILE}pkg-config --cflags --libs uchardet)
echo "build3: OK"

# pkg-config static
${CROSS_COMPILE}gcc -static -Wall -Werror -o detect4 detect.c $(${CROSS_COMPILE}pkg-config --static --cflags --libs uchardet)
echo "build4: OK"

# Run each program
for prog in detect1 detect2 detect3 detect4; do
    # Run it on some ascii
    [ $(echo 'hello world' | ./$prog) = 'ASCII' ]
    echo "run1: $prog OK"

    # Run it on some chinese
    [ $(echo '汉字漢字統一編碼萬國碼' | ./$prog) = 'UTF-8' ]
    echo "run2: $prog OK"
done
