[v5,01/11] build: alias default build as generic
Checks
Commit Message
The current machine='default' build name is not descriptive. The actual
default build is machine='native'. Add an alternative string which does
the same build and better describes what we're building:
machine='generic'. Leave machine='default' for backwards compatibility.
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
config/arm/meson.build | 5 +++--
config/meson.build | 9 +++++----
2 files changed, 8 insertions(+), 6 deletions(-)
Comments
On Wed, Oct 28, 2020 at 03:03:55PM +0100, Juraj Linkeš wrote:
> The current machine='default' build name is not descriptive. The actual
> default build is machine='native'. Add an alternative string which does
> the same build and better describes what we're building:
> machine='generic'. Leave machine='default' for backwards compatibility.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
Looks good generally. Only suggestion is that the comment for the "machine"
value in meson_options.txt needs to be expanded and should describe
"generic" and "native" options.
Did you check for any documentation updates that may be needed for this?
> config/arm/meson.build | 5 +++--
> config/meson.build | 9 +++++----
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index b49203fa8..4fd32f0ca 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -1,12 +1,13 @@
> # SPDX-License-Identifier: BSD-3-Clause
> # Copyright(c) 2017 Intel Corporation.
> # Copyright(c) 2017 Cavium, Inc
> +# Copyright(c) 2020 PANTHEON.tech s.r.o.
>
> # for checking defines we need to use the correct compiler flags
> march_opt = '-march=@0@'.format(machine)
>
> arm_force_native_march = false
> -arm_force_default_march = (machine == 'default')
> +arm_force_generic_march = (machine == 'generic')
>
> flags_common_default = [
> # Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
> @@ -145,7 +146,7 @@ else
> cmd_generic = ['generic', '', '', 'default', '']
> cmd_output = cmd_generic # Set generic by default
> machine_args = [] # Clear previous machine args
> - if arm_force_default_march and not meson.is_cross_build()
> + if arm_force_generic_march and not meson.is_cross_build()
> machine = impl_generic
> impl_pn = 'default'
> elif not meson.is_cross_build()
> diff --git a/config/meson.build b/config/meson.build
> index 258b01d06..c7f7aa6e2 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -68,13 +68,14 @@ else
> machine = get_option('machine')
> endif
>
> -# machine type 'default' is special, it defaults to the per arch agreed common
> -# minimal baseline needed for DPDK.
> +# machine type 'generic' is special, it defaults to the per arch agreed common
> +# minimal baseline needed for DPDK. Machine type 'default' is also supported
> +# with the same meaning for backwards compatibility.
> # That might not be the most optimized, but the most portable version while
> # still being able to support the CPU features required for DPDK.
> # This can be bumped up by the DPDK project, but it can never be an
> # invariant like 'native'
> -if machine == 'default'
> +if machine == 'default' or machine == 'generic'
> if host_machine.cpu_family().startswith('x86')
> # matches the old pre-meson build systems default
> machine = 'corei7'
> @@ -82,7 +83,7 @@ if machine == 'default'
> machine = 'armv7-a'
> elif host_machine.cpu_family().startswith('aarch')
> # arm64 manages defaults in config/arm/meson.build
> - machine = 'default'
> + machine = 'generic'
> elif host_machine.cpu_family().startswith('ppc')
> machine = 'power8'
> endif
> --
> 2.20.1
>
@@ -1,12 +1,13 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation.
# Copyright(c) 2017 Cavium, Inc
+# Copyright(c) 2020 PANTHEON.tech s.r.o.
# for checking defines we need to use the correct compiler flags
march_opt = '-march=@0@'.format(machine)
arm_force_native_march = false
-arm_force_default_march = (machine == 'default')
+arm_force_generic_march = (machine == 'generic')
flags_common_default = [
# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
@@ -145,7 +146,7 @@ else
cmd_generic = ['generic', '', '', 'default', '']
cmd_output = cmd_generic # Set generic by default
machine_args = [] # Clear previous machine args
- if arm_force_default_march and not meson.is_cross_build()
+ if arm_force_generic_march and not meson.is_cross_build()
machine = impl_generic
impl_pn = 'default'
elif not meson.is_cross_build()
@@ -68,13 +68,14 @@ else
machine = get_option('machine')
endif
-# machine type 'default' is special, it defaults to the per arch agreed common
-# minimal baseline needed for DPDK.
+# machine type 'generic' is special, it defaults to the per arch agreed common
+# minimal baseline needed for DPDK. Machine type 'default' is also supported
+# with the same meaning for backwards compatibility.
# That might not be the most optimized, but the most portable version while
# still being able to support the CPU features required for DPDK.
# This can be bumped up by the DPDK project, but it can never be an
# invariant like 'native'
-if machine == 'default'
+if machine == 'default' or machine == 'generic'
if host_machine.cpu_family().startswith('x86')
# matches the old pre-meson build systems default
machine = 'corei7'
@@ -82,7 +83,7 @@ if machine == 'default'
machine = 'armv7-a'
elif host_machine.cpu_family().startswith('aarch')
# arm64 manages defaults in config/arm/meson.build
- machine = 'default'
+ machine = 'generic'
elif host_machine.cpu_family().startswith('ppc')
machine = 'power8'
endif