#!/bin/sh
# Either use autoconf and autoheader to create configure.sh and config.h.in
# or (optionally) fetch the latest development versions of generated files.
#
# Specify one action or more than one to provide a fall-back:
#
#   build     build the config files [the default w/no arg]
#   fetch     fetch the latest dev config files
#   fetchgen  fetch all the latest dev generated files
#   fetchSRC  fetch the latest dev source files [NON-GENERATED FILES]
#
# The script stops after the first successful action.

dir=`dirname $0`
if test x"$dir" != x -a x"$dir" != x.; then
    cd "$dir"
fi

if test $# = 0; then
    set -- build
fi

for action in "${@}"; do
    case "$action" in
    build|make)
	make -f prepare-source.mak
	;;
    fetch)
	if perl --version >/dev/null 2>/dev/null; then
	    files='c*'
	else
	    files='[cp]*'
	fi
	rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" .
	;;
    fetchgen)
	rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/'*' .
	;;
    fetchSRC)
	rsync -pvrz --exclude=/.git/ rsync://rsync.samba.org/ftp/pub/unpacked/rsync/ .
	;;
    *)
	echo "Unknown action: $action"
	exit 1
    esac
    if test $? = 0; then
	exit
    fi
done

exit 1
