diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/builder.sh | 50 | ||||
| -rwxr-xr-x | scripts/mingw-x-build-dependencies.sh | 14 | ||||
| -rwxr-xr-x | scripts/release-common.sh | 14 | ||||
| -rw-r--r-- | scripts/setenv-mingw-xbuild.sh | 72 | 
4 files changed, 112 insertions, 38 deletions
| diff --git a/scripts/builder.sh b/scripts/builder.sh index 75b80f8..e8876e8 100755 --- a/scripts/builder.sh +++ b/scripts/builder.sh @@ -6,10 +6,6 @@  # requirements -  # see http://mxe.cc for required tools (scons, perl, yasm, etc etc etc) -# todo - auto update webpage to link to proper snapshot -# -# todo - 64 bit windows (needs mxe 64 bit stable) -#  # todo - can we build 32 bit linux from within 64 bit linux?  #  # todo - make linux work @@ -36,14 +32,23 @@ get_source_code()  build_win32()  { +	. ./scripts/setenv-mingw-xbuild.sh clean  	. ./scripts/setenv-mingw-xbuild.sh  	./scripts/mingw-x-build-dependencies.sh  	./scripts/release-common.sh mingw32  } +build_win64() +{ +	. ./scripts/setenv-mingw-xbuild.sh clean +	. ./scripts/setenv-mingw-xbuild.sh 64 +	./scripts/mingw-x-build-dependencies.sh 64 +	./scripts/release-common.sh mingw64 +} +  build_lin32()  { -	. ./scripts/setenv-unibuild.sh clang +	. ./scripts/setenv-unibuild.sh  	./scripts/uni-build-dependencies.sh  	./scripts/release-common.sh  } @@ -87,6 +92,26 @@ upload_win32()  	export WIN32_PACKAGEFILE2_SIZE  } +upload_win64() +{ +	SUMMARY1="Windows x86-64 Snapshot Zipfile" +	SUMMARY2="Windows x86-64 Snapshot Installer" +	DATECODE=`date +"%Y.%m.%d"` +	BASEDIR=./mingw64/ +	WIN64_PACKAGEFILE1=OpenSCAD-$DATECODE-x86-64.zip +	WIN64_PACKAGEFILE2=OpenSCAD-$DATECODE-x86-64-Installer.exe +	upload_win_generic "$SUMMARY1" $USERNAME $BASEDIR/$WIN64_PACKAGEFILE1 +	upload_win_generic "$SUMMARY2" $USERNAME $BASEDIR/$WIN64_PACKAGEFILE2 +	export WIN64_PACKAGEFILE1 +	export WIN64_PACKAGEFILE2 +	WIN64_PACKAGEFILE1_SIZE=`ls -sh $BASEDIR/$WIN64_PACKAGEFILE1 | awk ' {print $1} ';` +	WIN64_PACKAGEFILE2_SIZE=`ls -sh $BASEDIR/$WIN64_PACKAGEFILE2 | awk ' {print $1} ';` +	WIN64_PACKAGEFILE1_SIZE=`echo "$WIN64_PACKAGEFILE1_SIZE""B"` +	WIN64_PACKAGEFILE2_SIZE=`echo "$WIN64_PACKAGEFILE2_SIZE""B"` +	export WIN64_PACKAGEFILE1_SIZE +	export WIN64_PACKAGEFILE2_SIZE +} +  read_username_from_user()  {  	echo 'Please enter your username for https://code.google.com/hosting/settings' @@ -112,7 +137,7 @@ read_password_from_user()  	export OSUPL_PASSWORD  } -update_www_download_links() +update_win_www_download_links()  {  	cd $STARTPATH  	git clone git@github.com:openscad/openscad.github.com.git @@ -123,6 +148,13 @@ update_www_download_links()  	DATECODE=`date +"%Y.%m.%d"`  	rm win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT1_URL'] = '$BASEURL$WIN64_PACKAGEFILE1'" >> win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT2_URL'] = '$BASEURL$WIN64_PACKAGEFILE2'" >> win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT1_NAME'] = 'OpenSCAD $DATECODE'" >> win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT2_NAME'] = 'OpenSCAD $DATECODE'" >> win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT1_SIZE'] = '$WIN64_PACKAGEFILE1_SIZE'" >> win_snapshot_links.js +	echo "snapinfo['WIN64_SNAPSHOT2_SIZE'] = '$WIN64_PACKAGEFILE2_SIZE'" >> win_snapshot_links.js +  	echo "snapinfo['WIN32_SNAPSHOT1_URL'] = '$BASEURL$WIN32_PACKAGEFILE1'" >> win_snapshot_links.js  	echo "snapinfo['WIN32_SNAPSHOT2_URL'] = '$BASEURL$WIN32_PACKAGEFILE2'" >> win_snapshot_links.js  	echo "snapinfo['WIN32_SNAPSHOT1_NAME'] = 'OpenSCAD $DATECODE'" >> win_snapshot_links.js @@ -130,7 +162,6 @@ update_www_download_links()  	echo "snapinfo['WIN32_SNAPSHOT1_SIZE'] = '$WIN32_PACKAGEFILE1_SIZE'" >> win_snapshot_links.js  	echo "snapinfo['WIN32_SNAPSHOT2_SIZE'] = '$WIN32_PACKAGEFILE2_SIZE'" >> win_snapshot_links.js  	echo 'modified win_snapshot_links.js' -	cat win_snapshot_links.js  	PAGER=cat git diff  	if [ ! $DRYRUN ]; then @@ -157,9 +188,12 @@ check_starting_path  read_username_from_user  read_password_from_user  get_source_code +  build_win32 +build_win64  upload_win32 -update_www_download_links +upload_win64 +update_win_www_download_links diff --git a/scripts/mingw-x-build-dependencies.sh b/scripts/mingw-x-build-dependencies.sh index 03adc22..168b847 100755 --- a/scripts/mingw-x-build-dependencies.sh +++ b/scripts/mingw-x-build-dependencies.sh @@ -48,7 +48,7 @@ if [ ! -e $MXEDIR ]; then  	mkdir -p $MXEDIR  	cd $MXEDIR/..  	echo "Downloading MXE into " $PWD -	if [ `echo $* | grep 64` ]; then +	if [ "`echo $* | grep 64`" ]; then  		git clone -b multi-rebase git://github.com/tonytheodore/mxe.git ./mxe-w64  	else  		git clone git://github.com/mxe/mxe.git @@ -57,9 +57,15 @@ fi  echo "entering" $MXEDIR  cd $MXEDIR -echo "make mpfr eigen opencsg cgal qt nsis -j $NUMCPU JOBS=$NUMJOBS" -make mpfr eigen opencsg cgal qt nsis -j $NUMCPU JOBS=$NUMJOBS -#make mpfr -j $NUMCPU JOBS=$NUMJOBS # for testing +if [ "`echo $* | grep 64`" ]; then +  MXE_TARGETS='x86_64-w64-mingw32' +  PACKAGES='mpfr eigen opencsg cgal qt' +else +  MXE_TARGETS= +  PACKAGES='mpfr eigen opencsg cgal qt nsis' +fi +echo make $PACKAGES MXE_TARGETS=$MXE_TARGETS -j $NUMCPU JOBS=$NUMJOBS +make $PACKAGES MXE_TARGETS=$MXE_TARGETS -j $NUMCPU JOBS=$NUMJOBS  echo "leaving" $MXEDIR diff --git a/scripts/release-common.sh b/scripts/release-common.sh index 035fa3f..85b719c 100755 --- a/scripts/release-common.sh +++ b/scripts/release-common.sh @@ -116,6 +116,13 @@ fi  echo "Building openscad-$VERSION ($VERSIONDATE) $CONFIGURATION..." +if [ ! $NUMCPU ]; then +  echo "note: you can 'export NUMCPU=x' for multi-core compiles (x=number)"; +  NUMCPU=2 +else +  echo "NUMCPU: " $NUMCPU +fi +  CONFIG=deploy  case $OS in      LINUX|MACOSX)  @@ -169,17 +176,12 @@ case $OS in          ;;  esac -if [ ! $NUMCPU ]; then -  echo "note: you can 'export NUMCPU=x' for multi-core compiles (x=number)"; -  NUMCPU=2 -fi -  case $OS in      LINXWIN)          # make || make enables paralell builds, thanks Tony Theodore          # make main openscad.exe          cd $DEPLOYDIR -        make $TARGET -j$NUMCPU || make $TARGET -j $NUMCPU ## comment 4 test +        make $TARGET -j$NUMCPU || make $TARGET -j$NUMCPU ## comment 4 test          if [ ! -e $TARGET/openscad.exe ]; then              echo "cant find $TARGET/openscad.exe. build failed. stopping."              exit diff --git a/scripts/setenv-mingw-xbuild.sh b/scripts/setenv-mingw-xbuild.sh index b6fa156..15449ce 100644 --- a/scripts/setenv-mingw-xbuild.sh +++ b/scripts/setenv-mingw-xbuild.sh @@ -14,50 +14,82 @@  # 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 -	if [ `echo $* | grep 64 ` ]; then -		DEPLOYDIR=$OPENSCADDIR/mingw64 +	if [ "`echo $* | grep 64 `" ]; then +		DEPLOYDIR=$DEPLOYDIR64  	else -		DEPLOYDIR=$OPENSCADDIR/mingw32 +		DEPLOYDIR=$DEPLOYDIR32  	fi -	export DEPLOYDIR  fi  if [ ! $MXEDIR ]; then -	if [ `echo $* | grep 64 ` ]; then -		export MXEDIR=$BASEDIR/mxe-w64 +	if [ "`echo $* | grep 64 `" ]; then +		MXEDIR=$BASEDIR/mxe-w64  	else -		export MXEDIR=$BASEDIR/mxe +		MXEDIR=$BASEDIR/mxe  	fi  fi -export PATH=$MXEDIR/usr/bin:$PATH -  if [ ! -e $DEPLOYDIR ]; then    mkdir -p $DEPLOYDIR  fi -if [ `echo $* | grep 64 ` ]; then +if [ "`echo $* | grep 64 `" ]; then  	MXETARGETDIR=$MXEDIR/usr/x86_64-w64-mingw32  else  	MXETARGETDIR=$MXEDIR/usr/i686-pc-mingw32  fi -echo linking $MXETARGETDIR to $DEPLOYDIR/mingw-cross-env -rm -f $DEPLOYDIR/mingw-cross-env -ln -s $MXETARGETDIR $DEPLOYDIR/mingw-cross-env -export PATH=$MXETARGETDIR/qt/bin:$PATH + +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 + + + + + +if [ "`echo $* | grep clean`" ]; then +  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 BASEDIR +export MXEDIR +export MXETARGETDIR +export DEPLOYDIR +export PATH +export MINGWX_SAVED_ORIGINAL_PATH  echo BASEDIR: $BASEDIR  echo MXEDIR: $MXEDIR +echo MXETARGETDIR: $MXETARGETDIR  echo DEPLOYDIR: $DEPLOYDIR -echo PATH modified: $MXEDIR/usr/bin -echo PATH modified: $MXETARGETDIR/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 | 
