summaryrefslogtreecommitdiff
path: root/scripts/setenv-mingw-xbuild.sh
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-22 03:04:22 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-22 03:04:22 (GMT)
commitef9d8a853be1a6d6ca48239fcc79106ba374ee21 (patch)
tree041fe3424e663a40986208e6829df5e955838e33 /scripts/setenv-mingw-xbuild.sh
parent470588b296aea880c84071ee53a23f055f9c5bf0 (diff)
parent71ab237aada8db602045063f0f1c6082ef06972a (diff)
Merge branch 'master' into issue304
Diffstat (limited to 'scripts/setenv-mingw-xbuild.sh')
-rw-r--r--scripts/setenv-mingw-xbuild.sh83
1 files changed, 68 insertions, 15 deletions
diff --git a/scripts/setenv-mingw-xbuild.sh b/scripts/setenv-mingw-xbuild.sh
index e8976b7..d3a014c 100644
--- a/scripts/setenv-mingw-xbuild.sh
+++ b/scripts/setenv-mingw-xbuild.sh
@@ -2,7 +2,10 @@
#
# set environment variables for mingw/mxe cross-build
#
-# Usage: source ./scripts/setenv-mingw-xbuild.sh
+# Usage:
+#
+# source ./scripts/setenv-mingw-xbuild.sh # 32 bit build
+# source ./scripts/setenv-mingw-xbuild.sh 64 # 64 bit build
#
# Prerequisites:
#
@@ -11,33 +14,83 @@
# Also see http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Cross-compiling_for_Windows_on_Linux_or_Mac_OS_X
#
-export OPENSCADDIR=$PWD
+OPENSCADDIR=$PWD
if [ ! $BASEDIR ]; then
- export BASEDIR=$HOME/openscad_deps
+ BASEDIR=$HOME/openscad_deps
fi
+DEPLOYDIR64=$OPENSCADDIR/mingw64
+DEPLOYDIR32=$OPENSCADDIR/mingw32
+
if [ ! $DEPLOYDIR ]; then
- export DEPLOYDIR=$OPENSCADDIR/mingw32
+ if [ "`echo $* | grep 64 `" ]; then
+ DEPLOYDIR=$DEPLOYDIR64
+ else
+ DEPLOYDIR=$DEPLOYDIR32
+ fi
fi
if [ ! $MXEDIR ]; then
- export MXEDIR=$BASEDIR/mxe
+ if [ "`echo $* | grep 64 `" ]; then
+ MXEDIR=$BASEDIR/mxe-w64
+ else
+ MXEDIR=$BASEDIR/mxe
+ fi
fi
-export PATH=$MXEDIR/usr/bin:$PATH
-
-echo BASEDIR: $BASEDIR
-echo MXEDIR: $MXEDIR
-echo DEPLOYDIR: $DEPLOYDIR
-echo PATH modified with $MXEDIR/usr/bin
-
if [ ! -e $DEPLOYDIR ]; then
mkdir -p $DEPLOYDIR
fi
-echo linking $MXEDIR/usr/i686-pc-mingw32/ to $DEPLOYDIR/mingw-cross-env
-rm -f $DEPLOYDIR/mingw-cross-env
-ln -s $MXEDIR/usr/i686-pc-mingw32/ $DEPLOYDIR/mingw-cross-env
+if [ "`echo $* | grep 64 `" ]; then
+ MXETARGETDIR=$MXEDIR/usr/x86_64-w64-mingw32
+else
+ MXETARGETDIR=$MXEDIR/usr/i686-pc-mingw32
+fi
+
+if [ ! $MINGWX_SAVED_ORIGINAL_PATH ]; then
+ MINGWX_SAVED_ORIGINAL_PATH=$PATH
+ echo current path saved
+fi
+PATH=$MXEDIR/usr/bin:$PATH
+PATH=$MXETARGETDIR/qt/bin:$PATH
+
+OPENSCAD_LIBRARIES=$MXETARGETDIR
+
+if [ "`echo $* | grep clean`" ]; then
+ OPENSCAD_LIBRARIES=
+ BASEDIR=
+ MXEDIR=
+ MXETARGETDIR=
+ DEPLOYDIR=
+ PATH=$MINGWX_SAVED_ORIGINAL_PATH
+ MINGWX_SAVED_ORIGINAL_PATH=
+else
+ echo 'linking' $MXETARGETDIR
+ echo ' to' $DEPLOYDIR/mingw-cross-env
+ rm -f $DEPLOYDIR/mingw-cross-env
+ ln -s $MXETARGETDIR $DEPLOYDIR/mingw-cross-env
+fi
+
+export OPENSCAD_LIBRARIES
+export BASEDIR
+export MXEDIR
+export MXETARGETDIR
+export DEPLOYDIR
+export PATH
+export MINGWX_SAVED_ORIGINAL_PATH
+
+echo OPENSCAD_LIBRARIES: $OPENSCAD_LIBRARIES
+echo BASEDIR: $BASEDIR
+echo MXEDIR: $MXEDIR
+echo MXETARGETDIR: $MXETARGETDIR
+echo DEPLOYDIR: $DEPLOYDIR
+if [ "`echo $* | grep clean`" ]; then
+ echo PATH restored to pre-setenv-mingw-x state
+else
+ echo PATH modified: $MXEDIR/usr/bin
+ echo PATH modified: $MXETARGETDIR/qt/bin
+fi
contact: Jan Huwald // Impressum