Set flags in one loop. Append flags to a list and use the list in the
loop.

Signed-off-by: Juraj Linkeš <juraj.lin...@pantheon.tech>
---
 config/arm/meson.build | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index c970c8803..133a0d7fd 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -186,34 +186,32 @@ else
                implementer_config = get_variable('implementer_' + 
implementer_id)
        endif
 
-       # Apply Common Defaults. These settings may be overwritten by machine
-       # settings later.
-       foreach flag: flags_common_default
-               if flag.length() > 0
-                       dpdk_conf.set(flag[0], flag[1])
-               endif
-       endforeach
+       message('Arm implementer: ' + implementer_config[0])
+       message('Arm part number: ' + part_number)
 
-       message('Implementer : ' + implementer_config[0])
-       foreach flag: implementer_config[1]
-               if flag.length() > 0
-                       dpdk_conf.set(flag[0], flag[1])
-               endif
-       endforeach
+       # use default flags with implementer flags
+       dpdk_flags = flags_common_default + implementer_config[1]
 
+       machine_args = [] # Clear previous machine args
        foreach marg: implementer_config[2]
                if marg[0] == part_number
+                       # apply supported machine args
                        foreach flag: marg[1]
                                if cc.has_argument(flag)
                                        machine_args += flag
                                endif
                        endforeach
-                       # Apply any extra machine specific flags.
-                       foreach flag: marg.get(2, [])
-                               if flag.length() > 0
-                                       dpdk_conf.set(flag[0], flag[1])
-                               endif
-                       endforeach
+                       if marg.length() > 2
+                               # add extra flags for the part
+                               dpdk_flags += marg[2]
+                       endif
+               endif
+       endforeach
+
+       # apply flags
+       foreach flag: dpdk_flags
+               if flag.length() > 0
+                       dpdk_conf.set(flag[0], flag[1])
                endif
        endforeach
 endif
-- 
2.20.1

Reply via email to