# 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++
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
+$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 $JDK
+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
+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
+$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
+$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
if [ `uname` = "FreeBSD" ]; then
# Temporary fix for: http://sigrok.org/bugzilla/show_bug.cgi?id=552
- PKG_CONFIG_PATH=$P ../configure $C LDFLAGS=-lusb
+ PKG_CONFIG_PATH=$P $SB ../configure $C LDFLAGS=-lusb
else
- PKG_CONFIG_PATH=$P ../configure $C
+ 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 $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
+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