Add Multi ISA support for SCons build System (part #1)

- Enhance the SCons build system to support V8
  SVE/SVE2 achitecture in a single binary

- Add additional filedefs.json to include build definitions

Resolves: COMPMID-4921

Signed-off-by: Motti Gondabi <motti.gondabi@arm.com>
Change-Id: Ie3c0ef444303270ba560ca3f43c6e22d50b86679
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6689
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/filedefs.json b/filedefs.json
new file mode 100644
index 0000000..0bc030e
--- /dev/null
+++ b/filedefs.json
@@ -0,0 +1,41 @@
+{
+    "cpu": {
+        "arch" : {
+            "armv8-a": {
+                "cxxflags": ["-march=armv8.2-a"]
+            },
+            "armv8.2-a": {
+                "cxxflags": ["-march=armv8.2-a+fp16"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16"]
+            },
+            "armv8.2-a-sve": {
+                "cxxflags": ["-march=armv8.2-a+sve+fp16+dotprod"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16", "ARM_COMPUTE_ENABLE_BF16",
+                               "ARM_COMPUTE_ENABLE_I8MM", "ARM_COMPUTE_ENABLE_SVEF32MM"]
+            },
+            "armv8.2-a-sve2": {
+                "cxxflags": ["-march=armv8.2-a+sve2+fp16+dotprod"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16", "ARM_COMPUTE_ENABLE_BF16",
+                               "ARM_COMPUTE_ENABLE_I8MM", "ARM_COMPUTE_ENABLE_SVEF32MM"]
+            },
+            "armv8r64": {
+                "cxxflags": ["-march=armv8.4-a"]
+            },
+            "armv8.6-a": {
+                "cxxflags": ["-march=armv8.6-a+fp16"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16"]
+            },
+            "armv8.6-a-sve": {
+                "cxxflags": ["-march=armv8.6-a+sve+fp16+dotprod"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16", "ARM_COMPUTE_ENABLE_BF16",
+                               "ARM_COMPUTE_ENABLE_I8MM"]
+            },
+            "armv8.6-a-sve2": {
+                "cxxflags": ["-march=armv8.6-a+sve2+fp16+dotprod"],
+                "cppdefines": ["ARM_COMPUTE_ENABLE_FP16", "ARM_COMPUTE_ENABLE_BF16",
+                               "ARM_COMPUTE_ENABLE_I8MM"]
+
+            }
+        }
+    }
+}