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