]> sigrok.org Git - sigrok-util.git/blobdiff - cross-compile/mingw/sigrok-cross-mingw
sigrok-cross-mingw: Allow for debug builds (default = off).
[sigrok-util.git] / cross-compile / mingw / sigrok-cross-mingw
index 7a2e8b39409e5ea9d1fbfe2e6767cb661c2fac30..86e4486646a2950dfa2bf45b9b2231cd1204e138 100755 (executable)
@@ -2,7 +2,7 @@
 ##
 ## This file is part of the sigrok-util project.
 ##
-## Copyright (C) 2013-2014 Uwe Hermann <uwe@hermann-uwe.de>
+## Copyright (C) 2013-2016 Uwe Hermann <uwe@hermann-uwe.de>
 ##
 ## 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
@@ -39,6 +39,9 @@ BUILDDIR=./build
 # Edit this to enable/disable/modify parallel compiles.
 PARALLEL="-j 2"
 
+# Edit this to enable/disable debug builds.
+DEBUG=0
+
 # You usually don't need to change anything below this line.
 
 # -----------------------------------------------------------------------------
@@ -53,18 +56,23 @@ 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
+
+if [ $DEBUG = 1 ]; then
+       # CFLAGS/CXXFLAGS contains "-g" per default for autotools projects.
+       CM="$CM -DCMAKE_BUILD_TYPE=Debug"
 fi
 
 # Remove build directory contents (if any) and create a new build dir.
@@ -117,8 +125,9 @@ $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
-./autogen.sh
-./configure $C $L --disable-udev
+patch -p1 < ../../libusb_raw_io.patch
+./bootstrap.sh
+./configure $C $L
 make -j1 $V
 make install $V
 cd ..
@@ -135,7 +144,6 @@ cd ..
 # libsigrok
 $GIT_CLONE git://sigrok.org/libsigrok
 cd libsigrok
-patch -p1 < ../../libsigrok_firmwaredir.patch
 ./autogen.sh
 ./configure $C $L
 make $PARALLEL $V
@@ -146,7 +154,6 @@ cd ..
 $GIT_CLONE git://sigrok.org/libsigrokdecode
 cd libsigrokdecode
 ./autogen.sh
-patch -p1 < ../../srd_decodersdir.patch
 ./configure $C $L
 make $PARALLEL $V
 make install $V
@@ -190,9 +197,18 @@ cd ..
 # PulseView
 $GIT_CLONE git://sigrok.org/pulseview
 cd pulseview
+if [ $DEBUG = 1 ]; then
+       # Allow a "DOS box" to open on Windows, it'll contain logging output.
+       patch -p1 < ../../pv_mwindows.patch
+fi
 cmake $CM -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y .
+exit
 make $PARALLEL $V
-make install/strip $V
+if [ $DEBUG = 1 ]; then
+       make install $V
+else
+       make install/strip $V
+fi
 makensis -DHOME=$HOME contrib/pulseview_cross.nsi
 cd ..