mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	build-system: enable both 32 & 64 bit Windows builds
The 32bit build won't include libmtp and therefore won't support the Garmin Descent Mk2/Mk2i. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									f425bbbde3
								
							
						
					
					
						commit
						20d97f7bff
					
				
					 2 changed files with 43 additions and 23 deletions
				
			
		|  | @ -5,13 +5,18 @@ cd /__w | |||
| 
 | ||||
| [ ! -d mxe ] || ln -s /win/mxe . | ||||
| 
 | ||||
| # grab the version number | ||||
| cd subsurface | ||||
| VERSION=$(./scripts/get-version linux) | ||||
| cd .. | ||||
| 
 | ||||
| # prep the container | ||||
| bash subsurface/.github/workflows/scripts/windows-container-prep.sh | ||||
| 
 | ||||
| # remove artifact from prior builds | ||||
| rm -f mdbtools/include/mdbver.h | ||||
| 
 | ||||
| # build the installer | ||||
| # build the 64bit installer | ||||
| rm -rf win64 | ||||
| mkdir win64 | ||||
| cd win64 | ||||
|  | @ -20,9 +25,20 @@ cd win64 | |||
| export MXEBUILDTYPE=x86_64-w64-mingw32.shared | ||||
| export PATH=/win/mxe/usr/bin:$PATH | ||||
| bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer | ||||
| mv subsurface/subsurface-*.exe /__w | ||||
| mv subsurface/subsurface-$VERSION.exe /__w | ||||
| 
 | ||||
| bash -ex ../subsurface/packaging/windows/smtk2ssrf-mxe-build.sh -a -i | ||||
| 
 | ||||
| mv smtk-import/smtk2ssrf*.exe /__w | ||||
| mv smtk-import/smtk2ssrf-$VERSION.exe /__w | ||||
| 
 | ||||
| # build the 32bit installer | ||||
| cd /__w | ||||
| rm -rf win32 | ||||
| mkdir win32 | ||||
| cd win32 | ||||
| 
 | ||||
| # build Subsurface and then smtk2ssrf | ||||
| export MXEBUILDTYPE=i686-w64-mingw32.shared | ||||
| bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer | ||||
| mv subsurface/subsurface-$VERSION.exe /__w/subsurface-32bit-$VERSION.exe | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| #!/bin/bash -e | ||||
| 
 | ||||
| # build Subsurface for Win32 | ||||
| # build Subsurface for Windows | ||||
| # | ||||
| # this file assumes that you have installed MXE on your system | ||||
| # and installed a number of dependencies as well. | ||||
|  | @ -153,26 +153,30 @@ if [ ! -f libdivecomputer/configure ] ; then | |||
| 	autoreconf --install | ||||
| fi | ||||
| 
 | ||||
| # build libmtp as that isn't available via MXE | ||||
| cd "$BUILDDIR" | ||||
| if [[ ! -d libmtp || -f build.libmtp ]] ; then | ||||
| 	rm -f build.libmtp | ||||
| 	cd "$BASEDIR/libmtp" | ||||
| 	export NOCONFIGURE=1 | ||||
| 	# crudely disable the interactive part of autogen.sh | ||||
| 	sed --in-place=.bak 's/read IN/IN="N"/;s/echo "Auto/#echo "Auto/' autogen.sh | ||||
| 	bash autogen.sh | ||||
| 	mv autogen.sh.bak autogen.sh | ||||
| # if this is a 64bit build then build libmtp as that isn't available via MXE | ||||
| # for 32bit builds the library currently fails to build, so support for | ||||
| # MTP devices (right now just the Garmin Descent Mk2/Mk2i) is not available on 32bit Windows | ||||
| if [ "$MXEBUILDTYPE" = "x86_64-w64-mingw32.shared" ] ; then | ||||
| 	cd "$BUILDDIR" | ||||
| 	mkdir -p libmtp | ||||
| 	cd libmtp | ||||
| 	"$BASEDIR"/libmtp/configure \ | ||||
| 		CC="$MXEBUILDTYPE"-gcc \ | ||||
| 		--host="$MXEBUILDTYPE" \ | ||||
| 		--enable-shared \ | ||||
| 		--prefix="$BASEDIR"/"$MXEDIR"/usr/"$MXEBUILDTYPE" | ||||
| 	make $JOBS | ||||
| 	make install | ||||
| 	if [[ ! -d libmtp || -f build.libmtp ]] ; then | ||||
| 		rm -f build.libmtp | ||||
| 		cd "$BASEDIR/libmtp" | ||||
| 		export NOCONFIGURE=1 | ||||
| 		# crudely disable the interactive part of autogen.sh | ||||
| 		sed --in-place=.bak 's/read IN/IN="N"/;s/echo "Auto/#echo "Auto/' autogen.sh | ||||
| 		bash autogen.sh | ||||
| 		mv autogen.sh.bak autogen.sh | ||||
| 		cd "$BUILDDIR" | ||||
| 		mkdir -p libmtp | ||||
| 		cd libmtp | ||||
| 		"$BASEDIR"/libmtp/configure \ | ||||
| 			CC="$MXEBUILDTYPE"-gcc \ | ||||
| 			--host="$MXEBUILDTYPE" \ | ||||
| 			--enable-shared \ | ||||
| 			--prefix="$BASEDIR"/"$MXEDIR"/usr/"$MXEBUILDTYPE" | ||||
| 		make $JOBS | ||||
| 		make install | ||||
| 	fi | ||||
| fi | ||||
| 
 | ||||
| cd "$BUILDDIR" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue