build-system: add libmtp for our Windows builds

This uses latest master (as that's the only one that has the explicit
Descent Mk2i support in it).

Right now, unfortunately the MXE build fails.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-10-28 07:15:20 -07:00
parent 0b13cbd81b
commit cdf1865246
3 changed files with 27 additions and 0 deletions

View file

@ -5,3 +5,4 @@
echo "downloading sources for fresh build"
bash subsurface/scripts/get-dep-lib.sh single . libzip
bash subsurface/scripts/get-dep-lib.sh single . googlemaps
bash subsurface/scripts/get-dep-lib.sh single . libmtp

View file

@ -153,6 +153,28 @@ 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
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
cd "$BUILDDIR"
CURRENT_SHA=$(cd "$BASEDIR"/subsurface/libdivecomputer ; git describe)
PREVIOUS_SHA=$(cat "libdivecomputer.SHA" 2>/dev/null || echo)

View file

@ -17,6 +17,7 @@ CURRENT_KIRIGAMI="v5.62.0"
CURRENT_BREEZE_ICONS="4daac191fb33c8c03bba8356db9767816cb8ee02"
CURRENT_MDBTOOLS="master"
CURRENT_QT_ANDROID_CMAKE="master"
CURRENT_LIBMTP="master"
# Checkout library from git
# Ensure specified version is checked out,
@ -155,6 +156,9 @@ for package in "${PACKAGES[@]}" ; do
libusb)
git_checkout_library libusb $CURRENT_LIBUSB https://github.com/libusb/libusb.git
;;
libmtp)
git_checkout_library libmtp $CURRENT_LIBMTP https://github.com/libmtp/libmtp.git
;;
libxml2)
git_checkout_library libxml2 $CURRENT_LIBXML2 https://github.com/GNOME/libxml2.git
;;