]> sigrok.org Git - libsigrok.git/blame - README
uni-t-dmm: sort supported devices, collect the ut71x group
[libsigrok.git] / README
CommitLineData
13177edb
UH
1-------------------------------------------------------------------------------
2README
3-------------------------------------------------------------------------------
4
5The sigrok project aims at creating a portable, cross-platform,
a5b2293f 6Free/Libre/Open-Source signal analysis software suite that supports various
4a1c927f 7device types (such as logic analyzers, oscilloscopes, multimeters, and more).
13177edb
UH
8
9libsigrok is a shared library written in C which provides the basic API
a5b2293f
BV
10for talking to hardware and reading/writing the acquired data into various
11input/output file formats.
13177edb
UH
12
13
4a1c927f
UH
14Status
15------
16
17libsigrok is in a usable state and has had official tarball releases.
18
19While the API can change from release to release, this will always be
20properly documented and reflected in the package version number and
21in the shared library / libtool / .so-file version numbers.
22
23However, there are _NO_ guarantees at all for stable APIs in git snapshots!
24Distro packagers should only use released tarballs (no git snapshots).
25
26
13177edb
UH
27Requirements
28------------
29
0d6478d7
UH
30Requirements for the C library:
31
32 - git (only needed when building from git)
33 - gcc (>= 4.0) or clang
ef7228ba 34 - make
0d6478d7
UH
35 - autoconf >= 2.63 (only needed when building from git)
36 - automake >= 1.11 (only needed when building from git)
37 - libtool (only needed when building from git)
ef7228ba 38 - pkg-config >= 0.22
5801d558 39 - libglib >= 2.32.0
e4c9ea56 40 - zlib (optional, used for CRC32 calculation in STF input)
a6dc3dac 41 - libzip >= 0.10
a3fe36d0 42 - libtirpc (optional, used by VXI, fallback when glibc >= 2.26)
8d801467 43 - libserialport >= 0.1.1 (optional, used by some drivers)
d5062672 44 - librevisa >= 0.0.20130412 (optional, used by some drivers)
17e9317b 45 - libusb-1.0 >= 1.0.16 (optional, used by some drivers)
4417074c 46 - hidapi >= 0.8.0 (optional, used for some HID based "serial cables")
349c5e54 47 - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE communication)
689749b7 48 - libftdi1 >= 1.0 (optional, used by some drivers)
0d6478d7 49 - libgpib (optional, used by some drivers)
db5449b9 50 - libieee1284 (optional, used by some drivers)
2489de3a 51 - libgio >= 2.32.0 (optional, used by some drivers)
6dc55e4f 52 - nettle (optional, used by some drivers)
79bb0e97 53 - check >= 0.9.4 (optional, only needed to run unit tests)
0d6478d7
UH
54 - doxygen (optional, only needed for the C API docs)
55 - graphviz (optional, only needed for the C API docs)
56
57Requirements for the C++ bindings:
58
b90400ed 59 - libsigrok >= 0.4.0 (the libsigrok C library, see above)
0d6478d7 60 - A C++ compiler with C++11 support (-std=c++11 option), e.g.
07d4e863
UH
61 - g++ (>= 4.8.1)
62 - clang++ (>= 3.3)
0d6478d7
UH
63 - autoconf-archive (only needed when building from git)
64 - doxygen (required for building the bindings, not only for C++ API docs!)
65 - graphviz (optional, only needed for the C++ API docs)
66 - Python (2 or 3) executable (development files are not needed)
67 - glibmm-2.4 (>= 2.32.0)
68
69Requirements for the Python bindings:
70
b90400ed 71 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
0d6478d7
UH
72 - Python >= 2.7 or Python >= 3 (including development files!)
73 - Python setuptools (for Python 2 or 3)
74 - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
75 - numpy (for Python 2 or 3)
e26f5af3 76 - SWIG >= 2.0.0
0d6478d7
UH
77 - doxygen (optional, only needed for the Python API docs)
78 - graphviz (optional, only needed for the Python API docs)
79 - doxypy (optional, only needed for the Python API docs)
80
27d44cf6
AJ
81Requirements for the Ruby bindings:
82
b90400ed 83 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
339d12df 84 - Ruby >= 2.5.0 (including development files!)
27d44cf6
AJ
85 - SWIG >= 3.0.8
86 - YARD (optional, only needed for the Ruby API docs)
87
0d6478d7
UH
88Requirements for the Java bindings:
89
b90400ed 90 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
e26f5af3 91 - SWIG >= 2.0.0
0d6478d7
UH
92 - Java JDK (for JNI includes and the javac/jar binaries)
93 - doxygen (optional, only needed for the Java API docs)
94 - graphviz (optional, only needed for the Java API docs)
13177edb
UH
95
96
97Building and installing
98-----------------------
99
100In order to get the libsigrok source code and build it, run:
101
a5b2293f
BV
102 $ git clone git://sigrok.org/libsigrok
103 $ cd libsigrok
13177edb
UH
104 $ ./autogen.sh
105 $ ./configure
106 $ make
107
108For installing libsigrok:
109
110 $ make install
111
ba642e86 112See INSTALL or the following wiki page for more (OS-specific) instructions:
13177edb 113
ba642e86 114 http://sigrok.org/wiki/Building
13177edb 115
3fc66eda
UH
116Please also check the following wiki page in case you encounter any issues:
117
118 http://sigrok.org/wiki/Building#FAQ
119
13177edb 120
c77ed446
UH
121Device-specific issues
122----------------------
f9a33a47 123
c77ed446
UH
124Please check README.devices for some notes and hints about device- or
125driver-specific issues to be aware of.
f9a33a47 126
f9a33a47 127
c77ed446
UH
128Firmware
129--------
f9a33a47 130
c77ed446
UH
131Some devices supported by libsigrok need a firmware to be uploaded before the
132device can be used. See README.devices for details.
f9a33a47
UH
133
134
6d036959
UH
135Copyright and license
136---------------------
137
138libsigrok is licensed under the terms of the GNU General Public License
139(GPL), version 3 or later.
140
141While some individual source code files are licensed under the GPLv2+, and
142some files are licensed under the GPLv3+, this doesn't change the fact that
143the library as a whole is licensed under the terms of the GPLv3+.
144
145Please see the individual source files for the full list of copyright holders.
146
147
b88c3e49
UH
148Mailing list
149------------
13177edb
UH
150
151 https://lists.sourceforge.net/lists/listinfo/sigrok-devel
13177edb
UH
152
153
154IRC
155---
156
1e91a90f 157You can find the sigrok developers in the #sigrok IRC channel on Libera.Chat.
13177edb
UH
158
159
160Website
161-------
162
4a1c927f 163 http://sigrok.org/wiki/Libsigrok
13177edb 164