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