X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Flinux%2Fsigrok-cross-linux;h=6ba70378a02fe2ecdd06e5d0a9103db301730f4f;hp=8dd770d9ef921a12eed0418f6dace9aa4e108b71;hb=149202b4da310b2828447711db6adbe07e7d815a;hpb=7facd6cf6456b9f684415502a62db036fdfcdcd8 diff --git a/cross-compile/linux/sigrok-cross-linux b/cross-compile/linux/sigrok-cross-linux index 8dd770d..6ba7037 100755 --- a/cross-compile/linux/sigrok-cross-linux +++ b/cross-compile/linux/sigrok-cross-linux @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh ## ## This file is part of the sigrok-util project. ## @@ -15,8 +15,7 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## set -e @@ -36,9 +35,25 @@ BUILDDIR=./build # The path where the libsigrok Python bindings will be installed. PYPATH=$PREFIX/lib/python2.7/site-packages +# JDK include path. Usually found automatically, except on FreeBSD. +if [ `uname` = "FreeBSD" ]; then + JDK="--with-jni-include-path=/usr/local/openjdk7/include" +fi + +# Edit this to control verbose build output. +# V="V=1 VERBOSE=1" + # Edit this to enable/disable/modify parallel compiles. PARALLEL="-j 2" +# Edit this to enable/disable building certain components. +BUILD_SIGROK_FIRMWARE_FX2LAFW=1 + +# Uncomment the following lines to build with clang and run scan-build. +# export CC=clang +# export CXX=clang++ +# SB="scan-build -k -v" + # You usually don't need to change anything below this line. # ----------------------------------------------------------------------------- @@ -53,85 +68,94 @@ cd $BUILDDIR GIT_CLONE="git clone --depth=1" +REPO_BASE="git://sigrok.org" + # ----------------------------------------------------------------------------- # libserialport -$GIT_CLONE git://sigrok.org/libserialport +$GIT_CLONE $REPO_BASE/libserialport cd libserialport ./autogen.sh mkdir build cd build -../configure $C -make $PARALLEL -make install +$SB ../configure $C +$SB make $PARALLEL $V +make install $V cd ../.. # libsigrok mkdir -p $PYPATH -$GIT_CLONE git://sigrok.org/libsigrok +$GIT_CLONE $REPO_BASE/libsigrok cd libsigrok ./autogen.sh mkdir build cd build -PKG_CONFIG_PATH=$P ../configure $C -make $PARALLEL -PYTHONPATH=$PYPATH make install -make check +PKG_CONFIG_PATH=$P $SB ../configure $C $JDK +$SB make $PARALLEL $V +PYTHONPATH=$PYPATH $SB make install $V +$SB make check $V cd ../.. # libsigrokdecode -$GIT_CLONE git://sigrok.org/libsigrokdecode +$GIT_CLONE $REPO_BASE/libsigrokdecode cd libsigrokdecode ./autogen.sh mkdir build cd build -PKG_CONFIG_PATH=$P ../configure $C -make $PARALLEL -make install -make check +PKG_CONFIG_PATH=$P $SB ../configure $C +$SB make $PARALLEL $V +make install $V +$SB make check $V cd ../.. # sigrok-firmware -$GIT_CLONE git://sigrok.org/sigrok-firmware +$GIT_CLONE $REPO_BASE/sigrok-firmware cd sigrok-firmware ./autogen.sh mkdir build cd build # Nothing gets cross-compiled here, we just need 'make install' basically. -../configure $C -make install +$SB ../configure $C +make install $V cd ../.. +if [ $BUILD_SIGROK_FIRMWARE_FX2LAFW = 1 ]; then # sigrok-firmware-fx2lafw -$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw +$GIT_CLONE $REPO_BASE/sigrok-firmware-fx2lafw cd sigrok-firmware-fx2lafw ./autogen.sh mkdir build cd build # We're building the fx2lafw firmware on the host, no need to cross-compile. -../configure $C -make $PARALLEL -make install +$SB ../configure $C +make $PARALLEL $V +make install $V cd ../.. +fi # sigrok-cli -$GIT_CLONE git://sigrok.org/sigrok-cli +$GIT_CLONE $REPO_BASE/sigrok-cli cd sigrok-cli ./autogen.sh mkdir build cd build -PKG_CONFIG_PATH=$P ../configure $C -make $PARALLEL -make install +if [ `uname` = "FreeBSD" ]; then + # Temporary fix for: http://sigrok.org/bugzilla/show_bug.cgi?id=552 + PKG_CONFIG_PATH=$P $SB ../configure $C LDFLAGS=-lusb +else + PKG_CONFIG_PATH=$P $SB ../configure $C +fi +$SB make $PARALLEL $V +make install $V cd ../.. # PulseView -$GIT_CLONE git://sigrok.org/pulseview +$GIT_CLONE $REPO_BASE/pulseview cd pulseview mkdir build cd build -PKG_CONFIG_PATH=$P cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y .. -make $PARALLEL -make install +PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y -DCMAKE_EXPORT_COMPILE_COMMANDS=y .. +$SB make $PARALLEL $V +make install $V +$SB make test $V cd ../.. -