+# libtool version: current:revision:age
+#
+# If the library source code has changed at all since the last update, then
+# increment revision (`c:r:a' becomes `c:r+1:a').
+#
+# If any interfaces have been added, removed, or changed since the last update,
+# increment current, and set revision to 0.
+#
+# If any interfaces have been added since the last public release, then
+# increment age.
+#
+# If any interfaces have been removed since the last public release, then set
+# age to 0.
+#
+# In summary:
+#
+# If any interface has been changed or removed, `c:r:a' becomes `c+1:0:0';
+# else if any interface has been added, `c:r:a' becomes `c+1:0:a+1';
+# else, `c:r:a' becomes `c:r+1:a'.
+#
+m4_define([comedilib_lt_current], [10])
+m4_define([comedilib_lt_revision], [0])
+m4_define([comedilib_lt_age], [10])
-AC_INIT
+#libscxi c:r:a
+m4_define([scxi_lt_current], [9])
+m4_define([scxi_lt_revision], [0])
+m4_define([scxi_lt_age], [9])
+
+# comedilib version: major.minor.micro
+#
+# Currently:
+# * 'major' may be incremented at the whim of the maintainers.
+# * 'minor' is libtool 'current' minus the value of 'current' when major
+# changed (comedilib_major_base_current).
+# * 'micro' is libtool 'revision'.
+
+# Manually set 'comedilib_major_base_current' to new 'comedilib_lt_current'
+# whenever 'comedilib_version_major' is incremented below.
+m4_define([comedilib_major_base_current], [0])
+
+m4_define([comedilib_version_major], [0])
+m4_define([comedilib_version_minor],
+ [m4_eval(comedilib_lt_current - comedilib_major_base_current)])
+m4_define([comedilib_version_micro], [comedilib_lt_revision])
+m4_define([comedilib_pkg_version],
+ [comedilib_version_major.comedilib_version_minor.comedilib_version_micro])
+
+AC_INIT([comedilib], [comedilib_pkg_version])
AC_CANONICAL_TARGET([])
+COMEDILIB_VERSION_MAJOR=comedilib_version_major
+COMEDILIB_VERSION_MINOR=comedilib_version_minor
+COMEDILIB_VERSION_MICRO=comedilib_version_micro
+AC_SUBST(COMEDILIB_VERSION_MAJOR)
+AC_SUBST(COMEDILIB_VERSION_MINOR)
+AC_SUBST(COMEDILIB_VERSION_MICRO)
+
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([.])
-AS_VERSION(comedilib, COMEDILIB, 0, 7, 22)
#COMEDILIB_DEBUG="-Wall -Werror"
COMEDILIB_DEBUG="-Wall"
-AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
-AS_LIBTOOL(COMEDILIB, 0, 7, 18, yes)
+AM_INIT_AUTOMAKE([-Wall -Werror])
+
+# AS_LIBTOOL arguments are (prefix, current, revision, age)
+AS_LIBTOOL(COMEDILIB, comedilib_lt_current, comedilib_lt_revision, comedilib_lt_age)
+SCXI_SO_VERSION=scxi_lt_current:scxi_lt_revision:scxi_lt_age
+AC_SUBST(SCXI_SO_VERSION)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AC_PROG_CC
+AM_PROG_CC_C_O
AC_PROG_CC_STDC
AC_ISC_POSIX
AM_PROG_LEX
AC_HEADER_STDC([])
+AX_TLS
+
COMEDILIB_CFLAGS="$COMEDILIB_CFLAGS -I\$(top_srcdir)/include $COMEDILIB_DEBUG"
COMEDILIB_LIBS="$COMEDILIB_LIBS \$(top_builddir)/lib/libcomedi.la -lm"
AC_SUBST(COMEDILIB_CFLAGS)
AC_SUBST(COMEDILIB_LIBS)
+# autoconf backwards compatibility
+if test "$datarootdir" = ""; then
+ datarootdir='${datadir}'
+ AC_SUBST(datarootdir)
+fi
+
+if test "$docdir" = ""; then
+ docdir='${datarootdir}/doc/${PACKAGE}'
+ AC_SUBST(docdir)
+fi
+
+if test "$htmldir" = ""; then
+ htmldir='${docdir}'
+ AC_SUBST(htmldir)
+fi
+
+if test "$pdfdir" = ""; then
+ pdfdir='${docdir}'
+ AC_SUBST(pdfdir)
+fi
+
#swig
AC_PATH_PROG(SWIG, swig, "no")
if test "$SWIG" == "no" ; then
AM_CONDITIONAL(BUILD_SCXI, [test "$ENABLE_SCXI" == "yes"])
# docbook
-AC_ARG_ENABLE([docbook],[ --disable-docbook-binding Disable docbook],[ENABLE_DOCBOOK=$enableval],[ENABLE_DOCBOOK="yes"])
+AC_ARG_ENABLE([docbook], [ --disable-docbook Disable docbook],[ENABLE_DOCBOOK=$enableval],[ENABLE_DOCBOOK="yes"])
if test "$ENABLE_DOCBOOK" == "yes"; then
- AC_PATH_PROG(DOCBOOK2MAN, docbook2man, no)
- if test "$DOCBOOK2MAN" = "no" ; then
- AC_MSG_WARN([docbook2man not found, will not be able to rebuild man pages])
+ AC_PATH_PROG(XMLTO, xmlto, no)
+ if test "$XMLTO" = "no" ; then
+ AC_MSG_WARN([xmlto not found, will not be able to rebuild documentation])
fi
else
- DOCBOOK2MAN="no"
+ XMLTO="no"
fi
-AM_CONDITIONAL(HAVE_DOCBOOK2MAN, [test "$DOCBOOK2MAN" != "no"])
+AM_CONDITIONAL(HAVE_XMLTO, [test "$XMLTO" != "no"])
-if test "$ENABLE_DOCBOOK" == "yes"; then
- AC_PATH_PROG(DOCBOOK2PDF, docbook2pdf, no)
- if test "$DOCBOOK2PDF" = "no" ; then
- AC_MSG_WARN([docbook2pdf not found, will not be able to rebuild pdf documentation])
- fi
-else
- DOCBOOK2PDF="no"
-fi
-AM_CONDITIONAL(HAVE_DOCBOOK2PDF, [test "$DOCBOOK2PDF" != "no"])
+pcmciadir="\${sysconfdir}/pcmcia"
+AC_SUBST(pcmciadir)
-if test "$ENABLE_DOCBOOK" == "yes"; then
- AC_PATH_PROG(DOCBOOK2HTML, docbook2html, no)
- if test "$DOCBOOK2HTML" = "no" ; then
- AC_MSG_WARN([docbook2html not found, will not be able to rebuild html documentation])
+
+# new udev hotplug
+AC_ARG_WITH([udev-hotplug], [ --with-udev-hotplug=[[/lib]] enable udev hotplug],
+ [ENABLE_UDEVHOTPLUG=$withval], [ENABLE_UDEVHOTPLUG="no"])
+AM_CONDITIONAL(INSTALL_UDEVHOTPLUG, [test "$ENABLE_UDEVHOTPLUG" != "no"])
+if test "$ENABLE_UDEVHOTPLUG" != "no"; then
+ udevrulesdir="\${sysconfdir}/udev/rules.d/"
+ if test "$ENABLE_UDEVHOTPLUG" == "yes"; then
+ AC_MSG_ERROR([udev-hotplug needs a path as an argument (usually: --enable-udev-hotplug=/lib).])
fi
+ if test "$ENABLE_UDEVHOTPLUG" != "/lib"; then
+ AC_MSG_WARN([Installing the udev scripts in the non-standard location: $ENABLE_UDEVHOTPLUG (should be --enable-udev-hotplug=/lib)])
+ fi
+ if test "$sysconfdir" != "/etc"; then
+ AC_MSG_WARN([udev hotplug works only if sysconfdir is set to /etc.])
+ fi
+ udevfirmwaredir="$ENABLE_UDEVHOTPLUG/firmware"
+ udevscriptsdir="$ENABLE_UDEVHOTPLUG/udev"
+ AC_SUBST(udevrulesdir)
+ AC_SUBST(udevfirmwaredir)
+ AC_SUBST(udevscriptsdir)
else
- DOCBOOK2HTML="no"
+ ENABLE_UDEVHOTPLUG="no"
fi
-AM_CONDITIONAL(HAVE_DOCBOOK2HTML, [test "$DOCBOOK2HTML" != "no"])
-pcmciadir="\${sysconfdir}/pcmcia"
-AC_SUBST(pcmciadir)
+# old hotplug mechanism
+AC_ARG_ENABLE([etc-hotplug], [ --enable-etc-hotplug enable old hotplug in /etc/hotplug],
+ [ENABLE_ETCHOTPLUG=$enableval], [ENABLE_ETCHOTPLUG="no"])
+AM_CONDITIONAL(INSTALL_ETCHOTPLUG, [test "$ENABLE_ETCHOTPLUG" != "no"])
+if test "$ENABLE_ETCHOTPLUG" != "no"; then
#see: http://linux-hotplug.sourceforge.net/
#the hotplug expects the device dependent scripts here:
-usbhotplugdir="\${sysconfdir}/hotplug/usb"
-AC_SUBST(usbhotplugdir)
+ usbhotplugdir="\${sysconfdir}/hotplug/usb"
+ AC_SUBST(usbhotplugdir)
#firmware for the hotplug script
#see: http://linux-hotplug.sourceforge.net/
-usbfirmwaredir="\${datadir}/usb"
-AC_SUBST(usbfirmwaredir)
+ usbfirmwaredir="\${datadir}/usb"
+ AC_SUBST(usbfirmwaredir)
+ if test "$sysconfdir" != "/etc"; then
+ AC_MSG_WARN([hotplug works only if sysconfdir is set to /etc.])
+ fi
+fi
-#documentaion goes here
-doccomedilibdir="\${datadir}/doc/libcomedi0"
-AC_SUBST(doccomedilibdir)
+if test "$ENABLE_ETCHOTPLUG" = "no" && test "$ENABLE_UDEVHOTPLUG" = "no" ; then
+ AC_MSG_WARN([No hotplug mechanism will be installed. Consult ./configure --help if you want hotplug.])
+fi
AC_CONFIG_FILES(
Makefile
comedi_config/Makefile
+c++/Makefile
+c++/include/Makefile
etc/Makefile
etc/pcmcia/Makefile
etc/hotplug/Makefile
etc/hotplug/usb/Makefile
etc/hotplug/usb/usbdux/Makefile
etc/hotplug/usb/usbduxfast/Makefile
+etc/udev/Makefile
doc/Makefile
demo/Makefile
include/Makefile
+include/comedilib_version.h
lib/Makefile
man/Makefile
scxi/Makefile