build: use default flags for default Arm machine
authorLuca Boccassi <bluca@debian.org>
Wed, 20 Mar 2019 13:18:01 +0000 (13:18 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 17 Apr 2019 20:28:39 +0000 (22:28 +0200)
When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org
Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
config/arm/meson.build

index 22a062b..431f03e 100644 (file)
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = (machine == 'default')
 
 flags_common_default = [
        # Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
@@ -120,7 +121,10 @@ else
        cmd_generic = ['generic', '', '', 'default', '']
        cmd_output = cmd_generic # Set generic by default
        machine_args = [] # Clear previous machine args
-       if not meson.is_cross_build()
+       if arm_force_default_march and not meson.is_cross_build()
+               machine = impl_generic
+               impl_pn = 'default'
+       elif not meson.is_cross_build()
                # The script returns ['Implementer', 'Variant', 'Architecture',
                # 'Primary Part number', 'Revision']
                detect_vendor = find_program(join_paths(