]> sigrok.org Git - sigrok-util.git/blame_incremental - cross-compile/linux/sigrok-cross-linux
sigrok-cross-linux: Don't do verbose builds by default.
[sigrok-util.git] / cross-compile / linux / sigrok-cross-linux
... / ...
CommitLineData
1#!/bin/sh
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.
34BUILDDIR=./build
35
36# The path where the libsigrok Python bindings will be installed.
37PYPATH=$PREFIX/lib/python2.7/site-packages
38
39# Edit this to control verbose build output.
40# V="V=1 VERBOSE=1"
41
42# Edit this to enable/disable/modify parallel compiles.
43PARALLEL="-j 2"
44
45# Uncomment the following lines to build with clang and run scan-build.
46# export CC=clang
47# export CXX=clang++
48# SB="scan-build -k -v"
49
50# You usually don't need to change anything below this line.
51
52# -----------------------------------------------------------------------------
53
54P="$PREFIX/lib/pkgconfig"
55C="$C --prefix=$PREFIX"
56
57# Remove build directory contents (if any) and create a new build dir.
58rm -rf $BUILDDIR
59mkdir $BUILDDIR
60cd $BUILDDIR
61
62GIT_CLONE="git clone --depth=1"
63
64# -----------------------------------------------------------------------------
65
66# libserialport
67$GIT_CLONE git://sigrok.org/libserialport
68cd libserialport
69./autogen.sh
70mkdir build
71cd build
72../configure $C
73$SB make $PARALLEL $V
74make install $V
75cd ../..
76
77# libsigrok
78mkdir -p $PYPATH
79$GIT_CLONE git://sigrok.org/libsigrok
80cd libsigrok
81./autogen.sh
82mkdir build
83cd build
84PKG_CONFIG_PATH=$P ../configure $C
85$SB make $PARALLEL $V
86PYTHONPATH=$PYPATH $SB make install $V
87$SB make check $V
88cd ../..
89
90# libsigrokdecode
91$GIT_CLONE git://sigrok.org/libsigrokdecode
92cd libsigrokdecode
93./autogen.sh
94mkdir build
95cd build
96PKG_CONFIG_PATH=$P ../configure $C
97$SB make $PARALLEL $V
98make install $V
99$SB make check $V
100cd ../..
101
102# sigrok-firmware
103$GIT_CLONE git://sigrok.org/sigrok-firmware
104cd sigrok-firmware
105./autogen.sh
106mkdir build
107cd build
108# Nothing gets cross-compiled here, we just need 'make install' basically.
109../configure $C
110make install $V
111cd ../..
112
113# sigrok-firmware-fx2lafw
114$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw
115cd sigrok-firmware-fx2lafw
116./autogen.sh
117mkdir build
118cd build
119# We're building the fx2lafw firmware on the host, no need to cross-compile.
120../configure $C
121make $PARALLEL $V
122make install $V
123cd ../..
124
125# sigrok-cli
126$GIT_CLONE git://sigrok.org/sigrok-cli
127cd sigrok-cli
128./autogen.sh
129mkdir build
130cd build
131PKG_CONFIG_PATH=$P ../configure $C
132$SB make $PARALLEL $V
133make install $V
134cd ../..
135
136# PulseView
137$GIT_CLONE git://sigrok.org/pulseview
138cd pulseview
139mkdir build
140cd build
141PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
142$SB make $PARALLEL $V
143make install $V
144$SB make test $V
145cd ../..