- Package version (major.minor.micro)
- Library version (current:revision:age)
- Installation prefix (usually /usr/local)
- Detected libraries and their versions (only for pkg-config libs)
The udev rules file is libsigrok-specific, the gnuplot files too.
The nsis files stay in the top-level contrib/ for now, they're not
really part of any of the (sub-)projects, but rather are used to create
a single Windows .exe installer for all of them.
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.
Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
- Add Doxygen comments for all functions (some TODOs remain).
- Check for invalid input parameters (such as NULL pointers etc).
- Return SR_ERR_ARG upon invalid input parameters.
- Make sr_datastore_put() return int instead of void, so we can pass
an error code (SR_OK, SR_ERR_MALLOC, and so on) to the caller.
- Much more elaborate doxygen comments for the function and its
parameters, allowed input values, and so on.
- Make 'probelist' const, the function doesn't modify it.
- Check for invalid inputs such as NULL pointers.
- Use g_try_malloc() and g_free() for the output buffer. Document who
is expected to g_free() the buffer.
These version numbers represent the sigrok version (i.e., the version
of the tarball, such as "sigrok-0.2.0.tar.gz"), but _not_ the libsigrok
(libtool) library/API/ABI versions. Thus, they should not be in
libsigrok's include file (sigrok.h).
The "Required.private:" field in pkg-config .pc files is used for
declaring that we need the listed libs (pkg-config packages) for
static linking, but not for dynamic linking.
I.e., the "Required.private:" field should be used for libs which we
use internally in libsigrok, but which we do not "expose" ourselves.
For now all libs are listed as "Required.private:" instead of
"Required:", but this may not be entirely correct and needs to be
checked carefully at some later date.