3 ## This file is part of the sigrok-util project.
5 ## Copyright (C) 2015 Uwe Hermann <uwe@hermann-uwe.de>
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.
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.
17 ## You should have received a copy of the GNU General Public License
18 ## along with this program; if not, see <http://www.gnu.org/licenses/>.
23 # The path where the compiled packages will be installed.
24 PREFIX=$HOME/sr_macosx
26 # The path where to download files to and where to build packages.
29 # The path where the libsigrok Python bindings will be installed.
30 PYPATH=$PREFIX/lib/python2.7/site-packages
32 # Edit this to control verbose build output.
35 # Edit this to enable/disable/modify parallel compiles.
36 PARALLEL="-j "`sysctl -n hw.ncpu`
38 # Uncomment the following lines to build with clang and run scan-build.
41 # SB="scan-build -k -v"
43 # Uncomment the following lines to build with gcc/g++.
47 # Path to Qt5 binaries (needed for cmake to find the Qt5 libs).
48 export PATH=`brew list qt5 | grep bin | head -n 1 | xargs dirname`":$PATH"
50 # Path to Python 2/3 pkg-config files.
51 # In Homebrew, pkg-config files of "keg-only" formulas (Python is one of them)
52 # aren't installed into /usr/local/lib/pkgconfig (we manually reference them).
53 PY2=`brew list python | grep pkgconfig | head -n 1 | xargs dirname`
54 PY3=`brew list python3 | grep pkgconfig | head -n 1 | xargs dirname`
56 # You usually don't need to change anything below this line.
58 # -----------------------------------------------------------------------------
60 P="$PREFIX/lib/pkgconfig:$PY2:$PY3"
61 C="$C --prefix=$PREFIX"
63 # Remove build directory contents (if any) and create a new build dir.
68 GIT_CLONE="git clone --depth=1"
70 REPO_BASE="git://sigrok.org"
72 # -----------------------------------------------------------------------------
75 $GIT_CLONE $REPO_BASE/libserialport
87 $GIT_CLONE $REPO_BASE/libsigrok
92 PKG_CONFIG_PATH=$P ../configure $C
94 PYTHONPATH=$PYPATH $SB make install $V
99 $GIT_CLONE $REPO_BASE/libsigrokdecode
104 PKG_CONFIG_PATH=$P ../configure $C
105 $SB make $PARALLEL $V
111 $GIT_CLONE $REPO_BASE/sigrok-firmware
116 # Nothing gets cross-compiled here, we just need 'make install' basically.
121 # sigrok-firmware-fx2lafw
122 $GIT_CLONE $REPO_BASE/sigrok-firmware-fx2lafw
123 cd sigrok-firmware-fx2lafw
127 # We're building the fx2lafw firmware on the host, no need to cross-compile.
134 $GIT_CLONE $REPO_BASE/sigrok-cli
139 PKG_CONFIG_PATH=$P ../configure $C
140 $SB make $PARALLEL $V
145 $GIT_CLONE $REPO_BASE/pulseview
149 PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y ..
150 $SB make $PARALLEL $V