[OSADL-svn-commits] r47 - in fddi-20070618-1-trunk: . src tests

OSADL repository commits osadl-svn-commits at lists.osadl.org
Tue Oct 2 11:44:19 CEST 2007


Author: robert
Date: Wed Jul 11 09:50:37 2007
New Revision: 47

Log:
added skeleton for libmodbus

Added:
   fddi-20070618-1-trunk/src/libfddi_libmodbus.c
   fddi-20070618-1-trunk/tests/test_fddi_libmodbus1.c
Modified:
   fddi-20070618-1-trunk/configure.ac
   fddi-20070618-1-trunk/src/GNUmakefile.am
   fddi-20070618-1-trunk/tests/GNUmakefile.am

Modified: fddi-20070618-1-trunk/configure.ac
==============================================================================
--- fddi-20070618-1-trunk/configure.ac	(original)
+++ fddi-20070618-1-trunk/configure.ac	Wed Jul 11 09:50:37 2007
@@ -117,11 +117,12 @@
 AC_MSG_CHECKING([whether to enable debugging])
 AC_ARG_ENABLE(debug,
     AS_HELP_STRING([--enable-debug], [enable debugging @<:@default=yes@:>@]),
-	[case "$enableval" in
-	y | yes) CONFIG_DEBUG=yes ;;
-        *) CONFIG_DEBUG=no ;;
+    [case "$enableval" in
+        y | yes) CONFIG_DEBUG=yes ;;
+        *)       CONFIG_DEBUG=no ;;
     esac],
-    [CONFIG_DEBUG=yes])
+    [CONFIG_DEBUG=yes]
+)
 AC_MSG_RESULT([${CONFIG_DEBUG}])
 if test "${CONFIG_DEBUG}" = "yes"; then
     CFLAGS="${CFLAGS} -Werror -Wsign-compare -Wfloat-equal -Wformat-security -g -O1"
@@ -130,6 +131,54 @@
     CFLAGS="${CFLAGS} -O2"
 fi
 
+#
+# XML parsers
+#
+AC_MSG_CHECKING([for xml parser])
+AC_ARG_WITH(xmlparser,
+    AS_HELP_STRING([--with-xmlparser], [select used xml parser; you can chose from expat,
+	libxml2 or auto. @<:@default=libxml2@:>@]),
+    [case "$withval" in
+        expat)    CONFIG_XMLPARSER=expat ;;
+        libxml2)  CONFIG_XMLPARSER=libxml2 ;;
+        n | no)   CONFIG_XMLPARSER=no ;;
+        auto | *) CONFIG_XMLPARSER=auto ;;
+    esac],
+    [CONFIG_XMLPARSER=auto]
+)
+if test "${CONFIG_XMLPARSER}" = "auto"; then
+    AC_MSG_WARN([echo "FIXME - auto test for xml parser not written yet"])
+fi
+AM_CONDITIONAL(XMLPARSER_EXPAT, test "${CONFIG_XMLPARSER}" = "expat")
+AM_CONDITIONAL(XMLPARSER_LIBXML2, test "${CONFIG_XMLPARSER}" = "libxml2")
+AC_MSG_RESULT([${CONFIG_XMLPARSER}])
+
+
+#
+# Backends
+#
+AC_MSG_CHECKING([whether to enable libmodbus backend])
+AC_ARG_ENABLE(backend-libmodbus,
+    AS_HELP_STRING([--enable-backend-libmodbus], [enable libmodbus backend @<:@default=no@:>@]),
+    [case "$enableval" in
+        y | yes) CONFIG_BACKEND_LIBMODBUS=yes ;;
+        *)       CONFIG_BACKEND_LIBMODBUS=no ;;
+        esac],
+    [CONFIG_BACKEND_LIBMODBUS=no]
+)
+AM_CONDITIONAL(BACKEND_LIBMODBUS, test "${CONFIG_BACKEND_LIBMODBUS}" = "yes")
+AC_MSG_RESULT([${CONFIG_BACKEND_LIBMODBUS}])
+
+if test "${CONFIG_BACKEND_LIBMODBUS}" = "yes"; then
+    AC_MSG_CHECKING([whether libmodbus backend finds an xml parser])
+    if test "${CONFIG_XMLPARSER}" != "libxml2"; then
+        AC_MSG_RESULT([no])
+        AC_MSG_ERROR([libmodbus backend needs libxml2, specify with --with-xmlparser])
+    else
+        AC_MSG_RESULT([yes])
+    fi
+fi
+
 
 AC_CONFIG_FILES([
 	GNUmakefile

Modified: fddi-20070618-1-trunk/src/GNUmakefile.am
==============================================================================
--- fddi-20070618-1-trunk/src/GNUmakefile.am	(original)
+++ fddi-20070618-1-trunk/src/GNUmakefile.am	Wed Jul 11 09:50:37 2007
@@ -1,10 +1,21 @@
-lib_LTLIBRARIES = libfddi.la
+BACKEND_LIBS =
+if BACKEND_LIBMODBUS
+BACKEND_LIBS += libfddi_libmodbus.la
+endif
+
+lib_LTLIBRARIES = \
+	libfddi.la \
+	$(BACKEND_LIBS)
 
 AM_CPPFLAGS = \
 	-I$(top_srcdir)/include \
 	-I$(top_builddir)/include \
 	$(INCLTDL)
 
+#
+# libfddi
+#
+
 libfddi_la_SOURCES = \
 	libfddi.c
 
@@ -16,5 +27,19 @@
 libfddi_la_LIBADD = \
 	 $(LIBLTDL)
 
+#
+# libfddi_modbusmaster
+#
+
+libfddi_libmodbus_la_SOURCES = \
+	libfddi_libmodbus.c
+
+libfddi_libmodbus_la_LIBADD = \
+	$(top_builddir)/src/libfddi.la
+
 MAINTAINERCLEANFILES = \
 	GNUmakefile.in
+
+
+
+

Added: fddi-20070618-1-trunk/src/libfddi_libmodbus.c
==============================================================================
--- (empty file)
+++ fddi-20070618-1-trunk/src/libfddi_libmodbus.c	Wed Jul 11 09:50:37 2007
@@ -0,0 +1,51 @@
+/*
+ * fddi backend for libmodbus
+ */
+
+#include <stdio.h>
+#include <osadl/fddi.h>
+
+int readconfig(fddi_iface_t *iface, const char *configfile)
+{
+	return 0;
+}
+
+int setstate(fddi_iface_t *iface, fddi_state_enum_t state)
+{
+	int retval = -1;
+
+	switch(state) {
+	case STATE_UNCONFIGURED:
+	case STATE_MISSING:
+	case STATE_CONFIG_ERROR:
+	case STATE_PREOPERATIONAL:
+	case STATE_OPERATIONAL:
+	case STATE_OPERATION_ERROR:
+		retval = 0;
+		break;
+	default:
+		break;
+	}
+
+	return retval;
+}
+
+int cmd(fddi_iface_t *iface, fddi_cmd_enum_t cmd)
+{
+	int retval = -1;
+
+	switch (cmd) {
+	case CMD_START:
+	case CMD_STOP:
+	case CMD_RESET:
+	case CMD_IDENTIFY:
+	case CMD_QUITERR:
+		retval = 0;
+		break;
+	default:
+		break;
+	}
+
+	return retval;
+}
+

Modified: fddi-20070618-1-trunk/tests/GNUmakefile.am
==============================================================================
--- fddi-20070618-1-trunk/tests/GNUmakefile.am	(original)
+++ fddi-20070618-1-trunk/tests/GNUmakefile.am	Wed Jul 11 09:50:37 2007
@@ -1,8 +1,6 @@
-TESTS = \
-	test_examplebus1 \
+BACKEND_EXAMPLEBUS_TESTS = \
 	test_fddi_examplebus1 \
 	test_fddi_examplebus_attach_backend \
-	test_fddi_versionstr \
 	test_fddi_examplebus_readconfig \
 	test_fddi_examplebus_cmd_start \
 	test_fddi_examplebus_cmd_stop \
@@ -16,26 +14,25 @@
 	test_fddi_examplebus_setstate_preoperational \
 	test_fddi_examplebus_setstate_unconfigured
 
+if BACKEND_LIBMODBUS
+BACKEND_LIBMODBUS_TESTS = \
+	test_fddi_libmodbus1
+endif
+
+TESTS = \
+	test_examplebus1 \
+	test_fddi_versionstr \
+	$(BACKEND_EXAMPLEBUS_TESTS) \
+	$(BACKEND_LIBMODBUS_TESTS)
+
 TESTS_ENVIRONMENT = \
 	LD_LIBRARY_PATH=$(top_builddir)/tests/.libs
 
 noinst_PROGRAMS = \
 	test_examplebus1 \
-	test_fddi_examplebus1 \
-	test_fddi_examplebus_attach_backend \
 	test_fddi_versionstr \
-	test_fddi_examplebus_readconfig \
-	test_fddi_examplebus_cmd_start \
-	test_fddi_examplebus_cmd_stop \
-	test_fddi_examplebus_cmd_quiterr \
-	test_fddi_examplebus_cmd_identify \
-	test_fddi_examplebus_cmd_reset \
-	test_fddi_examplebus_setstate_configerror \
-	test_fddi_examplebus_setstate_missing \
-	test_fddi_examplebus_setstate_operational \
-	test_fddi_examplebus_setstate_operation_error \
-	test_fddi_examplebus_setstate_preoperational \
-	test_fddi_examplebus_setstate_unconfigured
+	$(BACKEND_EXAMPLEBUS_TESTS)
+	$(BACKEND_LIBMODBUS_TESTS)
 
 lib_LTLIBRARIES = \
 	libexamplebus.la \
@@ -60,7 +57,7 @@
 	-module
 
 #
-# tests
+# examplebus backend
 #
 
 test_examplebus1_SOURCES = \
@@ -159,9 +156,15 @@
 test_fddi_examplebus_setstate_unconfigured_LDADD = \
 	$(top_builddir)/src/libfddi.la
 
-#fddi_la_LDFLAGS = \
-#	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
-#	-no-undefined	# win32_dll stuff only
+#
+# libmodbus backend
+#
+
+test_fddi_libmodbus1_SOURCES = \
+	test_fddi_libmodbus1.c
+
+test_fddi_libmodbus1_LDADD = \
+	$(top_builddir)/src/libfddi_libmodbus.la
 
 EXTRA_DIST = \
 	examplebus.h

Added: fddi-20070618-1-trunk/tests/test_fddi_libmodbus1.c
==============================================================================
--- (empty file)
+++ fddi-20070618-1-trunk/tests/test_fddi_libmodbus1.c	Wed Jul 11 09:50:37 2007
@@ -0,0 +1,4 @@
+int main(void)
+{
+	return 0;
+}


More information about the OSADL-svn-commits mailing list