diff --git a/SWIG/Tools/mkwindows.sh b/SWIG/Tools/mkwindows.sh new file mode 100644 index 000000000..61af58017 --- /dev/null +++ b/SWIG/Tools/mkwindows.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +# Build Windows distribution (swigwin-1.3.x.zip) -- requires running in a mingw environment. + +# path to zip program +zip=/c/cygwin/bin/zip + +if test x$1 != x; then + version=$1 + if test x$2 != x; then + zip=$2; + echo zip: $zip; + fi +else + echo "Usage: mkwindows.sh version [zip]" + echo " version should be 1.3.x" + echo " zip is full path to zip program - default is /c/cygwin/bin/zip" + exit 1 +fi + +swigbasename=swig-$version +swigwinbasename=swigwin-$version +tarball=$swigbasename.tar.gz + +if test -f "$tarball"; then + builddir=build-$version + if test -e $builddir; then + echo "Deleting directory $builddir..." + rm -rf $builddir + fi + echo "Creating directory $builddir..." + mkdir $builddir + cd $builddir + echo "Unzipping tarball..." + tar -zxf ../$tarball + sleep 2 # fix strange not finding newly created directory + if test -d $swigbasename; then + mv $swigbasename $swigwinbasename + tar -zxf ../$tarball + echo "Running configure..." + cd $swigbasename + ./configure CXXFLAGS="-O2" CFLAGS="-O2" + echo "Compiling (quietly)..." + make > build.log + echo "Simple check to see if swig.exe runs..." + ./swig.exe -version + echo "Creating $swigwinbasename.zip..." + cd .. + cp $swigbasename/swig.exe $swigwinbasename + sleep 2 # fix strange not finding swig.exe + echo "Unzip into a directory of your choice. Please read the README file as well as Doc\Manual\Windows.html for installation instructions." > swig_windows_zip_comments.txt + rm -f ../$swigwinbasename.zip + $zip -q -r -9 -z < swig_windows_zip_comments.txt ../$swigwinbasename.zip $swigwinbasename + rm -f swig_windows_zip_comments.txt + echo "Cleaning up..." + cd .. + rm -rf $builddir + echo "Finished building $swigwinbasename.zip" + else + echo "Expecting tarball to create directory: $swigbasename but it does not exist" + exit 1 + fi +else + echo tarball missing: $tarball + exit 1 +fi + +exit 0