--- /dev/null
+#!/bin/sh
+
+MSBUILD="$WINDIR\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe"
+PLATFORMSDK="$PROGRAMFILES\Microsoft Visual Studio 8\VC\PlatformSDK"
+PLATFORMSDKINCLUDE="$PLATFORMSDK\Include"
+PLATFORMSDKLIB="$PLATFORMSDK\Lib"
+
+GRAPHVIZ_BUILDING=
+PACKAGE=
+
+# first pass -- getting + prepping
+
+for ARG
+do
+ PREP=
+ BUILD=
+ case $ARG in
+ --help )
+ cat <<EOF
+Usage: winbuild [options]
+
+ --help display this help and exit
+
+Choose one of the following for each project to build:
+ --prep=TARBALL prep the TARBALL, build and package
+ --build=DIR build the DIR and package
+
+Then optionally choose one of the following for the output:
+ --package=PACK output a Windows Installer package at PACK
+
+EOF
+ exit 0
+ ;;
+ --prep=* )
+ PREP=${ARG#*=}
+ ;;
+ --build=* )
+ BUILD=${ARG#*=}
+ ;;
+ --package=* )
+ PACKAGE=${ARG#*=}
+ ;;
+ esac
+
+ # prep the tarball
+ if [[ $PREP != "" ]]
+ then
+ echo
+ echo "PREPPING $PREP ..."
+ echo
+
+ BUILD=`tar -tzf "$PREP" | head -1`
+ BUILD=${BUILD%/}
+ # rm -rf "$BUILD"
+ tar -xzf "$PREP"
+ fi
+
+ # record the build location for now
+ if [[ $BUILD != "" ]]
+ then
+ pushd "$BUILD"
+ if [[ `expr "${PWD##*/}" : '.*\(graphviz\)'` ]]
+ then
+ GRAPHVIZ_BUILDING=$PWD
+ fi
+ BUILDINGS[${#BUILDINGS[@]}]=$BUILD
+ popd
+ fi
+done
+
+if [[ $GRAPHVIZ_BUILDING == "" ]]
+then
+ echo
+ echo "Need to specify graphviz tarball or directory for building. Use --prep or --build first."
+ exit 1
+fi
+
+# second pass -- building
+
+for BUILDING in ${BUILDINGS[@]}
+do
+ pushd "$BUILDING"
+ if [[ `expr "${PWD##*/}" : '.*\(graphviz\)'` ]]
+ then
+ echo
+ echo "CONFIGURING $BUILDING ..."
+ echo
+
+ ./configure --disable-swig --without-x --without-tclsh --with-ipsepcola --with-gdiplus --with-platformsdkincludedir="$PLATFORMSDKINCLUDE" --with-platformsdklibdir="$PLATFORMSDKLIB" CFLAGS="-I$GRAPHVIZ_BUILDING/windows/build/usr/local/include" LDFLAGS="-L$GRAPHVIZ_BUILDING/windows/build/usr/local/lib"
+
+ echo
+ echo "MAKING $BUILDING ..."
+ echo
+
+ make
+
+ echo
+ echo "MSBUILDING $BUILDING ..."
+ echo
+
+ $MSBUILD "windows\graphviz.csproj" -p:Configuration=Release -p:Platform=x86
+
+ echo
+ echo "INSTALLING $BUILDING ..."
+ echo
+
+ make DESTDIR="$GRAPHVIZ_BUILDING/windows/build" install-strip
+ else
+ echo
+ echo "CONFIGURING $BUILDING ..."
+ echo
+
+ ./configure CFLAGS="-I$GRAPHVIZ_BUILDING/windows/build/usr/local/include" LDFLAGS="-L$GRAPHVIZ_BUILDING/windows/build/usr/local/lib"
+
+ echo
+ echo "MAKING $BUILDING ..."
+ echo
+
+ make
+
+ echo
+ echo "INSTALLING $BUILDING ..."
+ echo
+
+ make DESTDIR="$GRAPHVIZ_BUILDING/windows/build" install-strip
+ fi
+ popd
+done
+
+# third pass -- package everything up and ship if necessary
+
+if [[ $PACKAGE == "" ]]
+then
+ PACKAGE="${GRAPHVIZ_BUILDING##*/}.msi"
+fi
+
+echo
+echo "PACKAGING $PACKAGE ..."
+echo
+
+make --directory "$GRAPHVIZ_BUILDING/windows" --makefile=graphviz.msi.make TARGET="../$PACKAGE"