]> sigrok.org Git - sigrok-util.git/blobdiff - cross-compile/mingw/sigrok-cross-mingw
Rename bundle.sh to sigrok-native-appimage for consistency.
[sigrok-util.git] / cross-compile / mingw / sigrok-cross-mingw
index e7cd23573ab936aaf88186091cdddc24906924e5..b324429aa2deb50278c7776495944c8b17899f2b 100755 (executable)
@@ -33,6 +33,9 @@ PREFIX=$HOME/sr_mingw
 # The path where to download files to and where to build packages.
 BUILDDIR=./build
 
+# Edit this to control verbose build output.
+# V="V=1 VERBOSE=1"
+
 # Edit this to enable/disable/modify parallel compiles.
 PARALLEL="-j 2"
 
@@ -50,18 +53,18 @@ GIT_CLONE="git clone --depth=1"
 # We need to find tools in the toolchain.
 export PATH=$MXE/usr/bin:$PATH
 
-TOOLCHAIN_TRIPLET="$TARGET-w64-mingw32.static"
+TOOLCHAIN_TRIPLET="$TARGET-w64-mingw32.static.posix"
 
 P="$PREFIX/lib/pkgconfig"
 P2="$MXE/usr/$TOOLCHAIN_TRIPLET/lib/pkgconfig"
-C="--host=$TOOLCHAIN_TRIPLET --prefix=$PREFIX"
+C="--host=$TOOLCHAIN_TRIPLET --prefix=$PREFIX CPPFLAGS=-D__printf__=__gnu_printf__"
 CM="-DCMAKE_TOOLCHAIN_FILE=$MXE/usr/$TOOLCHAIN_TRIPLET/share/cmake/mxe-conf.cmake"
 L="--disable-shared --enable-static"
 
 if [ $TARGET = "i686" ]; then
-       export PKG_CONFIG_PATH_i686_w64_mingw32_static="$P:$P2"
+       export PKG_CONFIG_PATH_i686_w64_mingw32_static_posix="$P:$P2"
 else
-       export PKG_CONFIG_PATH_x86_64_w64_mingw32_static="$P:$P2"
+       export PKG_CONFIG_PATH_x86_64_w64_mingw32_static_posix="$P:$P2"
 fi
 
 # Remove build directory contents (if any) and create a new build dir.
@@ -111,33 +114,41 @@ $WGET http://www.sigrok.org/tmp/python32_$TARGET.zip -O $PREFIX/python32.zip
 $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 ..
+
 # libserialport
 $GIT_CLONE git://sigrok.org/libserialport
 cd libserialport
 ./autogen.sh
 ./configure $C $L
-make $PARALLEL V=1
-make install
+make $PARALLEL $V
+make install $V
 cd ..
 
 # libsigrok
 $GIT_CLONE git://sigrok.org/libsigrok
 cd libsigrok
-patch -p1 < ../../libsigrok_firmwaredir.patch
 ./autogen.sh
 ./configure $C $L
-make $PARALLEL V=1
-make install
+make $PARALLEL $V
+make install $V
 cd ..
 
 # libsigrokdecode
 $GIT_CLONE git://sigrok.org/libsigrokdecode
 cd libsigrokdecode
 ./autogen.sh
-patch -p1 < ../../srd_decodersdir.patch
 ./configure $C $L
-make $PARALLEL V=1
-make install
+make $PARALLEL $V
+make install $V
 cd ..
 
 # sigrok-firmware
@@ -146,7 +157,7 @@ cd sigrok-firmware
 ./autogen.sh
 # Nothing gets cross-compiled here, we just need 'make install' basically.
 ./configure --prefix=$PREFIX
-make install
+make install $V
 cd ..
 
 # sigrok-firmware-fx2lafw
@@ -155,14 +166,14 @@ cd sigrok-firmware-fx2lafw
 ./autogen.sh
 # We're building the fx2lafw firmware on the host, no need to cross-compile.
 ./configure --prefix=$PREFIX
-make $PARALLEL V=1
-make install
+make $PARALLEL $V
+make install $V
 cd ..
 
 # sigrok-dumps
 $GIT_CLONE git://sigrok.org/sigrok-dumps
 cd sigrok-dumps
-make install DESTDIR=$PREFIX/share/sigrok-dumps
+make install DESTDIR=$PREFIX/share/sigrok-dumps $V
 cd ..
 
 # sigrok-cli
@@ -170,17 +181,17 @@ $GIT_CLONE git://sigrok.org/sigrok-cli
 cd sigrok-cli
 ./autogen.sh
 ./configure $C
-make $PARALLEL V=1
-make install
+make $PARALLEL $V
+make install $V
 makensis -DHOME=$HOME contrib/sigrok-cli_cross.nsi
 cd ..
 
 # PulseView
 $GIT_CLONE git://sigrok.org/pulseview
 cd pulseview
-cmake $CM -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y .
-make $PARALLEL VERBOSE=1
-make install/strip
+cmake $CM -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y .
+make $PARALLEL $V
+make install/strip $V
 makensis -DHOME=$HOME contrib/pulseview_cross.nsi
 cd ..