* fix for package building with lower cmake versions
authorchristian mueller <christian.ei.mueller@bmw.de>
Wed, 18 Jan 2012 12:28:09 +0000 (13:28 +0100)
committerchristian mueller <christian.ei.mueller@bmw.de>
Wed, 18 Jan 2012 13:01:48 +0000 (14:01 +0100)
* fix DBus interface to be GLIB tolerant 32bit types

CMakeLists.txt
PluginCommandInterfaceDbus/src/DBusMessageHandler.cpp
cmake/config.cmake
includes/config.h

index 9c156fc..2bb1046 100644 (file)
@@ -61,6 +61,12 @@ OPTION( WITH_PPOLL
 
 OPTION( WITH_TELNET
        "build with Telnetserver" OFF)
+       
+OPTION ( USE_BUILD_LIBS
+       "build with default library path = build path" ON)
+       
+OPTION ( GLIB_DBUS_TYPES_TOLERANT
+    "build dbus with tolerance towards glib 16bit/32bit handling" ON)
 
 #Can be changed via passing -DDBUS_SERVICE_PREFIX="XXX" to cmake
 IF(NOT DEFINED DBUS_SERVICE_PREFIX)
@@ -205,6 +211,7 @@ ENDFOREACH(dep)
 STRING(REGEX REPLACE ".$" "" dev_DEPENDENCIES ${dev_DEPENDENCIES})
 
 list(REMOVE_DUPLICATES ALL_DEPEND)
+list(REMOVE_ITEM ALL_DEPEND "audiomanager-bin")
 FOREACH (dep ${ALL_DEPEND})
        SET(all_DEPENDENCIES "${dep} ,${all_DEPENDENCIES}")
 ENDFOREACH(dep)
@@ -212,25 +219,36 @@ STRING(REGEX REPLACE ".$" "" all_DEPENDENCIES ${all_DEPENDENCIES})
 execute_process(COMMAND cp ${CMAKE_MODULE_PATH}/add_package_dependencies.sh ${CMAKE_CURRENT_BINARY_DIR})
 
 #component based dep package generation is only supported above 2.8.5
-IF (${CMAKE_VERSION} VERSION_GREATER 2.8.4)
+IF (${CMAKE_VERSION} VERSION_GREATER 2.9.4)
 
        SET(CPACK_COMPONENTS_ALL bin sampleplugins tests dev)
        SET(CPACK_COMPONENTS_IGNORE_GROUPS 1)
-       SET(CPACK_RPM_COMPONENT_INSTALL ON)
        SET(CPACK_DEB_COMPONENT_INSTALL ON)
        ADD_CUSTOM_TARGET(genivi_package 
+               COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=ON
                COMMAND make package
                COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-bin.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${bin_DEPENDENCIES}\"
                COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-sampleplugins.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${sampleplugins_DEPENDENCIES}\"
                COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-tests.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${tests_DEPENDENCIES}\"
                COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux-dev.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${dev_DEPENDENCIES}\"
        ) 
-ELSE (${CMAKE_VERSION} VERSION_GREATER 2.8.4)
-       ADD_CUSTOM_TARGET(genivi_package 
-               COMMAND make package
-               COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${all_DEPENDENCIES}\"
-       )
-ENDIF (${CMAKE_VERSION} VERSION_GREATER 2.8.4)
+ELSE (${CMAKE_VERSION} VERSION_GREATER 2.9.4)
+       IF(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+               ADD_CUSTOM_TARGET(genivi_package 
+                       COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=ON
+                       COMMAND make package
+                       COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${all_DEPENDENCIES}\"
+               )
+       ELSE(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+               ADD_CUSTOM_TARGET(genivi_package 
+                       COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR} -DUSE_BUILD_LIBS=ON
+                       COMMAND make package
+                       COMMAND mkdir -p ../${CPACK_OUTPUT_FILE_PREFIX}
+                       COMMAND mv ${CMAKE_CURRENT_BINARY_DIR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX}
+                       COMMAND ${CMAKE_CURRENT_BINARY_DIR}/add_package_dependencies.sh ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Linux.deb ${CPACK_OUTPUT_FILE_PREFIX} \"${all_DEPENDENCIES}\"
+               )
+       ENDIF(${CMAKE_VERSION} VERSION_GREATER 2.8.3)
+ENDIF (${CMAKE_VERSION} VERSION_GREATER 2.9.4)
 
 INCLUDE(CPack)
 
index 856dbd0..adc157f 100644 (file)
@@ -171,7 +171,11 @@ dbus_uint16_t DBusMessageHandler::getUInt()
 {
     dbus_uint16_t param;
 
+#ifdef GLIB_DBUS_TYPES_TOLERANT
+    if (DBUS_TYPE_UINT16 != dbus_message_iter_get_arg_type(&mDBusMessageIter) && DBUS_TYPE_UINT32 != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+#else
     if (DBUS_TYPE_UINT16 != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+#endif
     {
        DLT_LOG(DLT_CONTEXT,DLT_LOG_ERROR, DLT_STRING("DBusMessageHandler::getUInt DBUS handler argument is no uint16_t!"));
        mErrorName=std::string(DBUS_ERROR_INVALID_ARGS);
@@ -189,7 +193,11 @@ dbus_int16_t DBusMessageHandler::getInt()
 {
     dbus_int16_t param;
 
+#ifdef GLIB_DBUS_TYPES_TOLERANT
+    if (DBUS_TYPE_INT16 != dbus_message_iter_get_arg_type(&mDBusMessageIter) && DBUS_TYPE_INT32 != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+#else
     if (DBUS_TYPE_INT16 != dbus_message_iter_get_arg_type(&mDBusMessageIter))
+#endif
     {
        DLT_LOG(DLT_CONTEXT,DLT_LOG_ERROR, DLT_STRING("DBusMessageHandler::getInt DBUS handler argument is no int16_t!"));
        mErrorName=std::string(DBUS_ERROR_INVALID_ARGS);
index a0856db..c753c32 100644 (file)
@@ -8,6 +8,7 @@
 #cmakedefine WITH_SIMPLEDBUS_LOOP 
 #cmakedefine WITH_PPOLL
 #cmakedefine WITH_TELNET
+#cmakedefine GLIB_DBUS_TYPES_TOLERANT
 
 #cmakedefine DEFAULT_PLUGIN_COMMAND_DIR "@DEFAULT_PLUGIN_COMMAND_DIR@"
 #cmakedefine DEFAULT_PLUGIN_ROUTING_DIR "@DEFAULT_PLUGIN_ROUTING_DIR@"
index 193da1c..db5b56d 100644 (file)
@@ -1,17 +1,18 @@
 #ifndef _CONFIG_H
 #define _CONFIG_H
 
-#define DAEMONVERSION "ver-0.0.1-8-g126870e"
+#define DAEMONVERSION "ver-0.0.1-11-g64ba8be"
 
 #define WITH_DBUS_WRAPPER
 #define WITH_SOCKETHANDLER_LOOP 
 /* #undef WITH_SIMPLEDBUS_LOOP */
 #define WITH_PPOLL
 /* #undef WITH_TELNET */
+/* #undef GLIB_DBUS_TYPES_TOLERANT */
 
-#define DEFAULT_PLUGIN_COMMAND_DIR "/usr/local/lib/audioManager/command"
-#define DEFAULT_PLUGIN_ROUTING_DIR "/usr/local/lib/audioManager/routing"
-#define CONTROLLER_PLUGIN "/usr/local/lib/audioManager/control/libPluginControlInterface.so"
+#define DEFAULT_PLUGIN_COMMAND_DIR "/home/christian/workspace/AudioManager/bin/plugins/command"
+#define DEFAULT_PLUGIN_ROUTING_DIR "/home/christian/workspace/AudioManager/bin/plugins/routing"
+#define CONTROLLER_PLUGIN "/home/christian/workspace/AudioManager/bin/plugins/control/libPluginControlInterface.so"
 
 #define DEFAULT_TELNETPORT 6060
 #define MAX_TELNETCONNECTIONS 3
@@ -19,6 +20,6 @@
 #define DBUS_SERVICE_PREFIX "org.genivi.audiomanager"
 #define DBUS_SERVICE_OBJECT_PATH "/org/genivi/audiomanager"
 
-#define INTROSPECTION_COMMAND_XML_FILE "/home/christian/workspace/gitserver/includes/dbus/CommandInterface.xml"
+#define INTROSPECTION_COMMAND_XML_FILE "/home/christian/workspace/AudioManager/includes/dbus/CommandInterface.xml"
 
 #endif /* _CONFIG_H */