1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#!/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
|