04/02/2021 15:48, David Marchand: > On Thu, Feb 4, 2021 at 2:59 PM Thomas Monjalon <tho...@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
Yes easy. > > 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. Yes > > [...] > > > +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. OK, please add a comment. > 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.