#!/bin/bash log() { echo "[automagic] " $@ } die() { log "Fatal: "$@ exit 1 } if [[ ! -d platform/unix ]]; then log "Can't find the 'plaform/unix' folder, make sure you run this from the root of the repository." exit 1 fi AUTOHEADER=${AUTOHEADER:-$(which autoheader)} AUTOCONF=${AUTOCONF:-$(which autoconf)} LIBTOOLIZE=${LIBTOOLIZE:-$(which libtoolize)} ACLOCAL=${ACLOCAL:-$(which aclocal)} AUTOMAKE=${AUTOMAKE:-$(which automake)} [[ -x ${AUTOHEADER} ]] || die "Could not find autoheader. Install autoconf." [[ -x ${AUTOCONF} ]] || die "Could not find autoconf." [[ -x ${LIBTOOLIZE} ]] || die "Could not find libtoolize. Install libtool." [[ -x ${ACLOCAL} ]] || die "Could not find aclocal. Install automake." [[ -x ${AUTOMAKE} ]] || die "Could not find automake." automagic() { log "Copying files..." >&2 cp platform/unix/configure.ac . cp platform/unix/Makefile.am . log "Running genmodules..." >&2 if ! bash platform/unix/genmodules "$1"; then echo "You should be doing this from the root directory of the project." exit 1 fi log "Running autoheader..." >&2 ${AUTOHEADER} 2>&1 || return 1 # Gimmie config.h.in log "Running libtoolize..." >&2 ${LIBTOOLIZE} --force 2>&1 || return 1 log "Running aclocal..." >&2 ${ACLOCAL} 2>&1 || return 1 log "Running autoconf..." >&2 ${AUTOCONF} 2>&1 || return 1 log "Running automake..." >&2 ${AUTOMAKE} -a 2>&1 || return 1 } if [[ $1 == "-d" ]]; then shift 1 automagic "$@" 2>&1 else (automagic "$@" > /dev/null) 2>&1 fi if [[ $? -eq 1 ]]; then log "Failed, sadface." log "You can make this script more verbose running it in debug mode (-d)" log "This is generally a configuration error (I'm looking at you aclocal)" exit 1 else log "Success, carry on configuring." fi