diff --git a/win32/build b/win32/build new file mode 100755 index 0000000..93f94b2 --- /dev/null +++ b/win32/build @@ -0,0 +1,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