Commit Graph

91 Commits

Author SHA1 Message Date
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