IVGCVSW-3595 Implement the LoadDynamicBackends function in the Runtime class

 * Changed the way the handle is acquired, loaded symbols are now kept local
 * Updated the makefiles to add more test files for the dynamic backends
 * Fixed the GetSharedObjects method so that the files are parsed in
   alphabetical order
 * Updated the unit tests to make them more strict wrt the order of the
   files
 * Created a new CreateDynamicBackends method in the utils class
 * Added new unit tests for the new function
 * Added LoadDynamicBackends in the Runtime class

!android-nn-driver:1707

Change-Id: I1ef9ff3d5455ca6a7fd51cb7cfb3819686234f70
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
diff --git a/src/backends/backendsCommon/test/TestDynamicBackend.hpp b/src/backends/backendsCommon/test/TestDynamicBackend.hpp
index 599ca16..74ab91b 100644
--- a/src/backends/backendsCommon/test/TestDynamicBackend.hpp
+++ b/src/backends/backendsCommon/test/TestDynamicBackend.hpp
@@ -7,7 +7,10 @@
 
 #include <cstdint>
 
-#if defined(VALID_TEST_DYNAMIC_BACKEND)
+#if defined(VALID_TEST_DYNAMIC_BACKEND_1) || \
+    defined(VALID_TEST_DYNAMIC_BACKEND_2) || \
+    defined(VALID_TEST_DYNAMIC_BACKEND_3) || \
+    defined(VALID_TEST_DYNAMIC_BACKEND_4)
 
 // Correct dynamic backend interface
 extern "C"
@@ -49,7 +52,9 @@
 
 #elif defined(INVALID_TEST_DYNAMIC_BACKEND_5) || \
       defined(INVALID_TEST_DYNAMIC_BACKEND_6) || \
-      defined(INVALID_TEST_DYNAMIC_BACKEND_7)
+      defined(INVALID_TEST_DYNAMIC_BACKEND_7) || \
+      defined(INVALID_TEST_DYNAMIC_BACKEND_8) || \
+      defined(INVALID_TEST_DYNAMIC_BACKEND_9)
 
 // The interface is correct, the corresponding invalid changes are in the TestDynamicBackend.cpp file
 const char* GetBackendId();