#!/bin/sh
# Bootstrap script fetches external git submodules and run autotools.
# Autotools create configure script and prepare Makefiles.

# Abort execution on error
set -e

# Submodules are external libraries downloaded from remote git repositories.
# To be build automaticaly with OpenOCD. Do we want to skip submodules?
if [ "$1" = "nosubmodule" ]; then
    SKIP_SUBMODULE=1
elif [ -n "$1" ]; then
    echo "$0: Illegal argument $1"
    echo "USAGE: $0 [nosubmodule]"
    exit 1
fi

if [ -n "$SKIP_SUBMODULE" ]; then
    echo "Skipping submodule setup"
else
    echo "Setting up submodules"
    git submodule init
    git submodule update
fi

# Check if libtool is installed and what version.
if which libtoolize > /dev/null; then
    libtoolize="libtoolize"
elif which glibtoolize >/dev/null; then
    libtoolize="glibtoolize"
else
    echo "$0: Error: libtool is required" >&2
    exit 1
fi

# Bootstrap the autotools (create Makefie.in files and configure script).
(
set -x
aclocal
${libtoolize} --automake --copy
autoconf
autoheader
automake --gnu --add-missing --copy
)

# Bootstrap the submodules/libswd when working with git master not release
if [ ! -f submodules/libswd/configure ]; then
 echo "Info: submodules/libswd needs to be bootstrapped too..."
 cd submodules/libswd; sh autogen.sh
fi

# AM_MAINTAINER_MODE requires --enable-maintainer-mode from everyone using
# current source snapshots (working from GIT, or some source snapshot, etc)
# otherwise the documentation will fail to build due to missing version.texi.
echo "Bootstrap complete. Quick build instructions:"
echo "./configure --enable-maintainer-mode ...."