Fix some Windows build errors:

* Cast to correct datatype for Winsock API
* Replace non-standard u_int32_t
* Add missing link dependency of timelineDecoder on armnn
* Don't try to link pthread if the platform doesn't have it
* Use abstracted Socket type rather than int
* Link to WinSock DLL on windows

Change-Id: I9ace4af50257ce1e3da92fb4c452f36775dac973
Signed-off-by: Robert Hughes <robert.hughes@arm.com>
diff --git a/src/armnn/Graph.cpp b/src/armnn/Graph.cpp
index ea9930b..c1bf1db 100644
--- a/src/armnn/Graph.cpp
+++ b/src/armnn/Graph.cpp
@@ -378,7 +378,7 @@
 
                     // Recalculate the connection index on the previous layer as we have just inserted into it.
                     const std::vector<InputSlot*>& newSourceConnections = srcOutputSlot.GetConnections();
-                    long newSrcConnectionIndex = std::distance(newSourceConnections.begin(),
+                    auto newSrcConnectionIndex = std::distance(newSourceConnections.begin(),
                                                                std::find(newSourceConnections.begin(),
                                                                          newSourceConnections.end(),
                                                                          &compLayer->GetInputSlot(0)));
diff --git a/src/profiling/PeriodicCounterSelectionCommandHandler.cpp b/src/profiling/PeriodicCounterSelectionCommandHandler.cpp
index 4e3e6e5..bd4fa06 100644
--- a/src/profiling/PeriodicCounterSelectionCommandHandler.cpp
+++ b/src/profiling/PeriodicCounterSelectionCommandHandler.cpp
@@ -166,7 +166,7 @@
 }
 
 std::set<armnn::BackendId> PeriodicCounterSelectionCommandHandler::ProcessBackendCounterIds(
-                                                                      const u_int32_t capturePeriod,
+                                                                      const uint32_t capturePeriod,
                                                                       const std::set<uint16_t> newCounterIds,
                                                                       const std::set<uint16_t> unusedCounterIds)
 {
diff --git a/src/profiling/PeriodicCounterSelectionCommandHandler.hpp b/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
index 8a3747f..ac08cc5 100644
--- a/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
+++ b/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
@@ -91,7 +91,7 @@
         }
     }
     void ParseData(const Packet& packet, CaptureData& captureData);
-    std::set<armnn::BackendId> ProcessBackendCounterIds(const u_int32_t capturePeriod,
+    std::set<armnn::BackendId> ProcessBackendCounterIds(const uint32_t capturePeriod,
                                                         const std::set<uint16_t> newCounterIds,
                                                         const std::set<uint16_t> unusedCounterIds);
 
diff --git a/src/timelineDecoder/CMakeLists.txt b/src/timelineDecoder/CMakeLists.txt
index f844325..4702577 100644
--- a/src/timelineDecoder/CMakeLists.txt
+++ b/src/timelineDecoder/CMakeLists.txt
@@ -28,6 +28,8 @@
     set_target_properties(timelineDecoder PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
     set_target_properties(timelineDecoder PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
 
+    target_link_libraries(timelineDecoder armnn)
+
     install(TARGETS timelineDecoder
             LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
             RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})