diff options
author | Marius Kintel <marius@kintel.net> | 2012-07-17 01:55:31 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2012-07-17 01:55:31 (GMT) |
commit | 3267ba2d56b5803a5622ba644aa2077a9a93d1c9 (patch) | |
tree | 6f5c7f509ccd241a02c459c113831a6bfc42af84 /scripts | |
parent | 9044f7a064adf5a9c8da051ef340537671486d37 (diff) | |
parent | d7e40ae907d0978079a86d39f0badc9d8141957e (diff) |
Merge pull request #146 from openscad/mingwcross1
Mingwcross1
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/mingw-x-build-dependencies.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/scripts/mingw-x-build-dependencies.sh b/scripts/mingw-x-build-dependencies.sh new file mode 100755 index 0000000..e820e20 --- /dev/null +++ b/scripts/mingw-x-build-dependencies.sh @@ -0,0 +1,74 @@ +#!/bin/sh -e +# +# This script builds all library dependencies of OpenSCAD for cross-compilation +# from linux to mingw32 for windows, using the MXE cross build system. +# +# This script must be run from the OpenSCAD source root directory +# +# Usage: ./scripts/mingw-x-build-dependencies.sh +# +# Prerequisites: +# +# Please see http://mxe.cc/#requirements +# +# Also see http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Cross-compiling_for_Windows_on_Linux_or_Mac_OS_X +# + +OPENSCADDIR=$PWD +if [ ! -f $OPENSCADDIR/openscad.pro ]; then + echo "Must be run from the OpenSCAD source root directory" + exit 0 +fi +BASEDIR=$HOME/openscad_deps +MXEDIR=$BASEDIR/mxe +PATH=$MXEDIR/usr/bin:$PATH +mkdir -p $BASEDIR + +echo MXEDIR: $MXEDIR +echo BASEDIR: $BASEDIR +echo OPENSCADDIR: $OPENSCADDIR +echo PATH modified with $MXEDIR/usr/bin +if [ ! $NUMCPU ]; then + echo "note: you can 'export NUMCPU=x' for multi-core compiles (x=number)"; + NUMCPU=1 +fi +if [ ! $NUMJOBS ]; then + echo "note: you can 'export NUMJOBS=x' for building multiple pkgs at once" + if [ $NUMCPU -gt 2 ]; then + NUMJOBS=$((NUMCPU/2)) + else + NUMJOBS=1 + fi +fi +echo NUMCPU: $NUMCPU +echo NUMJOBS: $NUMJOBS + +cd $BASEDIR +if [ ! -e mxe ]; then + echo "Downloading MXE into " $MXEDIR + git clone git://github.com/mxe/mxe.git +fi + +echo "entering" $MXEDIR +cd $MXEDIR +echo "make mpfr eigen opencsg cgal qt -j $NUMCPU JOBS=$NUMJOBS" +make mpfr eigen opencsg cgal qt -j $NUMCPU JOBS=$NUMJOBS +#make mpfr -j$NUMCPU JOBS=$NUMJOBS # for testing + +echo "leaving" $MXEDIR +echo "entering $OPENSCADDIR" +cd $OPENSCADDIR +if [ -e mingw-cross-env ]; then + rm ./mingw-cross-env +fi +echo "linking mingw-cross-env directory" +ln -s $MXEDIR/usr/i686-pc-mingw32/ ./mingw-cross-env + +echo +echo "now copy/paste the following to cross-build openscad" +echo +echo "export PATH=$MXEDIR/usr/bin:\$PATH" +echo "i686-pc-mingw32-qmake CONFIG+=mingw-cross-env openscad.pro" +#echo "make -j$NUMCPU" # causes parser_yacc.hpp errors +echo "make" +echo |