#!/bin/bash HOW=$1 PREFIX=$2 WHAT=$3 PATCHES=$4 CFGPARAMS=$5 VERBOSE=$6 SRCDIR=$7 MKPARAMS= PATCHAFTERCFG=0 if test "$HOW" = "m" -o "$HOW" = "mmi" ; then MKPARAMS=$CFGPARAMS fi PATCHAFTERCFG=0 if test "${PATCHES:0:1}" = "@" ; then PATCHAFTERCFG=1 PATCHES=${PATCHES:1} fi if test "$SRCDIR" = "" ; then SRCDIR=src/$WHAT fi cd $SRCDIR if test "$?" != "0" ; then exit 1 fi export BINARY_PATH=$PREFIX/bin export INCLUDE_PATH=$PREFIX/include export LIBRARY_PATH=$PREFIX/lib if test "$PATCHAFTERCFG" != "1" ; then for p in $PATCHES; do case "$p" in (*"/"*) patch -p1 -f --fuzz=0 <$p ;; (*) patch -p1 -f --fuzz=0 <../../patches/$p ;; esac done fi if test "${HOW:0:1}" = "r" ; then echo " * Running autoreconf for '$WHAT'..." HOW=${HOW:1} if test "$VERBOSE" != "1" ; then autoreconf --force --install >/dev/null else autoreconf --force --install fi if test "$?" != "0" ; then exit 1 fi fi if test "${HOW:0:1}" = "a" ; then AUTOGENSH= if test -f "./autogen.sh" ; then AUTOGENSH="./autogen.sh" AUTOGENPARAMS="$CFGPARAMS --prefix=$PREFIX" else AUTOGENSH="autoreconf -fi" AUTOGENPARAMS= fi echo " * Running $AUTOGENSH for '$WHAT'..." HOW=${HOW:1} if test "$CFGPARAMS" != "" -a "${CFGPARAMS%%^}" != "" -a "${CFGPARAMS%%^}" != "$CFGPARAMS" ; then AUTOGENPARAMS="${CFGPARAMS%%^}" CFGPARAMS="${CFGPARAMS##*^}" fi if test "$VERBOSE" != "1" ; then $AUTOGENSH $AUTOGENPARAMS >/dev/null else $AUTOGENSH $AUTOGENPARAMS fi if test "$?" != "0" ; then exit 1 fi fi if test "$HOW" = "cmmi" ; then echo " * Configuring '$WHAT'..." make clean &>/dev/null FIRSTPARAM=${CFGPARAMS%% } if test "$FIRSTPARAM" != "" -a "${FIRSTPARAM%%/}" != "" -a "${FIRSTPARAM%%/}" != "$FIRSTPARAM" ; then if test "$VERBOSE" != "1" ; then $CFGPARAMS --prefix=$PREFIX >/dev/null else $CFGPARAMS --prefix=$PREFIX fi elif test "$VERBOSE" != "1" ; then ./configure --prefix=$PREFIX $CFGPARAMS >/dev/null else ./configure --prefix=$PREFIX $CFGPARAMS fi if test "$?" != "0" ; then exit 1 fi fi if test "$PATCHAFTERCFG" = "1" ; then for p in $PATCHES; do case "$p" in (*"/"*) patch -p1 -f --fuzz=0 <$p ;; (*) patch -p1 -f --fuzz=0 <../../patches/$p ;; esac done fi if test "$VERBOSE" != "1" ; then echo " * Building '$WHAT'..." && \ make $MKPARAMS >/dev/null && \ if test "$HOW" != "m" ; then make install $MKPARAMS >/dev/null fi else echo " * Building '$WHAT'..." && \ make V=1 $MKPARAMS && \ if test "$HOW" != "m" ; then make install V=1 $MKPARAMS fi fi if test "$?" != "0" ; then exit 1 fi