DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev <dev@dpdk.org>, Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] [PATCH] devtools: select targets in build test
Date: Thu, 4 Feb 2021 15:48:33 +0100	[thread overview]
Message-ID: <CAJFAV8zDipzVHv736=dZ2EbabCt7=X8gqzSpLp3Q-X3XPfFYJg@mail.gmail.com> (raw)
In-Reply-To: <10271511.8fBPl8u87h@thomas>

On Thu, Feb 4, 2021 at 2:59 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 04/02/2021 14:34, David Marchand:
> > When a target compilation is broken, one way to skip the target is to
> > uninstall the associated toolchain.
> > But it is not always possible and you end up with hacking the script to
> > avoid this target until a fix is ready.
> >
> > It is also often quicker to check a fix on a failing target before
> > checking compilation on all targets.
> >
> > Introduce a variable to select targets.
> >
> > Example:
> > $ DPDK_BUILD_TEST_TARGETS=build-x86-mingw \
> >     ./devtools/test-meson-builds.sh
>
> With this solution, you need to list all targets you want to compile.

To fill the list, it is easy, with no understand of the script internals:
$ ls $HOME/builds
build-32b              build-arm64-dpaa        build-arm64-octeontx2
build-clang-static  build-gcc-static      build-x86-default
build-arm64-bluefield  build-arm64-host-clang  build-clang-shared
build-gcc-shared    build-ppc64le-power8  build-x86-mingw

>
> An alternative could be to disable a target in the config file
> based on the variable DPDK_TARGET set by load_env.
> One hack, which does not need any change in the script I think,
> is to set targetcc=disabled.
> Or we could check a well defined variable after calling load-devel-config.

A bit fragile since you are bound to this internal shell variable.
Putting logic in ~/.config/dpdk/devel.build is undocumented and more
tedious than passing an environment variable when running the script.


>
> [...]
> > +target_is_selected build-x86-default || exit 0
>
> Why this line?

If the build-x86-default was not compiled in this run because you did
not select it, the call to the install target after this check
triggers a compilation of this target.
This is not wanted from my pov, or at best confusing, because you
don't see anything with the default verbose:

$ DPDK_BUILD_TEST_TARGETS=build-x86-mingw ./devtools/test-meson-builds.sh
ninja: Entering directory `/home/dmarchan/builds/build-x86-mingw'
[...]
Found ninja-1.10.1 at /usr/bin/ninja
[19/19] Linking target examples/dpdk-helloworld.exe

^^ for some time you get no output, you have the impression the script
is stuck, while it is actually compiling the build-x86-default target.

Then,
## Building cmdline
## Building helloworld
## Building l2fwd
## Building l3fwd
## Building multi_process
## Building skeleton
## Building timer

Compiling those examples had nothing to do with the build-x86-mingw
target I was expecting.


-- 
David Marchand


  reply	other threads:[~2021-02-04 14:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-04 13:34 David Marchand
2021-02-04 13:59 ` Thomas Monjalon
2021-02-04 14:48   ` David Marchand [this message]
2021-02-04 15:48     ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJFAV8zDipzVHv736=dZ2EbabCt7=X8gqzSpLp3Q-X3XPfFYJg@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).