COMPMID-3684: Use case data type decoupling

Decouples data types for NEFloorKernel

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I6756300540bc5ef32a9990246eed8619a76855f2
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4084
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/SConstruct b/SConstruct
index ab55daa..985f34c 100644
--- a/SConstruct
+++ b/SConstruct
@@ -65,6 +65,7 @@
     #FIXME Remove before release (And remove all references to INTERNAL_ONLY)
     BoolVariable("internal_only", "Enable ARM internal only tests", False),
     ListVariable("custom_options", "Custom options that can be used to turn on/off features", "none", ["disable_mmla_fp"]),
+    ListVariable("data_type_support", "Enable a list of data types to support", "all", ["fp16", "fp32"]),
     ("toolchain_prefix", "Override the toolchain prefix", ""),
     ("compiler_prefix", "Override the compiler prefix", ""),
     ("extra_cxx_flags", "Extra CXX flags to be appended to the build command", ""),
@@ -282,6 +283,12 @@
         if compiler_ver == '4.8.3':
             env.Append(CXXFLAGS = ['-Wno-array-bounds'])
 
+if env['data_type_support']:
+    if any(i in env['data_type_support'] for i in ['all', 'fp16']):
+        env.Append(CXXFLAGS = ['-DENABLE_FP16_KERNELS'])
+    if any(i in env['data_type_support'] for i in ['all', 'fp32']):
+        env.Append(CXXFLAGS = ['-DENABLE_FP32_KERNELS'])
+
 if env['standalone']:
     env.Append(CXXFLAGS = ['-fPIC'])
     env.Append(LINKFLAGS = ['-static-libgcc','-static-libstdc++'])
@@ -343,7 +350,6 @@
 
 Export('version_at_least')
 
-
 if env['gles_compute'] and env['os'] != 'android':
     env.Append(CPPPATH = ['#/include/linux'])