COMPMID-2205: CL runtime context.

CL Interfaces implemented.
Concrete classes implemented.
One test (ActivationLayer) ported to the new interface.

Change-Id: I283808bec36ccfc2f13fe048c45cbbee698ce525
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1998
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/CL/OpenCL.cpp b/src/core/CL/OpenCL.cpp
index 1ce1b52..74c5b04 100644
--- a/src/core/CL/OpenCL.cpp
+++ b/src/core/CL/OpenCL.cpp
@@ -27,6 +27,8 @@
 #include "arm_compute/core/CL/OpenCL.h"
 #pragma GCC diagnostic pop
 
+#include "arm_compute/core/Error.h"
+
 #include <dlfcn.h>
 #include <iostream>
 
@@ -54,6 +56,7 @@
     {
         if(load(lib))
         {
+            ARM_COMPUTE_ERROR_ON_MSG(this->clBuildProgram_ptr == nullptr, "Failed to load OpenCL symbols from shared library");
             return true;
         }
     }
@@ -948,4 +951,4 @@
         }
         return nullptr;
     }
-}
\ No newline at end of file
+}