]> sigrok.org Git - sigrok-util.git/blame - cross-compile/macosx/sigrok-native-macosx
sigrok-native-macosx: Enable libsigrok Java bindings.
[sigrok-util.git] / cross-compile / macosx / sigrok-native-macosx
CommitLineData
4b4f052c
UH
1#!/bin/sh
2##
3## This file is part of the sigrok-util project.
4##
5## Copyright (C) 2015 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# The path where the compiled packages will be installed.
25PREFIX=$HOME/sr_macosx
26
27# The path where to download files to and where to build packages.
28BUILDDIR=./build
29
30# The path where the libsigrok Python bindings will be installed.
31PYPATH=$PREFIX/lib/python2.7/site-packages
32
2793b933
UH
33# Edit this to control verbose build output.
34# V="V=1 VERBOSE=1"
35
4b4f052c
UH
36# Edit this to enable/disable/modify parallel compiles.
37PARALLEL="-j 2"
38
39# Uncomment the following lines to build with clang and run scan-build.
40# export CC=llvm-gcc
41# export CXX=llvm-g++
42# SB="scan-build -k -v"
43
44# Uncomment the following lines to build with gcc/g++.
45export CC=gcc-4.9
46export CXX=g++-4.9
47
48# Path to Qt binaries (needed for cmake to find the Qt libs).
49# export PATH="/usr/local/opt/qt/bin:$PATH" # Qt4
50export PATH="/usr/local/opt/qt52/bin:$PATH" # Qt5
51
52# Path to Python 2/3 pkg-config files.
53# In Homebrew, pkg-config files of "keg-only" formulas (Python is one of them)
54# aren't installed into /usr/local/lib/pkgconfig (we manually reference them).
89de8f01
UH
55PY2="/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig"
56PY3="/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.4/lib/pkgconfig"
4b4f052c
UH
57
58# You usually don't need to change anything below this line.
59
60# -----------------------------------------------------------------------------
61
62P="$PREFIX/lib/pkgconfig:$PY2:$PY3"
63C="$C --prefix=$PREFIX"
64
65# Remove build directory contents (if any) and create a new build dir.
66rm -rf $BUILDDIR
67mkdir $BUILDDIR
68cd $BUILDDIR
69
70GIT_CLONE="git clone --depth=1"
71
72# -----------------------------------------------------------------------------
73
74# libserialport
75$GIT_CLONE git://sigrok.org/libserialport
76cd libserialport
77./autogen.sh
78mkdir build
79cd build
80../configure $C
2793b933
UH
81$SB make $PARALLEL $V
82make install $V
4b4f052c
UH
83cd ../..
84
85# libsigrok
86mkdir -p $PYPATH
87$GIT_CLONE git://sigrok.org/libsigrok
88cd libsigrok
89./autogen.sh
90mkdir build
91cd build
56363ab9 92PKG_CONFIG_PATH=$P ../configure $C
2793b933
UH
93$SB make $PARALLEL $V
94PYTHONPATH=$PYPATH $SB make install $V
95$SB make check $V
4b4f052c
UH
96cd ../..
97
98# libsigrokdecode
99$GIT_CLONE git://sigrok.org/libsigrokdecode
100cd libsigrokdecode
101./autogen.sh
102mkdir build
103cd build
104PKG_CONFIG_PATH=$P ../configure $C
2793b933
UH
105$SB make $PARALLEL $V
106make install $V
107$SB make check $V
4b4f052c
UH
108cd ../..
109
110# sigrok-firmware
111$GIT_CLONE git://sigrok.org/sigrok-firmware
112cd sigrok-firmware
113./autogen.sh
114mkdir build
115cd build
116# Nothing gets cross-compiled here, we just need 'make install' basically.
117../configure $C
2793b933 118make install $V
4b4f052c
UH
119cd ../..
120
121# sigrok-firmware-fx2lafw
122$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw
123cd sigrok-firmware-fx2lafw
124./autogen.sh
125mkdir build
126cd build
127# We're building the fx2lafw firmware on the host, no need to cross-compile.
128../configure $C
2793b933
UH
129make $PARALLEL $V
130make install $V
4b4f052c
UH
131cd ../..
132
133# sigrok-cli
134$GIT_CLONE git://sigrok.org/sigrok-cli
135cd sigrok-cli
136./autogen.sh
137mkdir build
138cd build
139PKG_CONFIG_PATH=$P ../configure $C
2793b933
UH
140$SB make $PARALLEL $V
141make install $V
4b4f052c
UH
142cd ../..
143
144# PulseView
145$GIT_CLONE git://sigrok.org/pulseview
146cd pulseview
147mkdir build
148cd build
149PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
2793b933
UH
150$SB make $PARALLEL $V
151make install $V
152$SB make test $V
4b4f052c
UH
153cd ../..
154