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 marchine=default at configuration time. Fixes: b1d48c41189a ("build: support ARM with meson") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- config/arm/meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index dae55d6b2..fa21a2fd2 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -6,6 +6,7 @@ march_opt = '-march=@0@'.format(machine) arm_force_native_march = false +arm_force_default_march = machine == 'default' machine_args_generic = [ ['default', ['-march=armv8-a+crc+crypto']], @@ -105,7 +106,11 @@ 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 + cmd_output = cmd_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( -- 2.19.2
On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote: > 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 marchine=default typo: marchine > at configuration time. > > Fixes: b1d48c41189a ("build: support ARM with meson") > Cc: stable@dpdk.org > > Signed-off-by: Luca Boccassi <bluca@debian.org> > --- > config/arm/meson.build | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/config/arm/meson.build b/config/arm/meson.build > index dae55d6b2..fa21a2fd2 100644 > --- a/config/arm/meson.build > +++ b/config/arm/meson.build > @@ -6,6 +6,7 @@ > march_opt = '-march=@0@'.format(machine) > > arm_force_native_march = false > +arm_force_default_march = machine == 'default' Do we need a new variable here? Given it only seems to be used once below, I think just having the boolean expression directly in the if statement is clearer. If you do keep the variable, suggest putting braces around the comparison, otherwise at first glance it looks like a chained assignment like you get in C e.g. x = y = 0; > > machine_args_generic = [ > ['default', ['-march=armv8-a+crc+crypto']], > @@ -105,7 +106,11 @@ 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 > + cmd_output = cmd_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( > -- > 2.19.2 > With these comments, looks ok to me from a meson viewpoint. I think an ack from the arm side would be good to get too though. Acked-by: Bruce Richardson <bruce.richardson@intel.com>
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> --- v2: fix typo in commit message, remove variable used only once config/arm/meson.build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index dae55d6b2..f15ef6385 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -105,7 +105,11 @@ 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 machine == 'default' and not meson.is_cross_build() + machine = impl_generic + cmd_output = cmd_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( -- 2.20.1
On Mon, 2019-01-07 at 12:24 +0000, Bruce Richardson wrote:
> On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote:
> > 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
> > marchine=default
>
> typo: marchine
>
> > at configuration time.
> >
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > config/arm/meson.build | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..fa21a2fd2 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> > march_opt = '-march=@0@'.format(machine)
> >
> > arm_force_native_march = false
> > +arm_force_default_march = machine == 'default'
>
> Do we need a new variable here? Given it only seems to be used once
> below,
> I think just having the boolean expression directly in the if
> statement is
> clearer. If you do keep the variable, suggest putting braces around
> the
> comparison, otherwise at first glance it looks like a chained
> assignment
> like you get in C e.g. x = y = 0;
>
> >
> > machine_args_generic = [
> > ['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ 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
> > + cmd_output = cmd_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(
> > --
> > 2.19.2
> >
>
> With these comments, looks ok to me from a meson viewpoint. I think
> an ack
> from the arm side would be good to get too though.
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Fixed typo, removed variable and added the arm maintainers to CC in v2,
thanks.
--
Kind regards,
Luca Boccassi
On Mon, 2019-01-07 at 12:24 +0000, Bruce Richardson wrote:
> On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote:
> > 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
> > marchine=default
>
> typo: marchine
>
> > at configuration time.
> >
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > config/arm/meson.build | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..fa21a2fd2 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> > march_opt = '-march=@0@'.format(machine)
> >
> > arm_force_native_march = false
> > +arm_force_default_march = machine == 'default'
>
> Do we need a new variable here? Given it only seems to be used once
> below,
> I think just having the boolean expression directly in the if
> statement is
> clearer. If you do keep the variable, suggest putting braces around
> the
> comparison, otherwise at first glance it looks like a chained
> assignment
> like you get in C e.g. x = y = 0;
Eheh it looks like I was a bit too hasty - I now remember that the main
reason I added a new variable is that the "machine" variable gets
overridden just before the if branch, so the original value is lost. I
could refactor and rename, but that would be more intrusive so I had
opted to just do what was already done for the other "force" case.
--
Kind regards,
Luca Boccassi
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> --- v2: fix typo in commit message, remove variable used only once v3: put back temporary variable, as "machine" gets overwritten by the function and loses the original value before we need it. config/arm/meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index dae55d6b2..614139534 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -6,6 +6,7 @@ march_opt = '-march=@0@'.format(machine) arm_force_native_march = false +arm_force_default_march = (machine == 'default') machine_args_generic = [ ['default', ['-march=armv8-a+crc+crypto']], @@ -105,7 +106,11 @@ 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 + cmd_output = cmd_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( -- 2.20.1
On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> 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>
> ---
> v2: fix typo in commit message, remove variable used only once
> v3: put back temporary variable, as "machine" gets overwritten
> by the function and loses the original value before we need
> it.
>
> config/arm/meson.build | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..614139534 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
> march_opt = '-march=@0@'.format(machine)
>
> arm_force_native_march = false
> +arm_force_default_march = (machine == 'default')
>
> machine_args_generic = [
> ['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ 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
> + cmd_output = cmd_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(
Any chance for a quick review from the arm maintainers/devs? Thanks!
--
Kind regards,
Luca Boccassi
On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> External Email
>
> -------------------------------------------------------------------
> ---
> On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > 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>
> > ---
> > v2: fix typo in commit message, remove variable used only once
> > v3: put back temporary variable, as "machine" gets overwritten
> > by the function and loses the original value before we need
> > it.
> >
> > config/arm/meson.build | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..614139534 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> > march_opt = '-march=@0@'.format(machine)
> >
> > arm_force_native_march = false
> > +arm_force_default_march = (machine == 'default')
> >
> > machine_args_generic = [
> > ['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ 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
> > + cmd_output = cmd_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(
>
> Any chance for a quick review from the arm maintainers/devs? Thanks!
Looks good.
Could you please document the procedure to build generic image some
where in the DPDK documentation.
I guess the procedure will be same for x86 and arm64. Right?
On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > External Email
> >
> > -------------------------------------------------------------------
> > ---
> > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > 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>
> > > ---
> > > v2: fix typo in commit message, remove variable used only once
> > > v3: put back temporary variable, as "machine" gets overwritten
> > > by the function and loses the original value before we need
> > > it.
> > >
> > > config/arm/meson.build | 7 ++++++-
> > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > index dae55d6b2..614139534 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -6,6 +6,7 @@
> > > march_opt = '-march=@0@'.format(machine)
> > >
> > > arm_force_native_march = false
> > > +arm_force_default_march = (machine == 'default')
> > >
> > > machine_args_generic = [
> > > ['default', ['-march=armv8-a+crc+crypto']],
> > > @@ -105,7 +106,11 @@ 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
> > > + cmd_output = cmd_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(
> >
> > Any chance for a quick review from the arm maintainers/devs?
> > Thanks!
>
> Looks good.
>
> Could you please document the procedure to build generic image some
> where in the DPDK documentation.
>
> I guess the procedure will be same for x86 and arm64. Right?
The "machine" meson option is already described in meson_options.txt,
is that enough?
--
Kind regards,
Luca Boccassi
On Mon, 2019-01-14 at 09:58 +0000, Luca Boccassi wrote: > On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote: > > On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote: > > > External Email > > > > > > --------------------------------------------------------------- > > > ---- > > > --- > > > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote: > > > > 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> > > > > --- > > > > v2: fix typo in commit message, remove variable used only once > > > > v3: put back temporary variable, as "machine" gets overwritten > > > > by the function and loses the original value before we need > > > > it. > > > > > > > > config/arm/meson.build | 7 ++++++- > > > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build > > > > index dae55d6b2..614139534 100644 > > > > --- a/config/arm/meson.build > > > > +++ b/config/arm/meson.build > > > > @@ -6,6 +6,7 @@ > > > > march_opt = '-march=@0@'.format(machine) > > > > > > > > arm_force_native_march = false > > > > +arm_force_default_march = (machine == 'default') > > > > > > > > machine_args_generic = [ > > > > ['default', ['-march=armv8-a+crc+crypto']], > > > > @@ -105,7 +106,11 @@ 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 > > > > + cmd_output = cmd_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( > > > > > > Any chance for a quick review from the arm maintainers/devs? > > > Thanks! > > > > Looks good. > > > > Could you please document the procedure to build generic image some > > where in the DPDK documentation. > > > > I guess the procedure will be same for x86 and arm64. Right? > > The "machine" meson option is already described in meson_options.txt, > is that enough? I meant, Documenting the steps to create the generic image i.e - Dmachine=default scheme to use generic build for meson based distribution build. Is it same for x86 too? meson configure -Dmachine=default meson build cd build ninja ninja install >
On Mon, 2019-01-14 at 10:35 +0000, Jerin Jacob Kollanukkaran wrote:
> On Mon, 2019-01-14 at 09:58 +0000, Luca Boccassi wrote:
> > On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> > > On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > > > External Email
> > > >
> > > > ---------------------------------------------------------------
> > > > ----
> > > > ---
> > > > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > > > 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>
> > > > > ---
> > > > > v2: fix typo in commit message, remove variable used only
> > > > > once
> > > > > v3: put back temporary variable, as "machine" gets
> > > > > overwritten
> > > > > by the function and loses the original value before we
> > > > > need
> > > > > it.
> > > > >
> > > > > config/arm/meson.build | 7 ++++++-
> > > > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > > > index dae55d6b2..614139534 100644
> > > > > --- a/config/arm/meson.build
> > > > > +++ b/config/arm/meson.build
> > > > > @@ -6,6 +6,7 @@
> > > > > march_opt = '-march=@0@'.format(machine)
> > > > >
> > > > > arm_force_native_march = false
> > > > > +arm_force_default_march = (machine == 'default')
> > > > >
> > > > > machine_args_generic = [
> > > > > ['default', ['-march=armv8-a+crc+crypto']],
> > > > > @@ -105,7 +106,11 @@ 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
> > > > > + cmd_output = cmd_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(
> > > >
> > > > Any chance for a quick review from the arm maintainers/devs?
> > > > Thanks!
> > >
> > > Looks good.
> > >
> > > Could you please document the procedure to build generic image
> > > some
> > > where in the DPDK documentation.
> > >
> > > I guess the procedure will be same for x86 and arm64. Right?
> >
> > The "machine" meson option is already described in
> > meson_options.txt,
> > is that enough?
>
> I meant, Documenting the steps to create the generic image i.e -
> Dmachine=default scheme to use generic build for meson based
> distribution build.
>
> Is it same for x86 too?
>
> meson configure -Dmachine=default
> meson build
> cd build
> ninja
> ninja install
Yes that's correct, for any architecture "-Dmachine=default" will pick
a stable baseline.
I can send a separate patch to update the doc with that command.
--
Kind regards,
Luca Boccassi
On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote: > 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> > --- > v2: fix typo in commit message, remove variable used only once > v3: put back temporary variable, as "machine" gets overwritten > by the function and loses the original value before we need > it. > > config/arm/meson.build | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/config/arm/meson.build b/config/arm/meson.build > index dae55d6b2..614139534 100644 > --- a/config/arm/meson.build > +++ b/config/arm/meson.build > @@ -6,6 +6,7 @@ > march_opt = '-march=@0@'.format(machine) > > arm_force_native_march = false > +arm_force_default_march = (machine == 'default') > > machine_args_generic = [ > ['default', ['-march=armv8-a+crc+crypto']], > @@ -105,7 +106,11 @@ 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 > + cmd_output = cmd_generic Isn't this assignment redundant as it is already done above? Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com> > + 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(
On Wed, 2019-03-20 at 05:01 +0000, Pavan Nikhilesh Bhagavatula wrote:
> On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > 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>
> > ---
> > v2: fix typo in commit message, remove variable used only once
> > v3: put back temporary variable, as "machine" gets overwritten
> > by the function and loses the original value before we need
> > it.
> >
> > config/arm/meson.build | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..614139534 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> > march_opt = '-march=@0@'.format(machine)
> >
> > arm_force_native_march = false
> > +arm_force_default_march = (machine == 'default')
> >
> > machine_args_generic = [
> > ['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ 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
> > + cmd_output = cmd_generic
>
> Isn't this assignment redundant as it is already done above?
>
> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Removed in v4, thanks.
--
Kind regards,
Luca Boccassi