IVGCVSW-4404 Add libraries to sample dynamic backend for android
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>
Tue, 4 Feb 2020 14:45:41 +0000 (14:45 +0000)
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>
Wed, 5 Feb 2020 14:06:10 +0000 (14:06 +0000)
 * Add Boost and armnn paths
 * Add CreateBackendProfilingContext, CreateWorkloadFactory,
   CreateBackendProfilingContext

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ib36d751b15450a922c12895e292abafe06f9e7cf

src/dynamic/sample/CMakeLists.txt
src/dynamic/sample/SampleDynamicBackend.cpp

index aeb870c..65ad8a1 100644 (file)
@@ -8,6 +8,13 @@ project(sample-dynamic)
 
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
+if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+    add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
+    find_package(Boost REQUIRED COMPONENTS system filesystem)
+    include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
+    link_directories(${Boost_LIBRARY_DIRS})
+endif()
+
 list(APPEND armnnSampleDynamicBackend_sources
         SampleDynamicAdditionWorkload.cpp
         SampleDynamicAdditionWorkload.hpp
@@ -32,3 +39,8 @@ target_include_directories(Arm_SampleDynamic_backend PRIVATE ${PROJECT_SOURCE_DI
 target_include_directories(Arm_SampleDynamic_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/backends)
 target_include_directories(Arm_SampleDynamic_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/profiling)
 
+if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+    target_include_directories(Arm_SampleDynamic_backend PRIVATE ${Boost_INCLUDE_DIRS})
+    target_link_libraries(Arm_SampleDynamic_backend ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
+    target_link_libraries(Arm_SampleDynamic_backend ${ARMNN_PATH})
+endif()
index 1863c1c..b433e27 100644 (file)
@@ -41,12 +41,29 @@ public:
         return std::make_unique<SampleDynamicWorkloadFactory>();
     }
 
+    IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory(
+        class TensorHandleFactoryRegistry& /*tensorHandleFactoryRegistry*/) const override
+    {
+        return IWorkloadFactoryPtr{};
+    }
+
+    IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext(
+        const IRuntime::CreationOptions&, armnn::profiling::IBackendProfiling&) const override
+    {
+        return IBackendProfilingContextPtr{};
+    }
+
     IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override
     {
         static ILayerSupportSharedPtr layerSupport{new SampleDynamicLayerSupport};
         return layerSupport;
     }
 
+    std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override
+    {
+        return std::vector<ITensorHandleFactory::FactoryId>();
+    }
+
     IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override
     {
         return IBackendContextPtr{};
@@ -60,7 +77,6 @@ public:
 
         return optimizationViews;
     }
-
 };
 
 } // namespace armnn