Index: source/services/ariba_dht/CMakeLists.txt
===================================================================
--- source/services/ariba_dht/CMakeLists.txt	(revision 10700)
+++ source/services/ariba_dht/CMakeLists.txt	(revision 10700)
@@ -0,0 +1,97 @@
+# [License]
+# The Ariba-Underlay Copyright
+#
+# Copyright (c) 2008-2012, Institute of Telematics, UniversitÃ€t Karlsruhe (TH)
+#
+# Institute of Telematics
+# UniversitÃ€t Karlsruhe (TH)
+# Zirkel 2, 76128 Karlsruhe
+# Germany
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation
+# are those of the authors and should not be interpreted as representing
+# official policies, either expressed or implied, of the Institute of
+# Telematics.
+# [License]
+
+######################################################
+### Increment this whenever the interface changes! ###
+######################################################
+set(ariba_dht_SOVERSION 1)
+######################################################
+
+# Find Boost
+find_package(BoostAdditionalVersions QUIET)
+if(NOT DEFINED BoostAdditionalVersions_FOUND)
+    message(WARNING "Could not find FindBoostAdditionalVersions.cmake. "
+        "This might cause the Boost detection to fail")
+endif()
+find_package(Boost 1.42.0 REQUIRED COMPONENTS system)
+mark_as_advanced(Boost_DIR)
+
+include_directories(${Boost_INCLUDE_DIRS})
+
+
+# Include ariba header files
+include_directories("${ariba_SOURCE_DIR}/source/" "${ariba_BINARY_DIR}/source/")
+
+
+include(BuildSharedAndStaticLib)
+
+set(ariba_dht_HEADERS
+    Dht.h
+    DhtAnswerInterface.h
+    )
+
+set(ariba_dht_SOURCES
+    Dht.cpp
+    messages/DhtMessage.cpp
+    messages/DhtMessage.h
+    ${ariba_dht_HEADERS}
+    )
+
+set(ariba_dht_LINK_LIBRARIES ariba ${Boost_LIBRARIES})
+set(ariba_dht_VERSION ${ariba_VERSION})
+# ariba_dht_SOVERSION already defined above
+
+build_shared_and_static_libs(ariba_dht)
+
+
+# Installation stuff
+install(TARGETS ariba_dht ${ariba_dht_STATIC_TARGET} EXPORT ariba-targets
+    LIBRARY DESTINATION lib COMPONENT Runtime
+    ARCHIVE DESTINATION lib COMPONENT Development
+    RUNTIME DESTINATION bin COMPONENT Runtime
+    )
+
+install(FILES ${ariba_dht_HEADERS}
+    DESTINATION include/ariba_dht
+    COMPONENT Development
+    )
+
+# Make libariba_dht usable from build tree.
+export(TARGETS ariba_dht ${ariba_dht_STATIC_TARGET}
+    APPEND FILE "${ariba_BINARY_DIR}/ariba-exports.cmake"
+    )
Index: source/services/ariba_dht/Dht.cpp
===================================================================
--- source/services/dht/Dht.cpp	(revision 10653)
+++ source/services/ariba_dht/Dht.cpp	(revision 10700)
@@ -7,4 +7,5 @@
 
 #include "Dht.h"
+#include "messages/DhtMessage.h"
 #include <boost/date_time/time_clock.hpp>
 
Index: source/services/ariba_dht/Dht.h
===================================================================
--- source/services/dht/Dht.h	(revision 10653)
+++ source/services/ariba_dht/Dht.h	(revision 10700)
@@ -12,5 +12,4 @@
 #include "ariba/utility/system/SystemQueue.h"
 #include "ariba/utility/logging/Logging.h"
-#include "messages/DhtMessage.h"
 #include "DhtAnswerInterface.h"
 #include <boost/date_time/posix_time/posix_time.hpp>
@@ -25,4 +24,7 @@
 using ariba::utility::SystemEventType;
 using ariba::utility::SystemEventListener;
+
+// Forward declarations to avoid adding messages/*.h to the public interface
+class DhtMessage;
 
 #define MEET_REPUBLISH_INTERVAL 10
@@ -135,6 +137,4 @@
     
     
-    virtual void handle_dht_message(const DhtMessage& message, const NodeID& source);
-
     /*** SystemEventListener interface ***/
     virtual void handleSystemEvent( const SystemEvent& event );
@@ -173,4 +173,6 @@
 
 private:
+    void handle_dht_message(const DhtMessage& message, const NodeID& source);
+    
     void answer_dht_request(const std::string& key, const NodeID& source);
     void send_meet_message(const std::string& key, const std::string& value);
Index: source/services/ariba_dht/Makefile.am
===================================================================
--- source/services/dht/Makefile.am	(revision 10653)
+++ 	(revision )
@@ -1,60 +1,0 @@
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-lib_LTLIBRARIES = libariba_dht.la
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# read the autotools book 11.4 for setting the versioning number
-# this is different from normal versioning schemes and important
-# to set correctly as the runtime linker chooses the correct lib
-# depending on the versioning information here! This is not the
-# project version number!!
-
-libariba_dht_la_LDFLAGS =  -version-info 1:0:0
-
-# compiler flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_CPPFLAGS     = -DLINUX -D_LINUX -I../../ -D_REENTRANT
-AM_CPPFLAGS    += $(BOOST_CPPFLAGS)
-
-if DEBUG
-AM_CPPFLAGS    += -ggdb -DDEBUG -D_DEBUG -O0
-endif
-
-if PROFILING
-AM_CPPFLAGS    += -pg
-endif
-
-if OMNET
-AM_CPPFLAGS    += -fPIC -DUNDERLAY_OMNET
-endif
-
-# linker flags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-AM_LDFLAGS      = -L../../ariba -lariba
-AM_LDFLAGS     += $(BOOST_SYSTEM_LDFLAGS)
-LIBS           += $(BOOST_SYSTEM_LIBS)
-
-if PROFILING
-AM_LDFLAGS     += -pg
-endif
-
-if OMNET
-AM_LDFLAGS     += -shared -rdynamic
-endif
-
-# sources ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-libariba_dht_ladir = ${pkgincludedir}
-
-#needed to fix autotools bug
-ariba_dht_CPPFLAGS = $(AM_CPPFLAGS)
-
-libariba_dht_la_SOURCES = \
-  Dht.cpp \
-  messages/DhtMessage.cpp
-
-nobase_libariba_dht_la_HEADERS = \
-  Dht.h \
-  messages/DhtMessage.h \
-  DhtAnswerInterface.h
-
