]> sigrok.org Git - sigrok-util.git/blobdiff - cross-compile/linux/sigrok-cross-linux
macosx: Fix another instance that needs the Python 3.6 -> 3.7 bump.
[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux
index 6e119b0ad03c519c55438141f58f1af9fc0bfbbd..2c8e559efde8cf6ae9a365bf1a4324a33600fae7 100755 (executable)
@@ -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 <http://www.gnu.org/licenses/>.
 ##
 
 set -e
@@ -36,6 +35,14 @@ 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"
 
@@ -58,85 +65,92 @@ 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 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
-$SB make $PARALLEL
-PYTHONPATH=$PYPATH $SB make install
-$SB 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
-$SB make $PARALLEL
-make install
-$SB 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 ../..
 
 # 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 ../..
 
 # 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
-$SB 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 $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
-$SB 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 ../..
-