X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Flinux%2Fsigrok-cross-linux;h=6ba70378a02fe2ecdd06e5d0a9103db301730f4f;hp=8f94d43aa32441420cd2c8242f03c8df94cc4494;hb=149202b4da310b2828447711db6adbe07e7d815a;hpb=cabab8f7b608d3e0183808ddbbe3fd9f9322e999 diff --git a/cross-compile/linux/sigrok-cross-linux b/cross-compile/linux/sigrok-cross-linux index 8f94d43..6ba7037 100755 --- a/cross-compile/linux/sigrok-cross-linux +++ b/cross-compile/linux/sigrok-cross-linux @@ -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,12 +35,20 @@ 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" +# 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++ @@ -61,84 +68,93 @@ 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 +$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 +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 -PKG_CONFIG_PATH=$P ../configure $C +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 $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