SCons build system refactoring (phase #2).

* Add kernel selection at build time
* Modify filelist.json to allow files separation
  as part of our kernel decoupling process.

Issues to address after this change will be merged:
   (1) Remove SVE/SVE2 defines from already decoupled kernels
   (2) Adapt the new file list structure (filelist.json)

resolves COMPMID-4996 and COMPMID-5048

Change-Id: I8c17a9d6b150bbc7d8c1f2ed38060be82b6aa904
Signed-off-by: Motti Gondabi <motti.gondabi@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7006
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/SConstruct b/SConstruct
index ff53229..bae197c 100644
--- a/SConstruct
+++ b/SConstruct
@@ -249,12 +249,12 @@
     print("ERROR: armv7a architecture has only 32-bit execution state")
     Exit(1)
 
+env.Append(CPPDEFINES = ['ENABLE_NEON', 'ARM_COMPUTE_ENABLE_NEON'])
+
 if 'sve' in env['arch']:
     env.Append(CPPDEFINES = ['ENABLE_SVE', 'ARM_COMPUTE_ENABLE_SVE'])
     if 'sve2' in env['arch']:
         env.Append(CPPDEFINES = ['ARM_COMPUTE_ENABLE_SVE2'])
-else:
-    env.Append(CPPDEFINES = ['ENABLE_NEON', 'ARM_COMPUTE_ENABLE_NEON'])
 
 # Add architecture specific flags
 prefix = ""