COMPMID-2646: Wrap thread-related structure to ease bare-metal support

Wraps "lock_guard" and "unique_lock" to ease bare-metal support.
Adds basic armclang compilation flow.

Change-Id: I44ccd042652acd6a9b442c57c879db3891abb0e2
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1923
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/NEON/NEMath.inl b/arm_compute/core/NEON/NEMath.inl
index eebcdf8..61315e8 100644
--- a/arm_compute/core/NEON/NEMath.inl
+++ b/arm_compute/core/NEON/NEMath.inl
@@ -21,9 +21,12 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-
 #include <cmath>
 
+#ifndef M_PI
+#define M_PI (3.14159265358979323846)
+#endif // M_PI
+
 namespace arm_compute
 {
 /** Exponent polynomial coefficients */