aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/DynamicBackendUtils.hpp
diff options
context:
space:
mode:
authorRob Hughes <robert.hughes@arm.com>2019-08-23 10:11:58 +0100
committerRob Hughes <robert.hughes@arm.com>2019-08-23 09:16:16 +0000
commit91e1d89ad35ad081a4d5995d541791fbefdb3060 (patch)
tree57022df335b5ccd38aa697394f97d12e6bfd3db5 /src/backends/backendsCommon/DynamicBackendUtils.hpp
parent1cd451cdd818e7df83cf60935abc54345fbc40e6 (diff)
downloadarmnn-91e1d89ad35ad081a4d5995d541791fbefdb3060.tar.gz
Fix Windows build:
* CMake "install" commands require a RUNTIME argument for platforms with DLLs (e.g. Windows). * Replace use of non-standard variable length array with vector * Remove unnecessary #include of unistd.h * Add #ifdefs to dynamic backend code to disable for non-Unix platforms where you can't use dlopen etc. We could implement this properly for Windows later using LoadLibrary etc., but for now erroring is fine. * Add missing #include of <algorithm> Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb
Diffstat (limited to 'src/backends/backendsCommon/DynamicBackendUtils.hpp')
-rw-r--r--src/backends/backendsCommon/DynamicBackendUtils.hpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backends/backendsCommon/DynamicBackendUtils.hpp b/src/backends/backendsCommon/DynamicBackendUtils.hpp
index 0aa0ac8da5..6d9f11d215 100644
--- a/src/backends/backendsCommon/DynamicBackendUtils.hpp
+++ b/src/backends/backendsCommon/DynamicBackendUtils.hpp
@@ -10,11 +10,13 @@
#include <armnn/Exceptions.hpp>
+#include <boost/format.hpp>
+
#include <string>
-#include <dlfcn.h>
#include <vector>
-
-#include <boost/format.hpp>
+#if defined(__unix__)
+#include <dlfcn.h>
+#endif
#if !defined(DYNAMIC_BACKEND_PATHS)
#define DYNAMIC_BACKEND_PATHS ""
@@ -58,6 +60,7 @@ private:
template<typename EntryPointType>
EntryPointType DynamicBackendUtils::GetEntryPoint(const void* sharedObjectHandle, const char* symbolName)
{
+#if defined(__unix__)
if (sharedObjectHandle == nullptr)
{
throw RuntimeException("GetEntryPoint error: invalid handle");
@@ -75,6 +78,9 @@ EntryPointType DynamicBackendUtils::GetEntryPoint(const void* sharedObjectHandle
}
return entryPoint;
+#else
+ throw RuntimeException("Dynamic backends not supported on this platform");
+#endif
}
} // namespace armnn