]> sigrok.org Git - libsigrok.git/blame_incremental - README
Backport recent changes from mainline.
[libsigrok.git] / README
... / ...
CommitLineData
1-------------------------------------------------------------------------------
2README
3-------------------------------------------------------------------------------
4
5The sigrok project aims at creating a portable, cross-platform,
6Free/Libre/Open-Source signal analysis software suite that supports various
7device types (such as logic analyzers, oscilloscopes, multimeters, and more).
8
9libsigrok is a shared library written in C which provides the basic API
10for talking to hardware and reading/writing the acquired data into various
11input/output file formats.
12
13
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
27Requirements
28------------
29
30Requirements for the C library:
31
32 - git (only needed when building from git)
33 - gcc (>= 4.0) or clang
34 - make
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)
38 - pkg-config >= 0.22
39 - libglib >= 2.32.0
40 - libzip >= 0.10
41 - libserialport >= 0.1.1 (optional, used by some drivers)
42 - librevisa >= 0.0.20130412 (optional, used by some drivers)
43 - libusb-1.0 >= 1.0.16 (optional, used by some drivers)
44 - hidapi >= 0.8.0 (optional, used for some HID based "serial cables")
45 - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE communication)
46 - libftdi1 >= 1.0 (optional, used by some drivers)
47 - libgpib (optional, used by some drivers)
48 - libieee1284 (optional, used by some drivers)
49 - libgio >= 2.32.0 (optional, used by some drivers)
50 - check >= 0.9.4 (optional, only needed to run unit tests)
51 - doxygen (optional, only needed for the C API docs)
52 - graphviz (optional, only needed for the C API docs)
53
54Requirements for the C++ bindings:
55
56 - libsigrok >= 0.4.0 (the libsigrok C library, see above)
57 - A C++ compiler with C++11 support (-std=c++11 option), e.g.
58 - g++ (>= 4.8.1)
59 - clang++ (>= 3.3)
60 - autoconf-archive (only needed when building from git)
61 - doxygen (required for building the bindings, not only for C++ API docs!)
62 - graphviz (optional, only needed for the C++ API docs)
63 - Python (2 or 3) executable (development files are not needed)
64 - glibmm-2.4 (>= 2.32.0)
65
66Requirements for the Python bindings:
67
68 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
69 - Python >= 2.7 or Python >= 3 (including development files!)
70 - Python setuptools (for Python 2 or 3)
71 - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
72 - numpy (for Python 2 or 3)
73 - SWIG >= 2.0.0
74 - doxygen (optional, only needed for the Python API docs)
75 - graphviz (optional, only needed for the Python API docs)
76 - doxypy (optional, only needed for the Python API docs)
77
78Requirements for the Ruby bindings:
79
80 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
81 - Ruby >= 1.9.3 (including development files!)
82 - SWIG >= 3.0.8
83 - YARD (optional, only needed for the Ruby API docs)
84
85Requirements for the Java bindings:
86
87 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
88 - SWIG >= 2.0.0
89 - Java JDK (for JNI includes and the javac/jar binaries)
90 - doxygen (optional, only needed for the Java API docs)
91 - graphviz (optional, only needed for the Java API docs)
92
93
94Building and installing
95-----------------------
96
97In order to get the libsigrok source code and build it, run:
98
99 $ git clone git://sigrok.org/libsigrok
100 $ cd libsigrok
101 $ ./autogen.sh
102 $ ./configure
103 $ make
104
105For installing libsigrok:
106
107 $ make install
108
109See INSTALL or the following wiki page for more (OS-specific) instructions:
110
111 http://sigrok.org/wiki/Building
112
113Please also check the following wiki page in case you encounter any issues:
114
115 http://sigrok.org/wiki/Building#FAQ
116
117
118Device-specific issues
119----------------------
120
121Please check README.devices for some notes and hints about device- or
122driver-specific issues to be aware of.
123
124
125Firmware
126--------
127
128Some devices supported by libsigrok need a firmware to be uploaded before the
129device can be used. See README.devices for details.
130
131
132Copyright and license
133---------------------
134
135libsigrok is licensed under the terms of the GNU General Public License
136(GPL), version 3 or later.
137
138While some individual source code files are licensed under the GPLv2+, and
139some files are licensed under the GPLv3+, this doesn't change the fact that
140the library as a whole is licensed under the terms of the GPLv3+.
141
142Please see the individual source files for the full list of copyright holders.
143
144
145Mailing list
146------------
147
148 https://lists.sourceforge.net/lists/listinfo/sigrok-devel
149
150
151IRC
152---
153
154You can find the sigrok developers in the #sigrok IRC channel on Freenode.
155
156
157Website
158-------
159
160 http://sigrok.org/wiki/Libsigrok
161