X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmingw%2Fsigrok-cross-mingw;h=2a4b29db5325195232e78399771df1f1f0c9653c;hp=bda4d921240d6f6cacf130dc6bd9e47c9e493e01;hb=c9f28bdd231ae9e86660045b13790ff7f9b053be;hpb=d24d85a21fddac4021e5eb9916fdfb39c38d51c1 diff --git a/cross-compile/mingw/sigrok-cross-mingw b/cross-compile/mingw/sigrok-cross-mingw index bda4d92..2a4b29d 100755 --- a/cross-compile/mingw/sigrok-cross-mingw +++ b/cross-compile/mingw/sigrok-cross-mingw @@ -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,13 @@ cd $BUILDDIR mkdir -p $PREFIX +$ECHO "preparing Python dependency ..." + +# This is a HACK which temporarily unbreaks Windows CI builds. +# TODO Remove this line as well as $WGET_SR references below +# when the Python34 download works again. +WGET_SR="$WGET --no-check-certificate" + # 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: @@ -103,7 +119,7 @@ mkdir -p $PREFIX # - https://www.python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi # The MSI file has been installed on a Windows box and then c:\Python34\libs # and c:\Python34\include have been stored in the Python34_*.tar.gz tarball. -$WGET http://www.sigrok.org/tmp/Python34_$TARGET.tar.gz -O $PREFIX/Python34.tar.gz +$WGET_SR http://www.sigrok.org/tmp/Python34_$TARGET.tar.gz -O $PREFIX/Python34.tar.gz tar xzf $PREFIX/Python34.tar.gz -C $PREFIX # Fix for bug #1195. @@ -132,8 +148,8 @@ EOF # The file python34.zip contains all files from the 'DLLs', 'Lib', and 'libs' # subdirectories from an installed Python on Windows (c:\python34), i.e. some # libraries and all Python stdlib modules. -$WGET http://www.sigrok.org/tmp/python34_$TARGET.dll -O $PREFIX/python34.dll -$WGET http://www.sigrok.org/tmp/python34_$TARGET.zip -O $PREFIX/python34.zip +$WGET_SR http://www.sigrok.org/tmp/python34_$TARGET.dll -O $PREFIX/python34.dll +$WGET_SR http://www.sigrok.org/tmp/python34_$TARGET.zip -O $PREFIX/python34.zip # In order to link against Python we need libpython34.a. # The upstream Python 32bit installer ships this, the x86_64 installer @@ -153,20 +169,12 @@ fi unzip -q $PREFIX/python34.zip *.pyd -d $PREFIX # Zadig (we ship this with frontends for easy driver switching). +$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 -# 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 .. - # libserialport +$ECHO "component libserialport ..." $GIT_CLONE $REPO_BASE/libserialport cd libserialport ./autogen.sh @@ -176,6 +184,7 @@ make install $V cd .. # libsigrok +$ECHO "component libsigrok ..." $GIT_CLONE $REPO_BASE/libsigrok cd libsigrok ./autogen.sh @@ -185,6 +194,7 @@ make install $V cd .. # libsigrokdecode +$ECHO "component libsigrokdecode ..." $GIT_CLONE $REPO_BASE/libsigrokdecode cd libsigrokdecode ./autogen.sh @@ -194,6 +204,7 @@ make install $V cd .. # sigrok-firmware +$ECHO "component sigrok-firmware ..." $GIT_CLONE $REPO_BASE/sigrok-firmware cd sigrok-firmware ./autogen.sh @@ -203,6 +214,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 @@ -213,22 +225,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 @@ -245,6 +264,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.""