141 lines
2.7 KiB
Bash
Executable File
141 lines
2.7 KiB
Bash
Executable File
#!/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
|