]> sigrok.org Git - libsigrok.git/blobdiff - configure.ac
configure.ac: libserialport is optional.
[libsigrok.git] / configure.ac
index bf6603da3d31cf9404d6297b9109a32a9650f3a9..36a82d5124719c073fbbc56506f56817c640adc2 100644 (file)
@@ -24,7 +24,7 @@ AC_PREREQ([2.63])
 # libsigrok package version number (NOT the same as shared lib version!).
 m4_define([sr_package_version_major], [0])
 m4_define([sr_package_version_minor], [2])
-m4_define([sr_package_version_micro], [1])
+m4_define([sr_package_version_micro], [2])
 m4_define([sr_package_version], [sr_package_version_major.sr_package_version_minor.sr_package_version_micro])
 
 AC_INIT([libsigrok], [sr_package_version], [sigrok-devel@lists.sourceforge.net],
@@ -67,7 +67,7 @@ PKG_PROG_PKG_CONFIG([0.22])
 # The algorithm for determining which number to change (and how) is nontrivial!
 # http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
 SR_LIB_VERSION_CURRENT=1
-SR_LIB_VERSION_REVISION=1
+SR_LIB_VERSION_REVISION=2
 SR_LIB_VERSION_AGE=0
 SR_LIB_VERSION="$SR_LIB_VERSION_CURRENT:$SR_LIB_VERSION_REVISION:$SR_LIB_VERSION_AGE"
 SR_LIB_LDFLAGS="-version-info $SR_LIB_VERSION"
@@ -174,6 +174,11 @@ AC_ARG_ENABLE(mic-985xx, AC_HELP_STRING([--enable-mic-985xx],
        [HW_MIC_985XX="$enableval"],
        [HW_MIC_985XX=$HW_ENABLED_DEFAULT])
 
+AC_ARG_ENABLE(norma-dmm, AC_HELP_STRING([--enable-norma-dmm],
+       [enable Norma DMM support [default=yes]]),
+       [HW_NORMA_DMM="$enableval"],
+       [HW_NORMA_DMM=$HW_ENABLED_DEFAULT])
+
 AC_ARG_ENABLE(ols, AC_HELP_STRING([--enable-ols],
        [enable OpenBench Logic Sniffer (OLS) support [default=yes]]),
        [HW_OLS="$enableval"],
@@ -198,10 +203,6 @@ AC_ARG_ENABLE(teleinfo, AC_HELP_STRING([--enable-teleinfo],
        [enable Teleinfo support [default=yes]]),
        [HW_TELEINFO="$enableval"],
        [HW_TELEINFO=$HW_ENABLED_DEFAULT])
-AM_CONDITIONAL(HW_TELEINFO, test x$HW_TELEINFO = xyes)
-if test "x$HW_TELEINFO" = "xyes"; then
-       AC_DEFINE(HAVE_HW_TELEINFO, 1, [Teleinfo support])
-fi
 
 AC_ARG_ENABLE(tondaj-sl-814, AC_HELP_STRING([--enable-tondaj-sl-814],
        [enable Tondaj SL-814 support [default=yes]]),
@@ -250,6 +251,27 @@ PKG_CHECK_MODULES([libzip], [libzip >= 0.10],
        [CFLAGS="$CFLAGS $libzip_CFLAGS"; LIBS="$LIBS $libzip_LIBS";
        SR_PKGLIBS="$SR_PKGLIBS libzip"])
 
+# libserialport is only needed for some hardware drivers. Disable the
+# respective drivers if it is not found.
+PKG_CHECK_MODULES([libserialport], [libserialport >= 0.1],
+       [have_libserialport="yes"; CFLAGS="$CFLAGS $libserialport_CFLAGS";
+       LIBS="$LIBS $libserialport_LIBS";
+       SR_PKGLIBS="$SR_PKGLIBS libserialport"],
+       [have_libserialport="no"; HW_AGILENT_DMM="no"; HW_BRYMEN_DMM="no";
+       HW_CEM_DT_885X="no"; HW_CENTER_3XX="no"; HW_COLEAD_SLM="no";
+       HW_FLUKE_DMM="no"; HW_LINK_MSO19="no"; HW_MIC_985XX="no";
+       HW_NORMA_DMM="no"; HW_OLS="no"; HW_RIGOL_DS1XX2="no";
+       HW_SERIAL_DMM="no"; HW_TELEINFO="no"; HW_TONDAJ_SL_814="no"])
+
+# Define HAVE_LIBSERIALPORT in config.h if we found libserialport.
+if test "x$have_libserialport" != "xno"; then
+       AC_DEFINE_UNQUOTED(HAVE_LIBSERIALPORT, [1],
+               [Specifies whether we have libserialport.])
+fi
+
+# Serial port helper code is only compiled in if libserialport was found.
+AM_CONDITIONAL(NEED_SERIAL, test "x$have_libserialport" != xno)
+
 # libusb-1.0 is only needed for some hardware drivers. Disable the respective
 # drivers if it is not found.
 case "$host" in
@@ -416,6 +438,11 @@ if test "x$HW_MIC_985XX" = "xyes"; then
        AC_DEFINE(HAVE_HW_MIC_985XX, 1, [MIC 985xx support])
 fi
 
+AM_CONDITIONAL(HW_NORMA_DMM, test x$HW_NORMA_DMM = xyes)
+if test "x$HW_NORMA_DMM" = "xyes"; then
+       AC_DEFINE(HAVE_HW_NORMA_DMM, 1, [Norma DMM support])
+fi
+
 AM_CONDITIONAL(HW_OLS, test x$HW_OLS = xyes)
 if test "x$HW_OLS" = "xyes"; then
        AC_DEFINE(HAVE_HW_OLS, 1, [OpenBench Logic Sniffer (OLS) support])
@@ -426,11 +453,21 @@ if test "x$HW_RIGOL_DS1XX2" = "xyes"; then
        AC_DEFINE(HAVE_HW_RIGOL_DS1XX2, 1, [Rigol DS1xx2 support])
 fi
 
+AM_CONDITIONAL(HW_SALEAE_LOGIC16, test x$HW_SALEAE_LOGIC16 = xyes)
+if test "x$HW_SALEAE_LOGIC16" = "xyes"; then
+       AC_DEFINE(HAVE_HW_SALEAE_LOGIC16, 1, [Saleae Logic16 support])
+fi
+
 AM_CONDITIONAL(HW_SERIAL_DMM, test x$HW_SERIAL_DMM = xyes)
 if test "x$HW_SERIAL_DMM" = "xyes"; then
        AC_DEFINE(HAVE_HW_SERIAL_DMM, 1, [Serial DMM support])
 fi
 
+AM_CONDITIONAL(HW_TELEINFO, test x$HW_TELEINFO = xyes)
+if test "x$HW_TELEINFO" = "xyes"; then
+       AC_DEFINE(HAVE_HW_TELEINFO, 1, [Teleinfo support])
+fi
+
 AM_CONDITIONAL(HW_TONDAJ_SL_814, test x$HW_TONDAJ_SL_814 = xyes)
 if test "x$HW_TONDAJ_SL_814" = "xyes"; then
        AC_DEFINE(HAVE_HW_TONDAJ_SL_814, 1, [Tondaj SL-814 support])
@@ -456,11 +493,6 @@ if test "x$HW_ZEROPLUS_LOGIC_CUBE" = "xyes"; then
        AC_DEFINE(HAVE_HW_ZEROPLUS_LOGIC_CUBE, 1, [ZEROPLUS Logic Cube support])
 fi
 
-AM_CONDITIONAL(HW_SALEAE_LOGIC16, test x$HW_SALEAE_LOGIC16 = xyes)
-if test "x$HW_SALEAE_LOGIC16" = "xyes"; then
-       AC_DEFINE(HAVE_HW_SALEAE_LOGIC16, 1, [Saleae Logic16 support])
-fi
-
 # 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])
@@ -521,6 +553,7 @@ AC_CONFIG_FILES([Makefile version.h hardware/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
@@ -549,7 +582,7 @@ echo "Detected libraries:"
 echo
 
 # Note: This only works for libs with pkg-config integration.
-for lib in "glib-2.0 >= 2.32.0" "libzip >= 0.10" "libusb-1.0 >= 1.0.9" "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" "libusb-1.0 >= 1.0.9" "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)"
@@ -578,6 +611,7 @@ echo "  - kecheng-kc-330b................. $HW_KECHENG_KC_330B"
 echo "  - lascar-el-usb................... $HW_LASCAR_EL_USB"
 echo "  - link-mso19 (EXPERIMENTAL)....... $HW_LINK_MSO19"
 echo "  - mic-985xx....................... $HW_MIC_985XX"
+echo "  - norma-dmm....................... $HW_NORMA_DMM"
 echo "  - openbench-logic-sniffer......... $HW_OLS"
 echo "  - rigol-ds1xx2.................... $HW_RIGOL_DS1XX2"
 echo "  - saleae-logic16.................. $HW_SALEAE_LOGIC16"