Commit Graph

356 Commits

Author SHA1 Message Date
Bert Vermeulen ca1a7cb56f scpi-pps: Initial driver skeleton. 2014-09-08 12:45:21 +02:00
Bert Vermeulen d6e63a2c68 build: Use pkgconfig for libgpib. 2014-09-05 18:26:12 +02:00
Martin Ling bb2a4ed407 Add GPIB SCPI backend using linux-gpib and libgpib. 2014-09-05 10:34:04 +01:00
Marcus Comstedt d92de05ad1 C++: Provide fallbacks for missing stoi/stod functions
Notably, Android does not provide these functions.  The fallback
implementation is based on the one in the GNU ISO C++ Library.
2014-08-31 13:31:35 +02:00
Soeren Apel 107639373d yokogawa-dlm: Integrate driver skeleton 2014-08-31 00:42:10 +02:00
magnuskarlsson 4bd80e1228 added pipistrello-ols
Conflicts:
	configure.ac
	src/hwdriver.c
2014-08-25 01:00:55 +02:00
Bert Vermeulen 81a69107de build: Require libserialport version 0.2.0. 2014-08-20 23:39:27 +02:00
Marcus Comstedt 3e27b177c4 configure.ac: Fix jni.h check when cross compiling
Since AX_JNI_INCLUDE_DIR does not work for cross compilation, don't
invoke it when cross compiling.  Also, add a configure option to
set the jni.h include path manually if needed.
2014-08-20 14:42:02 +02:00
Marcus Comstedt 2ba308ecc6 configure.ac: Look for python-2.7.pc as well when making bindings 2014-08-17 12:58:39 +02:00
Marcus Comstedt 33c84e8197 Makefile.am: Fix out-of-tree build for C++ and Java bindings 2014-08-17 12:58:39 +02:00
Marcus Comstedt 55e55a3f92 Fix include paths for out-of-tree builds 2014-08-17 12:58:38 +02:00
Martin Ling 3532ed0125 C++ bindings: Reimplement enums.py using doxygen XML output instead of gccxml. 2014-08-10 15:47:13 +02:00
Uwe Hermann 375340a724 configure.ac: Don't build BeagleLogic where a build would fail.
The BeagleLogic driver needs sys/mman.h and sys/ioctl.h in order to
build, so disable the driver if those headers aren't available.

This is the case (for example) on MinGW.
2014-08-05 17:32:28 +02:00
Bert Vermeulen de44e114fc build: More dependency fixes. 2014-07-23 16:33:42 +02:00
Bert Vermeulen 1029d384d1 build: If language binding dependency checks fail, summarize the reason. 2014-07-23 14:36:11 +02:00
Bert Vermeulen 0afa91b765 build: Add more dependency checks for building bindings. 2014-07-23 13:05:10 +02:00
Bert Vermeulen 57d62c4c71 build: We only need python 2.x for generating the bindings. 2014-07-23 12:45:41 +02:00
Uwe Hermann 271cdfd267 configure: Show glibmm and gobject versions in the summary. 2014-07-22 23:18:38 +02:00
Uwe Hermann 022a7fe09f configure.ac: Add versioned dependency on pygobject.
Roughly around 3.0.0 usage changed from "import gobject" to the new
"from gi.repository import GObject" etc. (which we use).
2014-07-22 23:18:38 +02:00
Bert Vermeulen 43cd463728 build: Portability fixes.
This also defers reporting on enabled drivers until it's really decided.
2014-07-22 18:17:34 +02:00
Kumar Abhishek bb99379761 beaglelogic: Initial driver skeleton. 2014-07-22 01:47:02 +02:00
Bert Vermeulen 6223feeb8e configure: Add --enable-bindings switch. 2014-07-19 20:20:47 +02:00
Martin Ling abc7146d03 Fix building Python bindings with pygobject >= 3.7.91. 2014-07-19 16:12:34 +02:00
Bert Vermeulen 762aee1e91 configure: Fix java --enable check. 2014-07-18 21:40:27 +01:00
Bert Vermeulen bcacb8633e configure: Add C++ bindings dependency checks. 2014-07-18 21:40:20 +01:00
Bert Vermeulen f8158d5655 configure: Deal with missing macro a bit better.
The AX_CXX_COMPILE_STDCXX_11 macro is found in the autoconf-archive
package. If this is not installed, invoking the macro spits out an
error message that makes it look like a syntax error. This wraps it
in a check.
2014-07-18 21:40:14 +01:00
Martin Ling 9fcf4d0b5b Add Java bindings. 2014-07-18 21:34:57 +01:00
Martin Ling f774095496 Reimplement high-level Python bindings on top of SWIG/C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling c23c8659b8 Add C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling 63d0fb7528 Move public headers into include/libsigrok.
This is needed so that the C++ bindings, the header for which
references "libsigrok/libsigrok.h", can have a valid include
directory passed to build them before the headers are installed.
2014-07-17 18:30:49 +01:00
Bert Vermeulen d4b3874828 autoconf: Use DRIVER macro to declare drivers. 2014-07-10 20:44:32 +02:00
Bert Vermeulen 0acdd79357 testo: Initial driver skeleton. 2014-07-05 21:56:46 +02:00
Matthias Heidbrink adeae78f90 manson-hcs-3xxx: Fixed build without libserialport. 2014-06-28 01:26:21 +02:00
Uwe Hermann 8f4e922f43 manson-hcs-3xxx: Initial driver skeleton. 2014-06-23 00:59:17 +02:00
Uwe Hermann c78bcc6f5d Lower libftdi1 requirement to 1.0 (builds fine too). 2014-06-16 13:19:34 +02:00
Dan Horák 92506359d3 detect version 1.x of libftdi library
The FDTI library changed version, module name and also soname, so add an option to detect it
when the 0.x version is not found. The 1.x API is compatible enough for libsigrok to build.
2014-06-15 11:46:57 +02:00
Mike Frysinger 82bfb646ae do not add check to common cflags/libs
Only the unittests use these flags, so don't go linking them in for
the main library too.
2014-06-15 10:46:10 +02:00
Mike Frysinger a4737997a2 add explicit configure flags for ftdi/serial/usb libraries
This makes it a lot easier for distros to control this functionality.
2014-06-15 10:38:06 +02:00
Matthias Heidbrink d0a92abd54 Whitespace and comment improvements, no semantical changes. 2014-05-19 19:44:04 +02:00
Matthias Heidbrink 41b7bd01c1 motech-lps-30x: Initial driver framework. 2014-05-19 19:23:30 +02:00
Uwe Hermann 4133caab1d configure.ac: Bump package version to 0.3.0. 2014-05-06 23:00:08 +02:00
Uwe Hermann 85ca913cae configure.ac: Bump libtool/library version from 1:2:0 to 2:0:0.
The libtool current:revision:age numbers change from 1:2:0 to 2:0:0.

Details:
http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info

This changes the library filename (e.g. on Linux) from libsigrok.so.1.0.2
to libsigrok.so.2.0.0, the SONAME (+symlink) becomes libsigrok.so.2.
2014-05-06 22:59:00 +02:00
Uwe Hermann 8c21897f59 Unhook the Link Instruments MSO-19 from the build for now.
This driver is neither working nor has it been in a compiling state for
a long time, so unhook it from the build until it is fixed and works.

The files (api.c and protocol.[ch]) are still in git, but won't end up in
released tarballs and they don't get built (neither git nor tarballs).

This also allows us to drop the otherwise unneeded dependency on libudev.
When the MSO-19 driver comes back, it should be in a form that doesn't
require the inherently Linux-only libudev anyway. See also:
http://sigrok.org/bugzilla/show_bug.cgi?id=65
2014-05-04 17:44:05 +02:00
Martin Ling 4f10853e67 configure.ac: Separate library flags from other CFLAGS. 2014-04-25 18:15:48 +02:00
Bert Vermeulen 7e7b7fb7d3 Removed ALSA driver.
This driver has been unmaintained for years, and was never good code
to begin with. It's also questionable whether it was ever useful,
particularly with the demo driver now supporting various analog
signalling.
2014-04-19 13:37:53 +02:00
Uwe Hermann 958326f8c6 configure.ac: Clearly mark required and optional libs. 2014-04-07 16:06:19 +02:00
Uwe Hermann 7b3567126c Rename 'chronovu-la8' driver to 'chronovu-la'.
The driver now also supports the LA16 device (and possibly others in the
future).
2014-04-02 17:20:09 +02:00
Uwe Hermann 67bd805523 Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.

This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.

A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.

All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-20 13:10:05 +01:00
Aurelien Jacobs 846fb172db brymen-bm86x: disable driver when libusb is not present 2014-03-09 23:09:47 +01:00
Uwe Hermann 1b950bc79c configure.ac: Move Brymen BM86X snippet to correct place. 2014-02-28 13:08:53 +01:00
Aurelien Jacobs 8d9c8554a5 brymen-bm86x: Initial driver skeleton. 2014-02-27 22:50:09 +01:00
Matthias Heidbrink 823b4e5817 conrad-digi-35-cpu: Initial driver framework. 2014-02-12 15:10:06 +01:00
Martin Ling b84b7ee73d Fix building without librevisa. 2014-02-07 18:49:46 +01:00
Martin Ling 1fb2312f99 Add librevisa SCPI backend. 2014-02-02 22:42:25 +01:00
Uwe Hermann 7d4874c1b6 configure.ac: Only check for things we actually use.
Drop checks where we don't use the result (yet). We might bring back
some of those once we start actually using the result in the code.
2014-01-30 17:24:30 +01:00
Aurelien Jacobs 9e2bf9d204 configure: add -Wmissing-prototypes compiler option
This should avoid introduction SR_PRIV functions when static would be enough.
2014-01-14 23:39:23 +01:00
Uwe Hermann 2379783d85 configure.ac: Don't build sysclk-lwla if libusb-1.0 is not found. 2014-01-14 19:46:05 +01:00
Uwe Hermann 87283d98c9 configure.ac: Move sysclk-lwla chunk to correct location. 2014-01-14 19:36:28 +01:00
Daniel Elstner aeaad0b0b5 sysclk-lwla: Initial driver skeleton. 2014-01-14 19:33:31 +01:00
Aurelien Jacobs 02820f0795 rigol-ds: does not depend on libserialport 2014-01-13 22:53:57 +01:00
Aurelien Jacobs d5876cfb4a scpi: add VXI transport support 2014-01-11 22:36:09 +01:00
Marc Schink 1c183900d2 configure.ac: Disable atten-pps3xxx driver if libserialport is not found. 2014-01-11 20:59:44 +01:00
Bert Vermeulen fa0d6afe19 atten-pps3xxx: Initial driver skeleton. 2014-01-10 00:38:32 +01:00
Aurelien Jacobs 81a9ab725f appa-55ii: driver implementation with Live and Memory data source support 2013-12-23 01:21:52 +01:00
Aurelien Jacobs 5e7a8e57d4 appa-55ii: Initial driver skeleton. 2013-12-23 01:21:51 +01:00
Bert Vermeulen 17e9317b24 Bump minimum libusb version to 1.0.16
This gets us the libusb version checking mechanism itself, hopefully
making this sort of thing easier in future.

Also hotplug, device tree traversal, and lots of fixes.
2013-12-19 10:45:36 +01:00
Martin Ling 37fa80b4be Disable OLS driver on Windows. 2013-12-07 19:43:47 +00:00
Martin Ling 1c6736ab86 Link against the ws2_32 library on Windows. 2013-12-06 02:26:58 +00:00
Martin Ling 789840741c rigol-ds: Enable for non-Linux, as it now supports other transports. 2013-12-06 03:00:12 +01:00
Uwe Hermann c6e35004cb configure.ac: Don't build hameg-hmo if libserialport is not found. 2013-12-03 15:48:02 +01:00
Uwe Hermann 582b3d21d3 configure.ac: Move Hameg HMO AM_CONDITIONAL to the correct place. 2013-12-03 15:37:36 +01:00
poljar (Damir Jelić) 06a3e78adb hameg-hmo: Initial driver skeleton. 2013-12-03 15:13:30 +01:00
Dan Horák 3ba7b61ab2 define correct variable for the unified Rigol driver 2013-12-01 22:28:07 +01:00
Martin Ling 3086efdd73 Rename rigol-ds1xx2 driver to rigol-ds. 2013-11-29 00:50:59 +00:00
Bert Vermeulen 067b3836b2 gmc-mh-1x-2x driver depends on libserialport 2013-11-26 01:50:21 +01:00
Uwe Hermann 330af0ec89 Update to 3-digit libserialport package version format. 2013-11-22 16:29:58 +01:00
Matthias Heidbrink 7b4edcb654 gmc_mh_1x_2x: Inital driver skeleton. 2013-11-22 02:31:17 +01:00
Uwe Hermann c4f2dfd0f0 configure.ac: libserialport is optional.
Disable drivers that need serial port support if libserialport is not found.

Also, disable building various other serial port related code in that case.
2013-11-15 09:36:51 +01:00
Martin Ling f2b830f71d Fix silly copy-paste error. 2013-11-14 23:48:16 +01:00
Martin Ling a9bce5a561 Use libserialport for serial port access. 2013-11-14 23:48:16 +01:00
Uwe Hermann 360079e78e configure.ac: Bump libtool/library version from 1:1:0 to 1:2:0.
The libtool current:revision:age numbers change from 1:1:0 to 1:2:0
(i.e., revision is increased) since the library source code has changed,
but no interfaces were added or changed or removed.

Details:
http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info

This changes the library filename (e.g. on Linux) from libsigrok.so.1.0.1
to libsigrok.so.1.0.2, but the SONAME (+symlink) remains the same
(libsigrok.so.1) since this release is API- and ABI-compatible with the last.
2013-11-04 01:28:12 +01:00
Uwe Hermann 3f6549307b configure.ac: Bump package version to 0.2.2. 2013-11-04 01:24:49 +01:00
Uwe Hermann 5724a20af7 configure.ac: Fix list sorting (cosmetic). 2013-11-04 01:14:57 +01:00
Uwe Hermann 122d33d47d configure.ac: Move a teleinfo snippet to the correct place.
This breaks some configure use-cases otherwise.
2013-11-04 01:14:57 +01:00
Uwe Hermann e790bd5cda norma-dmm: Minor cosmetics, coding-style, consistency fixes.
Also, add a missing "%" in an sr_err() and a missing parameter in
another sr_err().
2013-10-25 21:25:26 +02:00
Matthias Heidbrink bfd48770fc norma dmm: Initial driver skeleton. 2013-10-25 21:25:26 +02:00
Aurelien Jacobs 8e796cb438 teleinfo: Initial driver skeleton. 2013-10-24 15:41:11 +01:00
Uwe Hermann 8819bf5a96 Bump libzip requirement to >= 0.10.
We now use zip_int64_t and zip_get_num_entries() for example, which
requires at least libzip 0.10. This version was released in 03/2012,
which is old enough that we don't necessarily have to do a work-around
for older versions. Thus, simply bump the requirement to >= 0.10.
2013-10-16 18:10:29 +02:00
Uwe Hermann ba26f45d1d configure.ac: Don't build uni-t-ut32x if libusb-1.0 is not found. 2013-09-25 14:26:35 +02:00
Uwe Hermann 4ac4595ad0 configure.ac: Properly use $HW_ENABLED_DEFAULT everywhere.
Otherwise --enable-all-drivers / --disable-all-drivers doesn't work
correctly.
2013-09-04 12:05:45 +02:00
Marcus Comstedt 7b5daad45c saleae-logic16: Implemented acquisition. 2013-08-20 19:55:57 +02:00
Marcus Comstedt 6383365795 configure.ac: Fix build when libusb-1.0 not available.
The Saleae Logic16 needs libusb-1.0, thus disable this driver when
libusb-1.0 cannot be found.
2013-08-20 19:55:57 +02:00
Marcus Comstedt c463dcf06c saleae-logic16: Initial driver skeleton. 2013-08-20 19:55:22 +02:00
Bert Vermeulen 3877dde43a uni-t-ut32x: Initial driver skeleton. 2013-08-11 10:46:36 +02:00
Uwe Hermann 4433145f48 center-3xx: Initial driver skeleton. 2013-08-08 19:58:48 +02:00
Uwe Hermann f6b5969014 Bump package version to 0.2.1, libtool version to 1:1:0.
The last release (0.2.0) had the libtool version (current:revision:age)
set to 1:0:0. Since this release doesn't add/change/remove any
interfaces, only 'revision' is increased, resulting in 1:1:0.

http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info

Frontends using libsigrok don't need to be recompiled or relinked.
2013-08-07 16:21:58 +02:00
Uwe Hermann ce95428cca Consistent use of "IKALOGIC" spelling.
The company name is written all-caps pretty consistently on the
vendor website and docs, so use that spelling everywhere.
2013-08-07 16:21:57 +02:00
Uwe Hermann ee2cc2d4dc ikalogic-scanaplus: Don't build if libftdi was not found. 2013-08-05 14:52:44 +02:00
Uwe Hermann 37d80736ab kecheng-kc-330b: Don't build if libusb-1.0 was not found. 2013-08-05 13:34:10 +02:00
Uwe Hermann 59142ae177 Disable mso-19 per default, mark experimental.
This driver is not yet in a really usable or working state, it'll be
re-enabled by default when we're sure it works properly.
2013-08-05 13:16:31 +02:00
Uwe Hermann c51bbdec34 Drop nexus-osciprime skeleton for now.
This is mostly just a skeleton driver framework at the moment, we'll
bring it back when the driver is fully implemented.
2013-08-05 12:59:23 +02:00
Bert Vermeulen ed759a0835 kecheng-kc-330b: Initial driver skeleton. 2013-07-16 16:08:38 +02:00
Uwe Hermann fdf4a1f5a0 ikalogic-scanaplus: Initial driver skeleton. 2013-07-15 12:20:53 +02:00
Uwe Hermann 32be5b2246 configure.ac: Move an AM_CONDITIONAL to the correct location. 2013-06-21 15:18:33 +02:00
Uwe Hermann 1f36a6c685 configure.ac: Fix build when libusb-1.0 not available.
The IKALOGIC Scanalogic2 needs libusb-1.0, thus disable this driver when
libusb-1.0 cannot be found.
2013-06-21 15:11:36 +02:00
Bert Vermeulen 8fa9368eb4 cem-dt-885x: Initial driver skeleton. 2013-06-12 18:34:42 +02:00
Marc Schink 16e76baec9 ikalogic-scanalogic2: Initial driver skeleton. 2013-06-11 18:39:54 +02:00
Uwe Hermann ee8ddd8f5a Always link against the math library.
This fixes bug #115.
2013-05-10 21:46:30 +02:00
Uwe Hermann 9e165e742f Use consistent HW_ name prefixes everywhere.
Older drivers used LA_* previously, we now use HW_* everywhere though.
2013-05-10 17:18:42 +02:00
Uwe Hermann 7ab89f4827 Re-enable link-mso19 and nexus-osciprime drivers. 2013-05-08 16:40:45 +02:00
Uwe Hermann 26aec7fdc4 Drop link-mso19/nexus-osciprime in preparation for release.
These two drivers are currently unfinished and don't work, so disable
and "unhook" them for now in preparation of the next libsigrok release.

They're still in the git repository, but not hooked up to the build
system, so that they won't get detected or built, and also don't end up
in the release tarball.

Since link-mso19 is the only driver that currently requires libudev,
drop any reference to that, too.

It should be relatively easy to apply this patch in reverse after the
release to bring back both drivers.
2013-05-04 15:59:40 +02:00
Uwe Hermann 6941f84568 Fix libsigrok lib version (current:revision:age).
The last release (libsigrok 0.1.1) had a lib version of 0:0:0.

This release thus gets 1:0:0 according to the libtool manual guidelines.
2013-05-04 15:12:20 +02:00
Uwe Hermann 695f32d89d Bring back link-mso19/nexus-osciprime for now.
This patch will be re-introduced later.
2013-04-26 10:47:34 +02:00
Uwe Hermann 9d1164f9a1 Drop link-mso19/nexus-osciprime in preparation for release.
These two drivers are currently unfinished and don't work, so disable
and "unhook" them for now in preparation of the next libsigrok release.

They're still in the git repository, but not hooked up to the build
system, so that they won't get detected or built, and also don't end up
in the release tarball.

Since link-mso19 is the only driver that currently requires libudev,
drop any reference to that, too.

It should be relatively easy to apply this patch in reverse after the
release to bring back both drivers.
2013-04-25 19:16:13 +02:00
Uwe Hermann 50985c2019 GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
Uwe Hermann 406569ddea Bump glib requirement to >= 2.32.0.
This is now required, e.g. due to the usage of g_variant_new_fixed_array().
2013-04-12 18:47:06 +02:00
Uwe Hermann 2e542814cb configure.ac: Fix checks for cross-compiles.
When checking architecture-specific things, always check $host, i.e. the
architecture we're building _for_, not the one we happen to build _on_.

E.g. when cross-compiling _for_ Android (or Windows or others) it's important
to check for Android in $host; whether we happen to cross-compile _on_ a Linux
or Windows or OpenBSD or FreeBSD machine ($build) doesn't matter, only the
fact that we compile _for_ Android is important for most checks.
2013-04-09 19:52:38 +02:00
Uwe Hermann 6bad848724 configure.ac: Print $host and $build.
In the configure summary at the end also print the architecture we're
building on ($build) and the target host we build for ($host). The two are
not necessarily the same, e.g. in the case of cross-compiles.
2013-04-09 18:56:53 +02:00
Uwe Hermann 6e772cbe80 configure.ac: Mention required lib versions.
In the summary output at the end of a configure run, explicitly mention
which versions of which libraries are required, and also the version which
pkg-config has found.
2013-04-09 18:39:41 +02:00
Uwe Hermann 63cbeaeb59 configure.ac: Only enable rigol-ds1xx2 on Linux. 2013-04-09 17:59:47 +02:00
Uwe Hermann e4fad80b85 configure.ac: Cosmetics for the list of drivers.
Use the canonical driver name (all-lowercase, e.g. "serial-dmm") in the
list of enabled/disabled drivers that configure prints after a run.

It's common to many drivers that they support multiple devices, so
printing one device name (e.g. "ChronoVu LA8") is seldom really correct.
E.g. the agilent-dmm, asix-sigma, brymen-dmm, colead-slm, fluke-dmm,
fx2lafw, hantek-dso, lascar-el-usb, mic-985xx, openbench-logic-sniffer,
rigol-ds1xx2, uni-t-dmm, victor-dmm, and zeroplus-logic-cube drivers
all support more than just one device.

So, just print the driver name instead which is more correct anyway
since it's specifically a list of enabled/disabled drivers.
2013-04-09 17:49:14 +02:00
Uwe Hermann ccf35720c0 configure.ac: Improve a libusb-1.0 related check.
Don't rely on the "heuristic" that 'libusb_CFLAGS' will be non-empty if
libusb-1.0 was found, but rather use the proper method of checking the
variable 'have_libusb1_0' which pkg-config will set to "yes"/"no"
depending on whether it finds the library.
2013-04-09 17:49:14 +02:00
Uwe Hermann 3fd1d0ee1c configure.ac: Improve USB/EZUSB/serial checks.
- If libusb-1.0 is not found, do not compile in ezusb.c and usb.c since
   they require libusb.h. The respective hardware drivers that use
   libusb-1.0, and usb.c and/or ezusb.c will be excluded from the build
   elsewhere in configure.ac. Rename NEED_EZUSB to NEED_USB.

 - Drop the NEED_SERIAL check and always compile in serial.c. This is a
   very small chunk of code, it does not depend on any external
   libraries that might be missing, and it compiles on all architectures.
   Thus there's no need to conditionally include or exclude it.
2013-04-09 17:49:13 +02:00
Uwe Hermann ae4c3d0431 configure.ac: Fix the order of some entries.
In order for lib autodetection and disabling of drivers (which require
libs that cannot be found) to work, the order of AC_ARG_ENABLEs,
AM_CONDITIONALs, and AC_DEFINEs needs to be changed.

All drivers start out enabled or disabled (depending on whether
the --disable-drivers option was supplied or not). Then, any driver can
be enabled or disabled explicitly via --enable-<drivername> or the
resp. --disable-<drivername> option. Finally, pkg-config checks for all
libraries are performed, and all drivers which require a library that
cannot be found are disabled explicitly (regardless of any
--enable-<drivername> option that might have been supplied).
2013-04-09 17:49:13 +02:00
Uwe Hermann aba6926245 configure.ac: Improve pkg-config related checks.
Until now, we checked for certain (optional) libraries via pkg-config and
the configure script would abort if any of them was not found, even
though they were optional. It was up to the user to then figure out which
combination of --disable-<drivername> switches were required for his
specific OS (and set of installed libs) to get a working configure run.

Only if the user already specified enough --disable-<drivername>
switches beforehand, so that all drivers which require a missing library
were disabled, would the configure run not check for that specific lib
(and would thus not fail).

With this change, we now always unconditionally check for all libs
(required and optional) via pkg-config. However, whether an (optional) lib
is found or not, configure will not abort. Instead, it'll just disable
all drivers which need a lib that cannot be found.

The user will no longer have to supply --disable-<drivername> parameters
in order to get a working build.
2013-04-09 17:46:33 +02:00
Bert Vermeulen 5a7587cd03 set proper build defaults for brymen-dmm and mic-985xx drivers 2013-03-19 22:08:44 +01:00
Uwe Hermann 22ca5aa68b configure.ac: Add 'color-tests' (colorized 'make check'). 2013-03-17 13:22:22 +01:00
Uwe Hermann 57981a0716 configure.ac: Drop std-options, unneeded.
The automake 'std-options' option checks whether all installed tools
and scripts have a --help and --version CLI option. This check is not
needed for libsigrok though, since it doesn't install any tools.
2013-03-17 13:19:57 +01:00
Uwe Hermann 898c562fd3 autotools: Don't use "foreign" option.
This adds INSTALL and allows for a few more sanity checks being done.
2013-03-17 13:15:56 +01:00
Uwe Hermann bb203cde9d configure.ac: Add missing AM_PROG_CC_C_O. 2013-03-12 23:00:58 +01:00
Uwe Hermann 79bb0e97d5 Add a testsuite for libsigrok.
This adds a suite of unit tests for libsigrok. It uses the 'Check'
tool/library (apt-get install check) to run the tests.

The configure tool tries to find libcheck. If it succeeds, a
"make check" will run all tests. Otherwise, none of the tests will
be built and "make check" will not run any tests.

This also means that users who don't have 'check' installed will still
be able to build and install libsigrok just fine.
2013-03-09 11:55:43 +01:00
Alexandru Gagniuc 20cbc7854d brymen-dmm: Initial driver skeleton. 2013-02-02 11:19:27 +01:00
Uwe Hermann 7ec5b54955 mic-985xx: Initial driver skeleton. 2013-02-01 23:52:57 +01:00
Uwe Hermann 7d39e2105f configure.ac: Drop AC_PROG_CXX.
We don't need a C++ compiler for libsigrok, so don't check for one.

This would cause a build failure on all systems where there is a C compiler
but no C++ compiler installed.
2013-01-19 21:20:56 +01:00
Uwe Hermann 262dd3e47d configure.ac: Drop gthread check, no longer used.
We no longer use gthread (its only user was the 'demo' driver), so drop
the 'configure' check for it.

The libsigrok.pc pkg-config file is still correct, since the 'configure'
result propagates there automatically.
2013-01-16 01:31:46 +01:00
Bert Vermeulen 8a22e8c0ff cosmetics 2013-01-14 00:59:46 +01:00
Bert Vermeulen dbf2482ec1 add --disable-all-drivers option
Can be overridden by driver --enable options to build only those drivers.
2013-01-14 00:52:55 +01:00
Uwe Hermann 8472ae868e configure.ac: Enable Link Instruments MSO-19.
This driver now compiles again and (partially) seems to work, so enable it.
2013-01-08 01:27:11 +01:00
Martin Ling f4816ac6cc rigol-ds1xx2: Initial driver skeleton. 2013-01-03 18:41:28 +01:00
Uwe Hermann bdd7618cd1 configure.ac: Fix CFLAGS settings.
Don't override/overwrite CFLAGS in configure.ac, but rather amend it
with (currently) "-Wall -Wextra -fvisibility=hidden".

This properly allows users/packagers to do things like:

 ./configure (this will default to using "-g -O2" additionally)

 CFLAGS="-g -O2" ./configure (same as above)

 CFLAGS="" ./configure (no additional flags)

 CFLAGS="-g -O0" ./configure (disable optimization, e.g. for valgrind use)

 etc. etc.
2012-12-28 12:10:01 +01:00
Bert Vermeulen 35a078bce5 nexus-osciprime: Initial driver skeleton. 2012-12-24 20:55:23 +01:00
Uwe Hermann 17dfb2c32c configure.ac: Improve check for libusb-1.0.
PKG_CHECK_MODULES() checks for libusb-1.0 via pkg-config already, no
need to use a "manual" additional check via AC_CHECK_LIB() just to set
HAVE_LIBUSB_1_0 in config.h.

This helps with cross-compiling setups, among other things.
2012-12-22 01:33:03 +01:00
Uwe Hermann 0254651dcb alsa: Update to latest APIs/conventions.
The alsa driver was out of date wrt APIs and libsigrok conventions in
general, and wasn't compiling.

This fixes the compile and updates it to _basically_ work with the current
state of analog support in libsigrok.

This is not finished/full support for ALSA analog sampling yet, though,
various TODOs remain that will be addressed later.
2012-12-20 14:42:15 +01:00
Bert Vermeulen 521a0cd357 cosmetics 2012-12-15 11:07:18 +01:00
Peter Stuge 44fc870c9c Add a struct sr_context * parameter to sr_driver_init()
Since the public API is changed, this commit also bumps the libtool
version component SR_LIB_VERSION_CURRENT in configure.ac.
2012-12-03 12:07:40 +01:00
Bert Vermeulen 46697e38b2 lascar-el-usb: Initial driver skeleton. 2012-12-03 03:53:44 +01:00
Uwe Hermann 162b735218 Remove some radioshack-dmm leftovers. 2012-12-02 22:22:07 +01:00
Uwe Hermann 7f64e88fa9 Reduce glib minimum version to 2.28.0 again.
We no longer use g_thread_try_new() which is only available since 2.32.0.
2012-12-02 16:09:31 +01:00
Uwe Hermann 21a7f2692e Rename tekpower-dmm to serial-dmm.
This is now a generic driver for multiple DMM "subdrivers" that use simple
serial port protocols.
2012-12-02 14:21:18 +01:00
Uwe Hermann e42b82a66f configure.ac: Update NEED_SERIAL list. 2012-11-14 18:29:27 +01:00
Uwe Hermann bda8fc98b1 Drop obsolete genericdmm driver. 2012-11-14 15:26:11 +01:00
Uwe Hermann aa2af32432 tondaj-sl-814: Initial driver skeleton. 2012-11-10 01:01:28 +01:00
Bert Vermeulen ac3898d2d0 victor-dmm: Initial driver skeleton. 2012-11-06 15:16:22 +01:00
Bert Vermeulen 4d729ddcaf colead-slm: Initial driver skeleton. 2012-11-02 15:24:30 +01:00
Bert Vermeulen 7445ed9158 require glib version >= 2.32
This allows us to do away with a few deprecated g_thread functions
in demo.c which throw deprecation warnings since glib 2.32.0.
2012-10-29 22:08:34 +01:00
Uwe Hermann 79081ec80c Initial support for UNI-T DMMs.
This is not yet fully finished, but works for most use-cases.

Tested with a UNI-T UT61D using the UT-D04 USB/HID cable (new version).
2012-10-27 23:17:30 +02:00
Uwe Hermann 9eb2bb9601 configure.ac: Cosmetics. 2012-10-27 22:25:04 +02:00
Uwe Hermann bbabddbd64 tekpower-dmm: Cosmetics, coding-style, consistency fixes. 2012-10-27 22:25:04 +02:00
Alexandru Gagniuc 7dc55d930f Add support for the TekPower TP4000ZC DMM.
Also known as Digitek DT4000ZC.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-27 22:25:04 +02:00
Uwe Hermann 6f669a68e7 configure.ac: Small consistency fixes. 2012-10-24 02:51:17 +02:00
Bert Vermeulen 589a10135a clean up autoconf/autobuild scripts 2012-10-22 01:48:39 +02:00
Uwe Hermann d11d606626 We now require libusb >= 1.0.9.
This is due to the use of libusb_error_name().
2012-10-21 22:44:00 +02:00
Bert Vermeulen 7b0a85c81c radioshack-dmm: build fixes 2012-10-15 18:25:48 +02:00
Alexandru Gagniuc d375b3c3ec radioshack-dmm: Add support for Radioshack 22-812 DMM
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-15 17:32:58 +02:00
Bert Vermeulen 883a2e9e71 fluke-dmm: initial driver skeleton 2012-09-25 19:53:05 +02:00
Bert Vermeulen 7c1cb432b8 sr: enable genericdmm and agilent-dmm drivers by default 2012-09-10 22:14:37 +02:00
Bert Vermeulen 6ac0db19f3 sr: add new agilent-dmm driver (Agilent U12xxA multimeters) 2012-09-02 15:42:56 +02:00
Bert Vermeulen ef2345bc29 sr: build: hantek-dso driver requires libusb as well 2012-08-03 11:29:00 +02:00
Uwe Hermann 615183ea16 sr: Drop mastech-va18b, code will be in genericdmm. 2012-07-11 12:57:15 +02:00
Bert Vermeulen 28b9dd1861 sr: fix conditional build for ezusb and serial helpers 2012-07-11 12:36:49 +02:00
Bert Vermeulen 45c59c8bdd sr: moved sigrok.h so libsigrok/libsigrok.h
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.

The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Bert Vermeulen ca3d84cca1 sr: add genericdmm driver 2012-07-01 22:37:15 +02:00
Bert Vermeulen 5d4fb4fc0d fx2lafw: enable driver build by default 2012-07-01 15:29:57 +02:00
Uwe Hermann 163f0523f6 sr: Mastech VA18B: Partial protocol supports (WIP).
Disable the driver for now, as it's not usable for the general public, yet.
2012-06-28 22:57:03 +02:00
Bert Vermeulen e21e846330 sr/srd/cli: require glib version >= 2.28
Needed for g_get_monotonic_time(). Thanks to Tomaž Šolc.
2012-06-23 01:26:20 +02:00
Uwe Hermann eb1f1eb407 sr: Unfinished Mastech VA18B (DMM) support. 2012-06-21 23:56:24 +02:00
Uwe Hermann 63298404df sr: Increase pkg version to 0.2.0, increase lib version. 2012-06-01 00:36:52 +02:00
Bert Vermeulen 3b533202c8 sr: initial support for Hantek 2xxx/5200 USB oscilloscopes 2012-05-30 23:56:12 +02:00
Uwe Hermann 8fdecced96 sr: Consistently use ZEROPLUS spelling.
This is the version used throughout their website, let's use it.
2012-05-30 23:23:14 +02:00
Uwe Hermann 2f3a6df8e4 sr: Increase version number to 0.1.1. 2012-05-30 09:35:13 +02:00
Uwe Hermann fb6f1978ed sr: New default firmware dir: $prefix/share/sigrok-firmware.
We no longer expect firmware files to be in the
$prefix/share/libsigrok/firmware directory, as that would require an
additional (distro) package 'sigrok-firmware' or the like to install
files into another package's (libsigrok) path, which can be problematic.

The current 'sigrok-firmware' repo's "make install" will already install
all files into $prefix/share/sigrok-firmware.
2012-05-30 00:00:33 +02:00
Pekka Nikander 432e5e95f5 sr/srd/cli: Fix compiling with Homebrew.
Add ACLOCAL_DIR setting and AM_PROG_AR macro for compiling with Homebrew
under Mac OS X.

Applies essentially the same change to
{libsigrok,libsigrokdecode,sigrok-cli}/{autogen.sh,configure.ac}

It may be that the same fix is needed for the other autogen.sh and/or
configure.ac files, but that hasn't been tested and therefore not in
this commit.
2012-05-15 20:58:20 +02:00
Uwe Hermann 6352d030df sr: We support both SIGMA and SIGMA2.
Also, a few minor coding-style fixes etc.
2012-05-03 01:41:02 +02:00
Håvard Espeland e210c6c090 sr: Remove zlib dependency.
No longer needed by Sigma driver.
2012-04-22 14:59:10 +02:00
Joel Holdsworth 824b1a8f5c sr: Deleted the saleae-logic driver, fx2lafw has superceded it. 2012-04-19 00:12:22 +02:00
Joel Holdsworth d56ee26599 sr: Disable saleae-logic driver by default and enable fx2lafw 2012-04-19 00:12:22 +02:00
Uwe Hermann 2e26e0aa0b sr: Disable fx2lafw driver again (for now).
After some more testing, it will probably be enabled by default and will
replace/deprecate the Saleae Logic driver at some point.
2012-03-31 11:57:46 +02:00
Uwe Hermann 6dddd90224 sr: SR_PACKAGE_VERSION_* for consistency.
No need to use the LIBSIGROK_ prefix here when we use SR_ everywhere
else. Also, better distinction between package version and lib version.
2012-03-31 11:35:47 +02:00
Uwe Hermann 85a77720c6 sr: sigrok.h: Add version macros. 2012-03-24 21:54:57 +01:00
Uwe Hermann 4937b23551 sr: Rename sigrok.h. to sigrok.h.in, needed soon. 2012-03-24 21:54:56 +01:00
Uwe Hermann b5750520bb sr: Enable fx2lafw driver per default. 2012-03-21 23:20:09 +01:00
Uwe Hermann a4d3985678 sr/cli/gtk/qt: Fix package version numbers / docs.
The next (and first) libsigrok release will be called 0.1.0.

The next (and first) libsigrokdecode release will be called 0.1.0.

The next sigrok-cli release will be called 0.3.0 (as we already had a 0.1
and 0.2 release of sigrok-cli; those did not yet use the libs, though).

sigrok-gtk and sigrok-qt didn't have any releases yet, so their version
numbers are set to 0.1.0.

Also, consistently use three numbers/digits for our version numbers.
2012-03-21 23:20:08 +01:00
Joel Holdsworth f302a08256 fx2lafw: Added empty hardware module for fx2lafw 2012-02-25 09:11:53 +00:00
Bert Vermeulen c73d2ea421 sr: adjust copyright year 2012-02-13 14:31:51 +01:00
Bert Vermeulen 040ae8be94 sr: sigrok.h is no longer generated 2012-02-12 20:43:20 +01:00
Uwe Hermann 44b6aafdb7 sr: FreeBSD has zlib, but no pkg-config file for it. 2012-02-11 00:34:16 +01:00
Uwe Hermann 1a081ca67d sr: Mark API functions with SR_API/SR_PRIV.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.

Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.

This uses the 'visibility' feature of gcc (requires gcc >= 4.0).

Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Uwe Hermann ef7228ba49 Update/enforce/document our build requirements. 2012-01-28 21:26:56 +01:00
Uwe Hermann 8e43129c10 A few more fixes for configure.ac files.
Add missing checks and quotes, remove superfluous checks, etc.
2012-01-04 15:42:24 +01:00
Uwe Hermann 4abf8dd0a5 srd: Show config summary, libs, and Python info. 2012-01-04 02:41:33 +01:00