Difference between revisions of "Building"

From sigrok
Jump to navigation Jump to search
(Update and extend the libsigrok requirements.)
Line 11: Line 11:
=== libsigrok ===
=== libsigrok ===


* git
'''Requirements for the C library''':
* gcc (>= 4.0)
 
* git (only needed when building from git)
* gcc (>= 4.0) or clang
* make
* make
* autoconf >= 2.63
* autoconf >= 2.63 (only needed when building from git)
** autoconf-archive (macro AX_CXX_COMPILE_STDCXX_11 required for C++ bindings)
* automake >= 1.11 (only needed when building from git)
* automake >= 1.11
* libtool (only needed when building from git)
* libtool
* pkg-config >= 0.22
* pkg-config >= 0.22
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.
* libglib >= 2.32.0
* libglib >= 2.34.0
* libzip >= 0.10
* libzip >= 0.10
* libserialport >= 0.1.0 (optional, used by some drivers)
* libserialport >= 0.1.0 (optional, used by some drivers)
* librevisa >= 0.0.20130812 (optional, used by some drivers)
* librevisa >= 0.0.20130812 (optional, used by some drivers)
* libusb-1.0 >= 1.0.16 (optional, used by most drivers)
* libusb-1.0 >= 1.0.16 (optional, used by some drivers)
** On [[FreeBSD]], this is an integral part of the FreeBSD libc, not an extra package/library.
** On [[FreeBSD]], this is an integral part of the FreeBSD libc, not an extra package/library.
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.
** This is part of the standard [[OpenBSD]] install (not an extra package), apparently.
* libftdi >= 0.16 (optional, used by some drivers)
* libftdi >= 0.16 or libftdi1 >= 1.0 (optional, used by some drivers)
* libgpib (optional, used by some drivers; only available on Linux)
* check >= 0.9.4 (optional, only needed to run unit tests)
* check >= 0.9.4 (optional, only needed to run unit tests)
* doxygen (optional, only needed for the C API docs)
* graphviz (optional, only needed for the C API docs)
'''Requirements for the C++ bindings''':
* libsigrok >= 0.3.0 (the libsigrok C library, see above)
* A C++ compiler with C++11 support (-std=c++11 option), e.g.
** g++ (>= 4.7)
** clang++ (>= 3.1)
* autoconf-archive (for the macro AX_CXX_COMPILE_STDCXX_11; only needed when building from git)
* doxygen (required for building the bindings, not only for C++ API docs!)
* graphviz (optional, only needed for the C++ API docs)
* Python (2 or 3) executable (development files are not needed)
* glibmm-2.4 (>= 2.32.0)
'''Requirements for the Python bindings''':
* libsigrokxx >= 0.3.0 (the libsigrok C++ bindings, see above)
* Python >= 2.7 or Python >= 3 (including development files!)
* Python setuptools (for Python 2 or 3)
* pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
* numpy (for Python 2 or 3)
* SWIG >= 2.0.0
* doxygen (optional, only needed for the Python API docs)
* graphviz (optional, only needed for the Python API docs)
* doxypy (optional, only needed for the Python API docs)
'''Requirements for the Java bindings''':
* libsigrokxx >= 0.3.0 (the libsigrok C++ bindings, see above)
* SWIG >= 2.0.0
* Java JDK (for JNI includes and the javac/jar binaries)
* doxygen (optional, only needed for the Java API docs)
* graphviz (optional, only needed for the Java API docs)


=== libsigrokdecode ===
=== libsigrokdecode ===

Revision as of 18:11, 3 January 2015

This page documents the build requirements for the sigrok subprojects, and contains links to OS-specific instructions to build them from source.

Distribution packages and binaries

See Downloads for distribution packages of the sigrok subprojects and binary builds for various OSes.

See the instructions below if you want to build from source.

Build requirements

libsigrok

Requirements for the C library:

  • git (only needed when building from git)
  • gcc (>= 4.0) or clang
  • make
  • autoconf >= 2.63 (only needed when building from git)
  • automake >= 1.11 (only needed when building from git)
  • libtool (only needed when building from git)
  • pkg-config >= 0.22
    • This is part of the standard OpenBSD install (not an extra package), apparently.
  • libglib >= 2.34.0
  • libzip >= 0.10
  • libserialport >= 0.1.0 (optional, used by some drivers)
  • librevisa >= 0.0.20130812 (optional, used by some drivers)
  • libusb-1.0 >= 1.0.16 (optional, used by some drivers)
    • On FreeBSD, this is an integral part of the FreeBSD libc, not an extra package/library.
    • This is part of the standard OpenBSD install (not an extra package), apparently.
  • libftdi >= 0.16 or libftdi1 >= 1.0 (optional, used by some drivers)
  • libgpib (optional, used by some drivers; only available on Linux)
  • check >= 0.9.4 (optional, only needed to run unit tests)
  • doxygen (optional, only needed for the C API docs)
  • graphviz (optional, only needed for the C API docs)

Requirements for the C++ bindings:

  • libsigrok >= 0.3.0 (the libsigrok C library, see above)
  • A C++ compiler with C++11 support (-std=c++11 option), e.g.
    • g++ (>= 4.7)
    • clang++ (>= 3.1)
  • autoconf-archive (for the macro AX_CXX_COMPILE_STDCXX_11; only needed when building from git)
  • doxygen (required for building the bindings, not only for C++ API docs!)
  • graphviz (optional, only needed for the C++ API docs)
  • Python (2 or 3) executable (development files are not needed)
  • glibmm-2.4 (>= 2.32.0)

Requirements for the Python bindings:

  • libsigrokxx >= 0.3.0 (the libsigrok C++ bindings, see above)
  • Python >= 2.7 or Python >= 3 (including development files!)
  • Python setuptools (for Python 2 or 3)
  • pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
  • numpy (for Python 2 or 3)
  • SWIG >= 2.0.0
  • doxygen (optional, only needed for the Python API docs)
  • graphviz (optional, only needed for the Python API docs)
  • doxypy (optional, only needed for the Python API docs)

Requirements for the Java bindings:

  • libsigrokxx >= 0.3.0 (the libsigrok C++ bindings, see above)
  • SWIG >= 2.0.0
  • Java JDK (for JNI includes and the javac/jar binaries)
  • doxygen (optional, only needed for the Java API docs)
  • graphviz (optional, only needed for the Java API docs)

libsigrokdecode

  • git
  • gcc (>= 4.0)
  • make
  • autoconf >= 2.63
  • automake >= 1.11
  • libtool
  • pkg-config >= 0.22
    • This is part of the standard OpenBSD install (not an extra package), apparently.
  • libglib >= 2.24.0
  • Python >= 3.2
  • check >= 0.9.4 (optional, only needed to run unit tests)
  • libsigrok >= 0.3.0 (optional, only needed for the developer PD tests)
  • python3-coverage (optional, only needed for the developer PD tests)

sigrok-cli

  • git
  • gcc (>= 4.0)
  • make
  • autoconf >= 2.63
  • automake >= 1.11
  • libtool
  • pkg-config >= 0.22
    • This is part of the standard OpenBSD install (not an extra package), apparently.
  • libglib >= 2.28.0
  • libsigrok >= 0.3.0
  • libsigrokdecode >= 0.3.0

PulseView

  • git
  • g++
  • make
  • libtool
  • pkg-config >= 0.22
    • This is part of the standard OpenBSD install (not an extra package), apparently.
  • cmake >= 2.8.6
  • libglib >= 2.28.0
  • Qt >= 4.5
  • libboost >= 1.42 (including the following libs)
    • libboost-sytem
    • libboost-thread
    • libboost-filesystem
    • libboost-test (optional, only needed to run unit tests)
  • libsigrok >= 0.3.0
  • libsigrokdecode >= 0.3.0

Building from source

See the OS-specific build instructions below if you want to build the sigrok subprojects from source: