]> sigrok.org Git - sigrok-util.git/blobdiff - cross-compile/linux/sigrok-cross-linux
sigrok-cross-linux: Add facility to allow building with clang.
[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux
index a5ba2c6baed04dfaf7754d8a7e59ee1732bb154b..6e119b0ad03c519c55438141f58f1af9fc0bfbbd 100755 (executable)
@@ -39,6 +39,11 @@ PYPATH=$PREFIX/lib/python2.7/site-packages
 # Edit this to enable/disable/modify parallel compiles.
 PARALLEL="-j 2"
 
+# 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.
 
 # -----------------------------------------------------------------------------
@@ -59,63 +64,79 @@ GIT_CLONE="git clone --depth=1"
 $GIT_CLONE git://sigrok.org/libserialport
 cd libserialport
 ./autogen.sh
-./configure $C
-make $PARALLEL
+mkdir build
+cd build
+../configure $C
+$SB make $PARALLEL
 make install
-cd ..
+cd ../..
 
 # libsigrok
 mkdir -p $PYPATH
 $GIT_CLONE git://sigrok.org/libsigrok
 cd libsigrok
 ./autogen.sh
-PKG_CONFIG_PATH=$P ./configure $C
-make $PARALLEL
-PYTHONPATH=$PYPATH make install
-cd ..
+mkdir build
+cd build
+PKG_CONFIG_PATH=$P ../configure $C
+$SB make $PARALLEL
+PYTHONPATH=$PYPATH $SB make install
+$SB make check
+cd ../..
 
 # libsigrokdecode
 $GIT_CLONE git://sigrok.org/libsigrokdecode
 cd libsigrokdecode
 ./autogen.sh
-PKG_CONFIG_PATH=$P ./configure $C
-make $PARALLEL
+mkdir build
+cd build
+PKG_CONFIG_PATH=$P ../configure $C
+$SB make $PARALLEL
 make install
-cd ..
+$SB make check
+cd ../..
 
 # sigrok-firmware
 $GIT_CLONE git://sigrok.org/sigrok-firmware
 cd sigrok-firmware
 ./autogen.sh
+mkdir build
+cd build
 # Nothing gets cross-compiled here, we just need 'make install' basically.
-./configure $C
+../configure $C
 make install
-cd ..
+cd ../..
 
 # sigrok-firmware-fx2lafw
 $GIT_CLONE git://sigrok.org/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
+../configure $C
 make $PARALLEL
 make install
-cd ..
+cd ../..
 
 # sigrok-cli
 $GIT_CLONE git://sigrok.org/sigrok-cli
 cd sigrok-cli
 ./autogen.sh
-PKG_CONFIG_PATH=$P ./configure $C
-make $PARALLEL
+mkdir build
+cd build
+PKG_CONFIG_PATH=$P ../configure $C
+$SB make $PARALLEL
 make install
-cd ..
+cd ../..
 
 # PulseView
 $GIT_CLONE git://sigrok.org/pulseview
 cd pulseview
-PKG_CONFIG_PATH=$P cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_DECODE=y .
-make $PARALLEL
+mkdir build
+cd build
+PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
+$SB make $PARALLEL
 make install
-cd ..
+cd ../..