X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmingw%2Fsigrok-cross-mingw;h=dbbaa3a390ba4a1853102bfd3fa2bd42ad38792c;hp=c5c3a39af91d9473ac93452c72295c2231a0aed4;hb=81a786537c1c7;hpb=e060d94ee8b6de6f8cc6064027cc84aabffd4969 diff --git a/cross-compile/mingw/sigrok-cross-mingw b/cross-compile/mingw/sigrok-cross-mingw index c5c3a39..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-2017 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 @@ -26,11 +26,11 @@ TARGET="i686" # The path where your MXE directory is located. MXE=$HOME/mxe-git -# The path where the cross-compiled packages will be installed. -PREFIX=$HOME/sr_mingw +# The base path prefix where the cross-compiled packages will be installed. +PREFIXBASE=$HOME/sr_mingw -# The path where to download files to and where to build packages. -BUILDDIR=./build +# The base path prefix where to download files to and where to build packages. +BUILDBASE=./build # Edit this to control verbose build output. # V="V=1 VERBOSE=1" @@ -41,19 +41,42 @@ 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. # ----------------------------------------------------------------------------- -SF_MIRROR=switch.dl.sourceforge.net +$ECHO "setting up fetch variables ..." WGET="wget -c --quiet" GIT_CLONE="git clone --depth=1" REPO_BASE="git://sigrok.org" +# Construct the build and install directory pathnames. +if [ $TARGET = "i686" ]; then + SUFFIX="32" +else + SUFFIX="64" +fi +if [ $DEBUG = 1 ]; then + # CFLAGS/CXXFLAGS contains "-g" per default for autotools projects. + BUILD_TYPE="Debug" + PREFIX=$PREFIXBASE"_debug_"$SUFFIX + BUILDDIR=$BUILDBASE"_debug_"$SUFFIX +else + BUILD_TYPE="Release" + PREFIX=$PREFIXBASE"_release_"$SUFFIX + BUILDDIR=$BUILDBASE"_release_"$SUFFIX +fi + # ----------------------------------------------------------------------------- +$ECHO "setting up toolchain variables ..." + # We need to find tools in the toolchain. export PATH=$MXE/usr/bin:$PATH @@ -72,12 +95,8 @@ else 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. +$ECHO "starting new build directory: $BUILDDIR" rm -rf $BUILDDIR mkdir $BUILDDIR cd $BUILDDIR @@ -86,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: @@ -96,6 +117,11 @@ mkdir -p $PREFIX $WGET 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. +if [ $TARGET = "x86_64" ]; then + patch -p1 $PREFIX/Python34/include/pyconfig.h < ../pyconfig.patch +fi + # Create a dummy python3.pc file so that pkg-config finds Python 3. mkdir -p $PREFIX/lib/pkgconfig cat >$PREFIX/lib/pkgconfig/python3.pc <