#!/bin/bash
# configure script adapter for cmake
# Copyright 2010, 2011, 2013 Colin Walters <walters@verbum.org>
# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)

prefix=/usr

# Little helper function for reading args from the commandline.
# it automatically handles -a b and -a=b variants, and returns 1 if
# we need to shift $3.
read_arg() {
    # $1 = arg name
    # $2 = arg value
    # $3 = arg parameter
    local rematch='^[^=]*=(.*)$'
    if [[ $2 =~ $rematch ]]; then
	read "$1" <<< "${BASH_REMATCH[1]}"
    else
	read "$1" <<< "$3"
	# There is no way to shift our callers args, so
	# return 1 to indicate they should do it instead.
	return 1
    fi
}

while (($# > 0)); do
    case "${1%%=*}" in
	--prefix) read_arg prefix "$@" || shift;;
	--bindir) read_arg bindir "$@" || shift;;
	--sbindir) read_arg sbindir "$@" || shift;;
	--libexecdir) read_arg libexecdir "$@" || shift;;
	--datarootdir) read_arg datarootdir "$@" || shift;;
	--datadir) read_arg datadir "$@" || shift;;
	--sysconfdir) read_arg sysconfdir "$@" || shift;;
	--libdir) read_arg libdir "$@" || shift;;
	--mandir) read_arg mandir "$@" || shift;;
        --includedir) read_arg includedir "$@" || shift;;
	*) echo "Ignoring unknown option '$1'";;
    esac
    shift
done

srcdir=$(dirname $0)

cat > Makefile <<END
# Generated by configure; do not edit

all:
	ninja

install:
	DESTDIR="\$(DESTDIR)" ninja install
END

MESON=`which meson`
if test -z ${MESON}; then
        MESON="python3 meson.py"
fi

exec "${MESON}" \
        --default-library=shared \
	--prefix=${prefix} \
	--libdir=${libdir} \
        --includedir=${includedir} \
        --sysconfdir=${sysconfdir} \
        --datadir=${datadir} \
        --mandir=${mandir} \
        --libexecdir=${libexecdir} \
	-Denable-gtk-doc=false \
	${srcdir}
