<snip>

> 
> 16/11/2020 17:16, Bruce Richardson:
> > On Mon, Nov 16, 2020 at 03:50:31PM +0000, Juraj Linkeš wrote:
> > > From: Thomas Monjalon <tho...@monjalon.net>
> > > > 13/11/2020 15:31, Juraj Linkeš:
> > > > > 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.
> > > >
> > > > What?
> > > >
> > > > "generic" means... nothing.
> > > >
> > >
> > > An absence of anything means nothing. Generic means "characteristic of
> or relating to a class or group of things; not specific", which is pretty much
> what we're looking for.
> > >
> > > > "default" should be the most common set of options to make a build
> > > > work everywhere.
> > >
> > > What we want is a value of machine that would "be the most common
> set of options to make a build work everywhere" and using the above
> definition of generic, it fits very well.
> > > The reason I said the actual default build is machine='native' is because
> that's how the machine option is defined in meson_options.txt. It follows
> from what default actually means - "a preselected option adopted by a
> computer program or other mechanism when no alternative is specified by
> the user or programmer". Default then means no user input, which means
> machine='native', which means the default build is the default build.
> > >
> > > What ""default" should mean" looks like an attempt at redefining what
> the word actually means and leads to confusion, in my experience. Hence an
> attempt to remove the potential ambiguity.
> > >
> >
> > I would tend to agree that "generic" is probably a better term than
> > "default" for what we use it for here in the config.
> 
> In the past, we had a different definition with make config.
> I am just trying to be consistent.
> Even with meson, default means "minimal CPU instructions".
> 
> Example in devtools/test-meson-builds.sh:
> "test compilation with minimal x86 instruction set"
> is called build-x86-default.
> 
> In config/meson.build:
> "
> machine type 'default' is special, it defaults to the per arch agreed common
> minimal baseline needed for DPDK.
> 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'
> "
> 
> So, why this definition is called "generic" in meson Arm config?
The explanation above is for a build type 'default'. Whereas meson by default 
builds for build type 'native'. Also when you look at the 
config/arm/meson.build the word 'default' was used where it was not related to 
the build type default. It created lot of confusion.

From the dictionary 'default' - "a preselected option adopted by a computer 
program or other mechanism when no alternative is specified by the user or 
programmer." But, if one had to do build of type default, they have to mention 
-Dmachine=default. If nothing is mentioned, it is a build type 'native', which 
does not go along with the definition of 'default'.

But for 'generic' - "characteristic of or relating to a class or group of 
things; not specific". IMO, it better suits the explanation you have provided 
above. So, separating this machine type to 'generic' to cover the same 
definition makes more sense.

However, 'default' is still supported for backward compatibility.


> 

Reply via email to