X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmingw%2Fsigrok-cross-mingw;h=dbbaa3a390ba4a1853102bfd3fa2bd42ad38792c;hp=51b75a71c38aba860163d74f0d81651f6682ddbd;hb=81a786537c1c7;hpb=fd000407bdb400d6df788072ee298d220e180e1a diff --git a/cross-compile/mingw/sigrok-cross-mingw b/cross-compile/mingw/sigrok-cross-mingw index 51b75a7..dbbaa3a 100755 --- a/cross-compile/mingw/sigrok-cross-mingw +++ b/cross-compile/mingw/sigrok-cross-mingw @@ -2,7 +2,7 @@ ## ## This file is part of the sigrok-util project. ## -## Copyright (C) 2013-2018 Uwe Hermann +## Copyright (C) 2013-2020 Uwe Hermann ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -41,10 +41,16 @@ PARALLEL="-j 2" # Edit this to enable/disable debug builds. DEBUG=0 +# Optionally show some progress as the script executes. +# ECHO=true +ECHO=echo + # You usually don't need to change anything below this line. # ----------------------------------------------------------------------------- +$ECHO "setting up fetch variables ..." + WGET="wget -c --quiet" GIT_CLONE="git clone --depth=1" @@ -69,6 +75,8 @@ fi # ----------------------------------------------------------------------------- +$ECHO "setting up toolchain variables ..." + # We need to find tools in the toolchain. export PATH=$MXE/usr/bin:$PATH @@ -88,6 +96,7 @@ else fi # Remove build directory contents (if any) and create a new build dir. +$ECHO "starting new build directory: $BUILDDIR" rm -rf $BUILDDIR mkdir $BUILDDIR cd $BUILDDIR @@ -96,6 +105,8 @@ cd $BUILDDIR mkdir -p $PREFIX +$ECHO "preparing Python dependency ..." + # Cross-compiling Python is highly non-trivial, so we avoid it for now. # The download below is a repackaged tarball of the official Python 3.4.4 MSI # installer for Windows: @@ -148,21 +159,17 @@ if [ $TARGET = "x86_64" ]; then rm -f python34.dll fi +# We need to include the *.pyd files from python34.zip into the installers, +# otherwise importing certain modules (e.g. ctypes) won't work (bug #1409). +unzip -q $PREFIX/python34.zip *.pyd -d $PREFIX + # Zadig (we ship this with frontends for easy driver switching). -$WGET http://zadig.akeo.ie/downloads/zadig.exe -O $PREFIX/zadig.exe -$WGET http://zadig.akeo.ie/downloads/zadig_xp.exe -O $PREFIX/zadig_xp.exe - -# libusb -$GIT_CLONE git://github.com/dickens/libusb -b event-abstraction-v4 -cd libusb -patch -p1 < ../../libusb_raw_io.patch -./bootstrap.sh -./configure $C $L -make -j1 $V -make install $V -cd .. +$ECHO "fetching zadig ..." +$WGET https://github.com/pbatard/libwdi/releases/download/b721/zadig-2.4.exe -O $PREFIX/zadig.exe +$WGET https://github.com/pbatard/libwdi/releases/download/v1.2.5/zadig_xp-2.2.exe -O $PREFIX/zadig_xp.exe # libserialport +$ECHO "component libserialport ..." $GIT_CLONE $REPO_BASE/libserialport cd libserialport ./autogen.sh @@ -172,6 +179,7 @@ make install $V cd .. # libsigrok +$ECHO "component libsigrok ..." $GIT_CLONE $REPO_BASE/libsigrok cd libsigrok ./autogen.sh @@ -181,6 +189,7 @@ make install $V cd .. # libsigrokdecode +$ECHO "component libsigrokdecode ..." $GIT_CLONE $REPO_BASE/libsigrokdecode cd libsigrokdecode ./autogen.sh @@ -190,6 +199,7 @@ make install $V cd .. # sigrok-firmware +$ECHO "component sigrok-firmware ..." $GIT_CLONE $REPO_BASE/sigrok-firmware cd sigrok-firmware ./autogen.sh @@ -199,6 +209,7 @@ make install $V cd .. # sigrok-firmware-fx2lafw +$ECHO "component sigrok-firmware-fx2lafw ..." $GIT_CLONE $REPO_BASE/sigrok-firmware-fx2lafw cd sigrok-firmware-fx2lafw ./autogen.sh @@ -209,22 +220,29 @@ make install $V cd .. # sigrok-dumps +$ECHO "component sigrok-dumps ..." $GIT_CLONE $REPO_BASE/sigrok-dumps cd sigrok-dumps make install DESTDIR=$PREFIX/share/sigrok-dumps $V cd .. # sigrok-cli +$ECHO "component sigrok-cli ..." $GIT_CLONE $REPO_BASE/sigrok-cli cd sigrok-cli ./autogen.sh ./configure $C make $PARALLEL $V make install $V -makensis contrib/sigrok-cli_cross.nsi +if [ $TARGET = "i686" ]; then + makensis contrib/sigrok-cli_cross.nsi +else + makensis -DPE64=1 contrib/sigrok-cli_cross.nsi +fi cd .. # PulseView +$ECHO "component pulseview ..." $GIT_CLONE $REPO_BASE/pulseview cd pulseview cp ../../FileAssociation.nsh contrib @@ -241,6 +259,13 @@ if [ $DEBUG = 1 ]; then else make install/strip $V fi -makensis contrib/pulseview_cross.nsi + +$ECHO "creating NSIS installer ..." +if [ $TARGET = "i686" ]; then + makensis contrib/pulseview_cross.nsi +else + makensis -DPE64=1 contrib/pulseview_cross.nsi +fi cd .. +$ECHO "cross compile script done.""