X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmacosx%2Fsigrok-native-macosx;h=7f6380e7c6ceb3f00a183ba3efdd0d02d7372b28;hp=9c78fc01e195bc0c0fdc23dd035d0f19a2d30502;hb=3aabe9a93a530c7db4beb58e5f365e690a82734f;hpb=89de8f012e8f62144cecd6c54ad9a66beca825d8 diff --git a/cross-compile/macosx/sigrok-native-macosx b/cross-compile/macosx/sigrok-native-macosx index 9c78fc0..7f6380e 100755 --- a/cross-compile/macosx/sigrok-native-macosx +++ b/cross-compile/macosx/sigrok-native-macosx @@ -15,8 +15,7 @@ ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +## along with this program; if not, see . ## set -e @@ -30,8 +29,11 @@ BUILDDIR=./build # The path where the libsigrok Python bindings will be installed. PYPATH=$PREFIX/lib/python2.7/site-packages +# Edit this to control verbose build output. +# V="V=1 VERBOSE=1" + # Edit this to enable/disable/modify parallel compiles. -PARALLEL="-j 2" +PARALLEL="-j "`sysctl -n hw.ncpu` # Uncomment the following lines to build with clang and run scan-build. # export CC=llvm-gcc @@ -39,24 +41,27 @@ PARALLEL="-j 2" # SB="scan-build -k -v" # Uncomment the following lines to build with gcc/g++. -export CC=gcc-4.9 -export CXX=g++-4.9 +export CC=gcc +export CXX=g++ -# Path to Qt binaries (needed for cmake to find the Qt libs). -# export PATH="/usr/local/opt/qt/bin:$PATH" # Qt4 -export PATH="/usr/local/opt/qt52/bin:$PATH" # Qt5 +# We use Qt 5.5 in order to remain compatible with more versions of Mac OS X. +QTVER=qt@5.5 -# Path to Python 2/3 pkg-config files. -# In Homebrew, pkg-config files of "keg-only" formulas (Python is one of them) -# aren't installed into /usr/local/lib/pkgconfig (we manually reference them). -PY2="/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig" -PY3="/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.4/lib/pkgconfig" +# Path to Qt5 binaries (needed for cmake to find the Qt5 libs). +export PATH="$(brew --prefix $QTVER)/bin:$PATH" # You usually don't need to change anything below this line. # ----------------------------------------------------------------------------- -P="$PREFIX/lib/pkgconfig:$PY2:$PY3" +# PKG_CONFIG_PATH will need to point to pkg-config files of Homebrew's +# keg-only formulae. +P="$PREFIX/lib/pkgconfig" +for FORMULA in libffi python@2 python@3 "$QTVER"; do + P="$P:$(brew --prefix "$FORMULA")/lib/pkgconfig" +done + +# Extra options to pass to configure. C="$C --prefix=$PREFIX" # Remove build directory contents (if any) and create a new build dir. @@ -66,86 +71,88 @@ cd $BUILDDIR GIT_CLONE="git clone --depth=1" +REPO_BASE="git://sigrok.org" + # ----------------------------------------------------------------------------- # libserialport -$GIT_CLONE git://sigrok.org/libserialport +$GIT_CLONE $REPO_BASE/libserialport cd libserialport ./autogen.sh mkdir build cd build ../configure $C -$SB make $PARALLEL -make install +$SB make $PARALLEL $V +make install $V cd ../.. # libsigrok mkdir -p $PYPATH -$GIT_CLONE git://sigrok.org/libsigrok +$GIT_CLONE $REPO_BASE/libsigrok cd libsigrok ./autogen.sh mkdir build cd build -PKG_CONFIG_PATH=$P ../configure $C --disable-python --disable-java -$SB make $PARALLEL -PYTHONPATH=$PYPATH $SB make install -$SB make check +PKG_CONFIG_PATH=$P ../configure $C +$SB make $PARALLEL $V +PYTHONPATH=$PYPATH $SB make install $V +$SB make check $V cd ../.. # libsigrokdecode -$GIT_CLONE git://sigrok.org/libsigrokdecode +$GIT_CLONE $REPO_BASE/libsigrokdecode cd libsigrokdecode ./autogen.sh mkdir build cd build PKG_CONFIG_PATH=$P ../configure $C -$SB make $PARALLEL -make install -$SB make check +$SB make $PARALLEL $V +make install $V +$SB make check $V cd ../.. # sigrok-firmware -$GIT_CLONE git://sigrok.org/sigrok-firmware +$GIT_CLONE $REPO_BASE/sigrok-firmware cd sigrok-firmware ./autogen.sh mkdir build cd build # Nothing gets cross-compiled here, we just need 'make install' basically. ../configure $C -make install +make install $V cd ../.. # sigrok-firmware-fx2lafw -$GIT_CLONE git://sigrok.org/sigrok-firmware-fx2lafw +$GIT_CLONE $REPO_BASE/sigrok-firmware-fx2lafw cd sigrok-firmware-fx2lafw ./autogen.sh mkdir build cd build # We're building the fx2lafw firmware on the host, no need to cross-compile. ../configure $C -make $PARALLEL -make install +make $PARALLEL $V +make install $V cd ../.. # sigrok-cli -$GIT_CLONE git://sigrok.org/sigrok-cli +$GIT_CLONE $REPO_BASE/sigrok-cli cd sigrok-cli ./autogen.sh mkdir build cd build PKG_CONFIG_PATH=$P ../configure $C -$SB make $PARALLEL -make install +$SB make $PARALLEL $V +make install $V cd ../.. # PulseView -$GIT_CLONE git://sigrok.org/pulseview +$GIT_CLONE $REPO_BASE/pulseview cd pulseview mkdir build cd build PKG_CONFIG_PATH=$P $SB cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DDISABLE_WERROR=y -DENABLE_TESTS=y .. -$SB make $PARALLEL -make install -$SB make test +$SB make $PARALLEL $V +make install $V +$SB make test $V cd ../..