]> sigrok.org Git - sigrok-util.git/blame - cross-compile/linux/sigrok-cross-linux
sigrok-cross-linux: Run sr/srd unit tests.
[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux
CommitLineData
50f0dffc
UH
1#!/bin/bash
2##
3## This file is part of the sigrok-util project.
4##
5## Copyright (C) 2014 Uwe Hermann <uwe@hermann-uwe.de>
6##
7## This program is free software; you can redistribute it and/or modify
8## it under the terms of the GNU General Public License as published by
9## the Free Software Foundation; either version 2 of the License, or
10## (at your option) any later version.
11##
12## This program is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15## GNU General Public License for more details.
16##
17## You should have received a copy of the GNU General Public License
18## along with this program; if not, write to the Free Software
19## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20##
21
22set -e
23
24# Uncomment/set the following to match your cross-toolchain setup.
25# TOOLCHAIN=...
26# TOOLCHAIN_TRIPLET=...
27# C="--host=$TOOLCHAIN_TRIPLET"
28# export PATH=$TOOLCHAIN/bin:$PATH
29
30# The path where the compiled packages will be installed.
31PREFIX=$HOME/sr
32
33# The path where to download files to and where to build packages.
07947dda 34BUILDDIR=./build
50f0dffc 35
91036110
UH
36# The path where the libsigrok Python bindings will be installed.
37PYPATH=$PREFIX/lib/python2.7/site-packages
38
50f0dffc
UH
39# Edit this to enable/disable/modify parallel compiles.
40PARALLEL="-j 2"
41
42# You usually don't need to change anything below this line.
43
44# -----------------------------------------------------------------------------
45
46P="$PREFIX/lib/pkgconfig"
47C="$C --prefix=$PREFIX"
48
49# Remove build directory contents (if any) and create a new build dir.
50rm -rf $BUILDDIR
51mkdir $BUILDDIR
52cd $BUILDDIR
53
a51ca6bd
UH
54GIT_CLONE="git clone --depth=1"
55
50f0dffc
UH
56# -----------------------------------------------------------------------------
57
58# libserialport
a51ca6bd 59$GIT_CLONE git://sigrok.org/libserialport
50f0dffc
UH
60cd libserialport
61./autogen.sh
4ff67f5a
UH
62mkdir build
63cd build
64../configure $C
50f0dffc
UH
65make $PARALLEL
66make install
4ff67f5a 67cd ../..
50f0dffc
UH
68
69# libsigrok
91036110 70mkdir -p $PYPATH
a51ca6bd 71$GIT_CLONE git://sigrok.org/libsigrok
50f0dffc
UH
72cd libsigrok
73./autogen.sh
4ff67f5a
UH
74mkdir build
75cd build
76PKG_CONFIG_PATH=$P ../configure $C
50f0dffc 77make $PARALLEL
91036110 78PYTHONPATH=$PYPATH make install
7facd6cf 79make check
4ff67f5a 80cd ../..
50f0dffc
UH
81
82# libsigrokdecode
a51ca6bd 83$GIT_CLONE git://sigrok.org/libsigrokdecode
50f0dffc
UH
84cd libsigrokdecode
85./autogen.sh
4ff67f5a
UH
86mkdir build
87cd build
88PKG_CONFIG_PATH=$P ../configure $C
50f0dffc
UH
89make $PARALLEL
90make install
7facd6cf 91make check
4ff67f5a 92cd ../..
50f0dffc
UH
93
94# sigrok-firmware
a51ca6bd 95$GIT_CLONE git://sigrok.org/sigrok-firmware
50f0dffc
UH
96cd sigrok-firmware
97./autogen.sh
4ff67f5a
UH
98mkdir build
99cd build
50f0dffc 100# Nothing gets cross-compiled here, we just need 'make install' basically.
4ff67f5a 101../configure $C
50f0dffc 102make install
4ff67f5a 103cd ../..
50f0dffc
UH
104
105# sigrok-firmware-fx2lafw
a51ca6bd 106$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw
50f0dffc
UH
107cd sigrok-firmware-fx2lafw
108./autogen.sh
4ff67f5a
UH
109mkdir build
110cd build
50f0dffc 111# We're building the fx2lafw firmware on the host, no need to cross-compile.
4ff67f5a 112../configure $C
50f0dffc
UH
113make $PARALLEL
114make install
4ff67f5a 115cd ../..
50f0dffc
UH
116
117# sigrok-cli
a51ca6bd 118$GIT_CLONE git://sigrok.org/sigrok-cli
50f0dffc
UH
119cd sigrok-cli
120./autogen.sh
4ff67f5a
UH
121mkdir build
122cd build
123PKG_CONFIG_PATH=$P ../configure $C
50f0dffc
UH
124make $PARALLEL
125make install
4ff67f5a 126cd ../..
50f0dffc
UH
127
128# PulseView
a51ca6bd 129$GIT_CLONE git://sigrok.org/pulseview
50f0dffc 130cd pulseview
4ff67f5a
UH
131mkdir build
132cd build
4485db1e 133PKG_CONFIG_PATH=$P cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
50f0dffc
UH
134make $PARALLEL
135make install
4ff67f5a 136cd ../..
50f0dffc 137