]> sigrok.org Git - sigrok-util.git/blame - cross-compile/linux/sigrok-cross-linux
sigrok-cross-*: Use 'git clone --depth=1'.
[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
UH
35
36# Edit this to enable/disable/modify parallel compiles.
37PARALLEL="-j 2"
38
39# You usually don't need to change anything below this line.
40
41# -----------------------------------------------------------------------------
42
43P="$PREFIX/lib/pkgconfig"
44C="$C --prefix=$PREFIX"
45
46# Remove build directory contents (if any) and create a new build dir.
47rm -rf $BUILDDIR
48mkdir $BUILDDIR
49cd $BUILDDIR
50
a51ca6bd
UH
51GIT_CLONE="git clone --depth=1"
52
50f0dffc
UH
53# -----------------------------------------------------------------------------
54
55# libserialport
a51ca6bd 56$GIT_CLONE git://sigrok.org/libserialport
50f0dffc
UH
57cd libserialport
58./autogen.sh
59./configure $C
60make $PARALLEL
61make install
62cd ..
63
64# libsigrok
a51ca6bd 65$GIT_CLONE git://sigrok.org/libsigrok
50f0dffc
UH
66cd libsigrok
67./autogen.sh
68PKG_CONFIG_PATH=$P ./configure $C
69make $PARALLEL
70make install
71cd ..
72
73# libsigrokdecode
a51ca6bd 74$GIT_CLONE git://sigrok.org/libsigrokdecode
50f0dffc
UH
75cd libsigrokdecode
76./autogen.sh
77./configure $C
78make $PARALLEL
79make install
80cd ..
81
82# sigrok-firmware
a51ca6bd 83$GIT_CLONE git://sigrok.org/sigrok-firmware
50f0dffc
UH
84cd sigrok-firmware
85./autogen.sh
86# Nothing gets cross-compiled here, we just need 'make install' basically.
87./configure $C
88make install
89cd ..
90
91# sigrok-firmware-fx2lafw
a51ca6bd 92$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw
50f0dffc
UH
93cd sigrok-firmware-fx2lafw
94./autogen.sh
95# We're building the fx2lafw firmware on the host, no need to cross-compile.
96./configure $C
97make $PARALLEL
98make install
99cd ..
100
101# sigrok-cli
a51ca6bd 102$GIT_CLONE git://sigrok.org/sigrok-cli
50f0dffc
UH
103cd sigrok-cli
104./autogen.sh
105PKG_CONFIG_PATH=$P ./configure $C
106make $PARALLEL
107make install
108cd ..
109
110# PulseView
a51ca6bd 111$GIT_CLONE git://sigrok.org/pulseview
50f0dffc
UH
112cd pulseview
113PKG_CONFIG_PATH=$P cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_DECODE=y .
114make $PARALLEL
115make install
116cd ..
117