#!/bin/sh
unset bs_srcdir
if test X"`dirname / 2>/dev/null`" = X"/"; then
  bs_scrdir=`dirname $0`
else
  bs_scrdir="${0%/*}"
fi

test -n "$bs_scrdir" && cd "$bs_scrdir" || echo "Warning: cannot get sources directory" 1>&2

# This is more portable than `which' but comes with
# the caveat of not(?) properly working on busybox's ash:
existence()
{
    command -v "$1" >/dev/null 2>&1
}


if existence uncrustify; then
    echo "Installing uncrustify hook and configuration"
    # Install uncrustify format symlink (if possible)
    ln -s contrib/uncrustify.cfg uncrustify.cfg 2> /dev/null
    # Install pre-commit hook (if possible)
    ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit 2> /dev/null
else
    echo "Uncrustify not detected, hook not installed. Please install uncrustify if you plan on doing development"
fi

if existence libtool || existence libtoolize || existence glibtoolize || existence slibtool; then
    echo "Running autotools..."
    aclocal -I m4 --install && \
      libtoolize -c -i -v && \
      autoconf && \
      autoheader && \
      automake -a -c --gnu
    if test $? -ne 0 || ! test -x configure || ! test -f Makefile.in ; then
        echo "Autotools failed, retrying with autoreconf..."
        if ! autoreconf -i ${1+"$@"} ; then
            echo "Failed to autoreconf, retrying with force install..."
            rm m4/po.m4 # Version of po.m4 should match installed po/* files
            if ! autoreconf -i -f ${1+"$@"} ; then
                echo "*** Failed to create 'configure' and other autotools generated files. ***" >&2
                exit 1
            fi
        fi
    fi
    echo "The ${bs_scrdir-.}/configure is ready to run."
else
    echo "*** No libtoolize (libtool) or libtool found, please install it ***" >&2;
    exit 1
fi
