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 .
|
[ ! -d mxe ] || ln -s /win/mxe .
|
||||||
|
|
||||||
|
# grab the version number
|
||||||
|
cd subsurface
|
||||||
|
VERSION=$(./scripts/get-version linux)
|
||||||
|
cd ..
|
||||||
|
|
||||||
# prep the container
|
# prep the container
|
||||||
bash subsurface/.github/workflows/scripts/windows-container-prep.sh
|
bash subsurface/.github/workflows/scripts/windows-container-prep.sh
|
||||||
|
|
||||||
# remove artifact from prior builds
|
# remove artifact from prior builds
|
||||||
rm -f mdbtools/include/mdbver.h
|
rm -f mdbtools/include/mdbver.h
|
||||||
|
|
||||||
# build the installer
|
# build the 64bit installer
|
||||||
rm -rf win64
|
rm -rf win64
|
||||||
mkdir win64
|
mkdir win64
|
||||||
cd win64
|
cd win64
|
||||||
|
@ -20,9 +25,20 @@ cd win64
|
||||||
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
|
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
|
||||||
export PATH=/win/mxe/usr/bin:$PATH
|
export PATH=/win/mxe/usr/bin:$PATH
|
||||||
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
|
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
|
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
|
#!/bin/bash -e
|
||||||
|
|
||||||
# build Subsurface for Win32
|
# build Subsurface for Windows
|
||||||
#
|
#
|
||||||
# this file assumes that you have installed MXE on your system
|
# this file assumes that you have installed MXE on your system
|
||||||
# and installed a number of dependencies as well.
|
# and installed a number of dependencies as well.
|
||||||
|
@ -153,26 +153,30 @@ if [ ! -f libdivecomputer/configure ] ; then
|
||||||
autoreconf --install
|
autoreconf --install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# build libmtp as that isn't available via MXE
|
# if this is a 64bit build then build libmtp as that isn't available via MXE
|
||||||
cd "$BUILDDIR"
|
# for 32bit builds the library currently fails to build, so support for
|
||||||
if [[ ! -d libmtp || -f build.libmtp ]] ; then
|
# MTP devices (right now just the Garmin Descent Mk2/Mk2i) is not available on 32bit Windows
|
||||||
rm -f build.libmtp
|
if [ "$MXEBUILDTYPE" = "x86_64-w64-mingw32.shared" ] ; then
|
||||||
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"
|
cd "$BUILDDIR"
|
||||||
mkdir -p libmtp
|
if [[ ! -d libmtp || -f build.libmtp ]] ; then
|
||||||
cd libmtp
|
rm -f build.libmtp
|
||||||
"$BASEDIR"/libmtp/configure \
|
cd "$BASEDIR/libmtp"
|
||||||
CC="$MXEBUILDTYPE"-gcc \
|
export NOCONFIGURE=1
|
||||||
--host="$MXEBUILDTYPE" \
|
# crudely disable the interactive part of autogen.sh
|
||||||
--enable-shared \
|
sed --in-place=.bak 's/read IN/IN="N"/;s/echo "Auto/#echo "Auto/' autogen.sh
|
||||||
--prefix="$BASEDIR"/"$MXEDIR"/usr/"$MXEBUILDTYPE"
|
bash autogen.sh
|
||||||
make $JOBS
|
mv autogen.sh.bak autogen.sh
|
||||||
make install
|
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
|
fi
|
||||||
|
|
||||||
cd "$BUILDDIR"
|
cd "$BUILDDIR"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue