AC_CONFIG_AUX_DIR([autostuff])
# We require at least automake 1.11 (needed for 'silent rules').
-AM_INIT_AUTOMAKE([1.11 -Wall -Werror check-news color-tests])
+AM_INIT_AUTOMAKE([1.11 -Wall -Werror subdir-objects check-news color-tests])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
# Enable more compiler warnings via -Wall and -Wextra. Add -fvisibility=hidden
# and enforce use of SR_API to explicitly mark all public API functions.
-CFLAGS="$CFLAGS -Wall -Wextra -fvisibility=hidden"
+CFLAGS="$CFLAGS -Wall -Wextra -Wmissing-prototypes -fvisibility=hidden"
# Checks for programs.
AC_PROG_CC
[HW_ATTEN_PPS3XXX="$enableval"],
[HW_ATTEN_PPS3XXX=$HW_ENABLED_DEFAULT])
+AC_ARG_ENABLE(brymen-bm86x, AC_HELP_STRING([--enable-brymen-bm86x],
+ [enable Brymen BM86X support [default=yes]]),
+ [HW_BRYMEN_BM86X="$enableval"],
+ [HW_BRYMEN_BM86X=$HW_ENABLED_DEFAULT])
+
AC_ARG_ENABLE(brymen-dmm, AC_HELP_STRING([--enable-brymen-dmm],
[enable Brymen DMM support [default=yes]]),
[HW_BRYMEN_DMM="$enableval"],
[HW_COLEAD_SLM="$enableval"],
[HW_COLEAD_SLM=$HW_ENABLED_DEFAULT])
+AC_ARG_ENABLE(conrad-digi-35-cpu, AC_HELP_STRING([--enable-conrad-digi-35-cpu],
+ [enable Conrad DIGI 35 CPU support [default=yes]]),
+ [HW_CONRAD_DIGI_35_CPU="$enableval"],
+ [HW_CONRAD_DIGI_35_CPU=$HW_ENABLED_DEFAULT])
+
AC_ARG_ENABLE(demo, AC_HELP_STRING([--enable-demo],
[enable demo driver support [default=yes]]),
[HW_DEMO="$enableval"],
# libm (the standard math library) is always needed.
AC_SEARCH_LIBS([pow], [m])
-# RPC is only needed for VXI support
+# RPC is only needed for VXI support.
AC_MSG_CHECKING([for RPC support])
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <rpc/rpc.h>],
- [CLIENT *rpc_test(void)],
- [{ return clnt_create("", 0, 0, ""); }])],
- [AC_MSG_RESULT([yes]); have_rpc=1],
- [AC_MSG_RESULT([no]); have_rpc=0])
+ [CLIENT *rpc_test(void)],
+ [{ return clnt_create("", 0, 0, ""); }])],
+ [AC_MSG_RESULT([yes]); have_rpc=1],
+ [AC_MSG_RESULT([no]); have_rpc=0])
# Define HAVE_RPC in config.h if we found RPC support.
-AC_DEFINE_UNQUOTED(HAVE_RPC, [$have_rpc],[Specifies whether we have RPC support.])
+AC_DEFINE_UNQUOTED(HAVE_RPC, [$have_rpc], [Specifies whether we have RPC support.])
# VXI support is only compiled if RPC support was found.
-AM_CONDITIONAL(NEED_RPC, test "x$have_rpc" != x0)
+AM_CONDITIONAL(NEED_RPC, test "x$have_rpc" != "x0")
# libglib-2.0 is always needed. Abort if it's not found.
# Note: glib-2.0 is part of the libsigrok API (hard pkg-config requirement).
SR_PKGLIBS="$SR_PKGLIBS libserialport"],
[have_libserialport="no"; HW_AGILENT_DMM="no"; HW_APPA_55II="no";
HW_ATTEN_PPS3XXX="no"; HW_BRYMEN_DMM="no"; HW_CEM_DT_885X="no";
- HW_CENTER_3XX="no"; HW_COLEAD_SLM="no"; HW_FLUKE_DMM="no";
- HW_GMC_MH_1X_2X="no"; HW_HAMEG_HMO="no"; HW_LINK_MSO19="no";
+ HW_CENTER_3XX="no"; HW_COLEAD_SLM="no"; HW_CONRAD_DIGI_35_CPU="no";
+ HW_FLUKE_DMM="no"; HW_GMC_MH_1X_2X="no"; HW_HAMEG_HMO="no"; HW_LINK_MSO19="no";
HW_MIC_985XX="no"; HW_NORMA_DMM="no"; HW_OLS="no";
HW_SERIAL_DMM="no"; HW_TELEINFO="no"; HW_TONDAJ_SL_814="no"])
# Serial port helper code is only compiled in if libserialport was found.
AM_CONDITIONAL(NEED_SERIAL, test "x$have_libserialport" != xno)
+PKG_CHECK_MODULES([librevisa], [librevisa >= 0.0.20130812],
+ [have_librevisa="yes"; CFLAGS="$CFLAGS $librevisa_CFLAGS";
+ LIBS="$LIBS $librevisa_LIBS";
+ SR_PKGLIBS="$SR_PKGLIBS librevisa"],
+ [have_librevisa="no"])
+
+# VISA SCPI backend is only compiled in if librevisa was found.
+AM_CONDITIONAL(NEED_VISA, test "x$have_librevisa" != xno)
+
+# Define HAVE_LIBREVISA in config.h if we found librevisa.
+if test "x$have_librevisa" != "xno"; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBREVISA, [1],
+ [Specifies whether we have librevisa.])
+fi
+
# libusb-1.0 is only needed for some hardware drivers. Disable the respective
# drivers if it is not found.
case "$host" in
[have_libusb1_0="yes"; CFLAGS="$CFLAGS $libusb_CFLAGS";
LIBS="$LIBS $libusb_LIBS";
SR_PKGLIBS="$SR_PKGLIBS libusb-1.0"],
- [have_libusb1_0="no"; HW_FX2LAFW="no"; HW_HANTEK_DSO="no";
- HW_IKALOGIC_SCANALOGIC2="no"; HW_KECHENG_KC_330B="no";
- HW_LASCAR_EL_USB="no";
- HW_UNI_T_DMM="no"; HW_UNI_T_UT32X="no"; HW_VICTOR_DMM="no";
+ [have_libusb1_0="no"; HW_BRYMEN_BM86X="no"; HW_FX2LAFW="no";
+ HW_HANTEK_DSO="no"; HW_IKALOGIC_SCANALOGIC2="no";
+ HW_KECHENG_KC_330B="no"; HW_LASCAR_EL_USB="no";
+ HW_SYSCLK_LWLA="no"; HW_UNI_T_DMM="no";
+ HW_UNI_T_UT32X="no"; HW_VICTOR_DMM="no";
HW_ZEROPLUS_LOGIC_CUBE="no"; HW_SALEAE_LOGIC16="no"])
# Define HAVE_LIBUSB_1_0 in config.h if we found libusb-1.0.
AC_DEFINE(HAVE_HW_ATTEN_PPS3XXX, 1, [Atten PPS3xxx support])
fi
+AM_CONDITIONAL(HW_BRYMEN_BM86X, test x$HW_BRYMEN_BM86X = xyes)
+if test "x$HW_BRYMEN_BM86X" = "xyes"; then
+ AC_DEFINE(HAVE_HW_BRYMEN_BM86X, 1, [Brymen BM86X support])
+fi
+
AM_CONDITIONAL(HW_BRYMEN_DMM, test x$HW_BRYMEN_DMM = xyes)
if test "x$HW_BRYMEN_DMM" = "xyes"; then
AC_DEFINE(HAVE_HW_BRYMEN_DMM, 1, [Brymen DMM support])
AC_DEFINE(HAVE_HW_COLEAD_SLM, 1, [Colead SLM support])
fi
+AM_CONDITIONAL(HW_CONRAD_DIGI_35_CPU, test x$HW_CONRAD_DIGI_35_CPU = xyes)
+if test "x$HW_CONRAD_DIGI_35_CPU" = "xyes"; then
+ AC_DEFINE(HAVE_HW_CONRAD_DIGI_35_CPU, 1, [Conrad DIGI 35 CPU support])
+fi
+
AM_CONDITIONAL(HW_DEMO, test x$HW_DEMO = xyes)
if test "x$HW_DEMO" = "xyes"; then
AC_DEFINE(HAVE_HW_DEMO, 1, [Demo driver support])
# Checks for header files.
# These are already checked: inttypes.h stdint.h stdlib.h string.h unistd.h.
-AC_CHECK_HEADERS([fcntl.h sys/time.h termios.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_BIGENDIAN
-AC_C_INLINE
-AC_TYPE_INT8_T
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_UINT8_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-AC_TYPE_SIZE_T
-
-# Checks for library functions.
-AC_CHECK_FUNCS([gettimeofday memset strchr strcspn strdup strerror strncasecmp strstr strtol strtoul strtoull])
AC_SUBST(FIRMWARE_DIR, "$datadir/sigrok-firmware")
AC_SUBST(MAKEFLAGS, '--no-print-directory')
AC_SUBST(SR_PACKAGE_VERSION_MICRO)
AC_SUBST(SR_PACKAGE_VERSION)
-AC_CONFIG_FILES([Makefile version.h hardware/Makefile
- hardware/agilent-dmm/Makefile
- hardware/alsa/Makefile
- hardware/appa-55ii/Makefile
- hardware/asix-sigma/Makefile
- hardware/atten-pps3xxx/Makefile
- hardware/brymen-dmm/Makefile
- hardware/cem-dt-885x/Makefile
- hardware/center-3xx/Makefile
- hardware/chronovu-la8/Makefile
- hardware/colead-slm/Makefile
- hardware/common/Makefile
- hardware/gmc-mh-1x-2x/Makefile
- hardware/hameg-hmo/Makefile
- hardware/ikalogic-scanalogic2/Makefile
- hardware/ikalogic-scanaplus/Makefile
- hardware/kecheng-kc-330b/Makefile
- hardware/lascar-el-usb/Makefile
- hardware/mic-985xx/Makefile
- hardware/rigol-ds/Makefile
- hardware/saleae-logic16/Makefile
- hardware/sysclk-lwla/Makefile
- hardware/teleinfo/Makefile
- hardware/tondaj-sl-814/Makefile
- hardware/victor-dmm/Makefile
- hardware/common/dmm/Makefile
- hardware/demo/Makefile
- hardware/fluke-dmm/Makefile
- hardware/fx2lafw/Makefile
- hardware/hantek-dso/Makefile
- hardware/link-mso19/Makefile
- hardware/norma-dmm/Makefile
- hardware/openbench-logic-sniffer/Makefile
- hardware/serial-dmm/Makefile
- hardware/uni-t-dmm/Makefile
- hardware/uni-t-ut32x/Makefile
- hardware/zeroplus-logic-cube/Makefile
- input/Makefile
- output/Makefile
- output/text/Makefile
- libsigrok.pc
- contrib/Makefile
- tests/Makefile
- ])
+AC_CONFIG_FILES([Makefile version.h libsigrok.pc])
AC_OUTPUT
echo
# Note: This only works for libs with pkg-config integration.
-for lib in "glib-2.0 >= 2.32.0" "libzip >= 0.10" "libserialport >= 0.1.0" "libusb-1.0 >= 1.0.16" "libftdi >= 0.16" "libudev >= 151" "alsa >= 1.0" "check >= 0.9.4"; do
+for lib in "glib-2.0 >= 2.32.0" "libzip >= 0.10" "libserialport >= 0.1.0" "librevisa >= 0.0.20130812" "libusb-1.0 >= 1.0.16" "libftdi >= 0.16" "libudev >= 151" "alsa >= 1.0" "check >= 0.9.4"; do
if `$PKG_CONFIG --exists $lib`; then
ver=`$PKG_CONFIG --modversion $lib`
answer="yes ($ver)"
echo " - appa-55ii....................... $HW_APPA_55II"
echo " - asix-sigma...................... $HW_ASIX_SIGMA"
echo " - atten-pps3xxx................... $HW_ATTEN_PPS3XXX"
+echo " - brymen-bm86x.................... $HW_BRYMEN_BM86X"
echo " - brymen-dmm...................... $HW_BRYMEN_DMM"
echo " - cem-dt-885x..................... $HW_CEM_DT_885X"
echo " - center-3xx...................... $HW_CENTER_3XX"
echo " - chronovu-la8.................... $HW_CHRONOVU_LA8"
echo " - colead-slm...................... $HW_COLEAD_SLM"
+echo " - conrad-digi-35-cpu.............. $HW_CONRAD_DIGI_35_CPU"
echo " - demo............................ $HW_DEMO"
echo " - fluke-dmm....................... $HW_FLUKE_DMM"
echo " - fx2lafw......................... $HW_FX2LAFW"