From d48e8d928486e77a22bcc9e53da46f37b635d4d3 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 28 Oct 2020 07:15:20 -0700 Subject: [PATCH] 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 --- .../scripts/windows-container-prep.sh | 1 + packaging/windows/mxe-based-build.sh | 22 +++++++++++++++++++ scripts/get-dep-lib.sh | 4 ++++ 3 files changed, 27 insertions(+) diff --git a/.github/workflows/scripts/windows-container-prep.sh b/.github/workflows/scripts/windows-container-prep.sh index a71ee381f..a639604aa 100644 --- a/.github/workflows/scripts/windows-container-prep.sh +++ b/.github/workflows/scripts/windows-container-prep.sh @@ -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 diff --git a/packaging/windows/mxe-based-build.sh b/packaging/windows/mxe-based-build.sh index ecae2e7e8..fc4c73db3 100755 --- a/packaging/windows/mxe-based-build.sh +++ b/packaging/windows/mxe-based-build.sh @@ -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) diff --git a/scripts/get-dep-lib.sh b/scripts/get-dep-lib.sh index b0cf2089a..ddeeb38f0 100755 --- a/scripts/get-dep-lib.sh +++ b/scripts/get-dep-lib.sh @@ -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 ;;