]> sigrok.org Git - libsigrok.git/blame_incremental - README
kingst-la2016: endianess and redundancy in run state gatherer
[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 - zlib (optional, used for CRC32 calculation in STF input)
41 - libzip >= 0.10
42 - libtirpc (optional, used by VXI, fallback when glibc >= 2.26)
43 - libserialport >= 0.1.1 (optional, used by some drivers)
44 - librevisa >= 0.0.20130412 (optional, used by some drivers)
45 - libusb-1.0 >= 1.0.16 (optional, used by some drivers)
46 - hidapi >= 0.8.0 (optional, used for some HID based "serial cables")
47 - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE communication)
48 - libftdi1 >= 1.0 (optional, used by some drivers)
49 - libgpib (optional, used by some drivers)
50 - libieee1284 (optional, used by some drivers)
51 - libgio >= 2.32.0 (optional, used by some drivers)
52 - check >= 0.9.4 (optional, only needed to run unit tests)
53 - doxygen (optional, only needed for the C API docs)
54 - graphviz (optional, only needed for the C API docs)
55
56Requirements for the C++ bindings:
57
58 - libsigrok >= 0.4.0 (the libsigrok C library, see above)
59 - A C++ compiler with C++11 support (-std=c++11 option), e.g.
60 - g++ (>= 4.8.1)
61 - clang++ (>= 3.3)
62 - autoconf-archive (only needed when building from git)
63 - doxygen (required for building the bindings, not only for C++ API docs!)
64 - graphviz (optional, only needed for the C++ API docs)
65 - Python (2 or 3) executable (development files are not needed)
66 - glibmm-2.4 (>= 2.32.0)
67
68Requirements for the Python bindings:
69
70 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
71 - Python >= 2.7 or Python >= 3 (including development files!)
72 - Python setuptools (for Python 2 or 3)
73 - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
74 - numpy (for Python 2 or 3)
75 - SWIG >= 2.0.0
76 - doxygen (optional, only needed for the Python API docs)
77 - graphviz (optional, only needed for the Python API docs)
78 - doxypy (optional, only needed for the Python API docs)
79
80Requirements for the Ruby bindings:
81
82 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
83 - Ruby >= 2.5.0 (including development files!)
84 - SWIG >= 3.0.8
85 - YARD (optional, only needed for the Ruby API docs)
86
87Requirements for the Java bindings:
88
89 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
90 - SWIG >= 2.0.0
91 - Java JDK (for JNI includes and the javac/jar binaries)
92 - doxygen (optional, only needed for the Java API docs)
93 - graphviz (optional, only needed for the Java API docs)
94
95
96Building and installing
97-----------------------
98
99In order to get the libsigrok source code and build it, run:
100
101 $ git clone git://sigrok.org/libsigrok
102 $ cd libsigrok
103 $ ./autogen.sh
104 $ ./configure
105 $ make
106
107For installing libsigrok:
108
109 $ make install
110
111See INSTALL or the following wiki page for more (OS-specific) instructions:
112
113 http://sigrok.org/wiki/Building
114
115Please also check the following wiki page in case you encounter any issues:
116
117 http://sigrok.org/wiki/Building#FAQ
118
119
120Device-specific issues
121----------------------
122
123Please check README.devices for some notes and hints about device- or
124driver-specific issues to be aware of.
125
126
127Firmware
128--------
129
130Some devices supported by libsigrok need a firmware to be uploaded before the
131device can be used. See README.devices for details.
132
133
134Copyright and license
135---------------------
136
137libsigrok is licensed under the terms of the GNU General Public License
138(GPL), version 3 or later.
139
140While some individual source code files are licensed under the GPLv2+, and
141some files are licensed under the GPLv3+, this doesn't change the fact that
142the library as a whole is licensed under the terms of the GPLv3+.
143
144Please see the individual source files for the full list of copyright holders.
145
146
147Mailing list
148------------
149
150 https://lists.sourceforge.net/lists/listinfo/sigrok-devel
151
152
153IRC
154---
155
156You can find the sigrok developers in the #sigrok IRC channel on Libera.Chat.
157
158
159Website
160-------
161
162 http://sigrok.org/wiki/Libsigrok
163