summaryrefslogtreecommitdiff
path: root/scripts/setenv-mingw-xbuild.sh
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-25 19:21:17 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-25 19:21:17 (GMT)
commit9740232b080ac3d2fe87309fb51a892faf6ea913 (patch)
tree974ac256413de1111a085d12cad7bc3f755792dd /scripts/setenv-mingw-xbuild.sh
parentfef8dba56bae76f6e876656cee603fc895fa0955 (diff)
parente60744776193d5dc3f22e7a4a9f3afa8b8664e30 (diff)
Merge branch 'master' into issue364
Diffstat (limited to 'scripts/setenv-mingw-xbuild.sh')
-rw-r--r--scripts/setenv-mingw-xbuild.sh80
1 files changed, 65 insertions, 15 deletions
diff --git a/scripts/setenv-mingw-xbuild.sh b/scripts/setenv-mingw-xbuild.sh
index e31534e..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,36 +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
-
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
-export PATH=$MXEDIR/usr/i686-pc-mingw32/qt/bin:$PATH
+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
-echo PATH modified: $MXEDIR/usr/bin
-echo PATH modified: $MXEDIR/usr/i686-pc-mingw32/qt/bin
-
-
+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