[v5,01/11] build: alias default build as generic

Message ID 1603893845-5736-2-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Arm build options rework |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Juraj Linkeš Oct. 28, 2020, 2:03 p.m. UTC
  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

Bruce Richardson Oct. 28, 2020, 2:43 p.m. UTC | #1
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
>
  

Patch

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