Mac OS X
This page describes how to build the sigrok subprojects on Mac OS X.
Building
These instructions have been tested on a clean install of Mac OS X 10.6.8 and 10.8.4.
Requirements
Install MacPorts, follow the guide on macports.org (this step will require Xcode on your machine, which is also a dependency to build sigrok).
Install Qt, download qt-mac-opensource-4.7.4.dmg from qt.nokia.com (Only needed for PulseView).
Install git:
$ sudo port install git-core
This will also pull in a bunch of dependencies required by git-core (and some of them also by sigrok).
Install libusb, libzip and libftdi, the libsigrok build dependencies:
$ sudo port install libusb libzip libftdi0
Install autoconf, automake, glib2.0+, python 3.3, and libtool to satisfy version dependencies in the build process.
$ sudo port install autoconf automake glib2 python33 libtool
Set the PKG_CONFIG_PATH environment variable to reflect the future locations of libsigrok and libsigrokdecode for the sigrok-cli build process.
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
libsigrok
$ git clone git://sigrok.org/libsigrok $ cd libsigrok $ ./autogen.sh $ ./configure $ make $ sudo make install
libsigrokdecode
$ git clone git://sigrok.org/libsigrokdecode $ cd libsigrokdecode $ ./autogen.sh $ ./configure $ make $ sudo make install
sigrok-cli
$ git clone git://sigrok.org/sigrok-cli $ cd sigrok-cli $ ./autogen.sh $ ./configure $ make $ sudo make install
PulseView
$ git clone git://sigrok.org/pulseview $ cd pulseview $ cmake . $ make $ sudo make install
Notes
- To build on Snow Leopard (10.6) you need to use the Cocoa (32bit and 64bit) Qt libraries. Don't use the default download link on that page but the one you can find further down the page.
- Currently we are using macports for the libusb dependency and are relying on the fact that macports are installed in /opt/local.
- See also Wafelijzer's efforts to build Mac OS X binaries.
- Python framework incorrect build for OS X issue 15353
TODO
- Find a sane way to bundle libusb with the sigrok.app.
- Include an icon with the app.
- Set the relative paths in the binary's and DyLibs
- Building universal DyLibs and binaries
- Bundle the dynamic libraries with MacDylibBundler