Hi

On Tue, Aug 3, 2021 at 1:50 PM Peter Maydell <peter.mayd...@linaro.org>
wrote:

> On Tue, 3 Aug 2021 at 10:08, Peter Maydell <peter.mayd...@linaro.org>
> wrote:
> > Are you testing by starting with a before-the-libslirp-merge
> > change QEMU, doing a build, then updating to the libslirp
> > changes, and then doing a 'make' without reconfigure or
> > 'make clean' ? I suspect this is perhaps to do with it being
> > an incremental build.
>
> More specifically:
>
> $ git checkout master
> $ mkdir build/slirptest
> $ (cd build/slirptest && ../../configure --target-list=arm-softmmu
> --enable-debug --disable-docs --disable-tools)
> $ make -C build/slirptest -j8
> $ git checkout remotes/elmarco/libslirp
> $ make -C build/slirptest
> $ mkdir build/slirp2
> $ (cd build/slirptest && ../../configure --target-list=arm-softmmu
> --enable-debug --disable-docs --disable-tools)
> $ make -C build/slirp2
>
> The build/slirptest directory has built a .so, and the
> build/slirp2 directory has built a static .a.
>
> (Both builds succeed because they're not hitting the clang
> static analyzer thing, but they shouldn't be building different
> types of library.)
>
> Running '../../meson/meson.py configure' in slirp2 gives
> (ignoring the non libslirp parts of the output):
>
> Subproject libslirp:
>
>   Core options                  Current Value
> Possible Values
> Description
>   ------------                  -------------
> ---------------
> -----------
>   libslirp:default_library      static
> [shared, static, both]                                        Default
> library type
>   libslirp:werror               true                           [true,
> false]                                                 Treat warnings
> as errors
>
>   Project options               Current Value
> Possible Values
> Description
>   ---------------               -------------
> ---------------
> -----------
>   libslirp:version_suffix
>                                                       Suffix to append
> to SLIRP_VERSION_STRING
>
> In slirptest I get only:
>
> Subproject libslirp:
>
>   Project options               Current Value
> Possible Values
> Description
>   ---------------               -------------
> ---------------
> -----------
>   libslirp:version_suffix
>                                                       Suffix to append
> to SLIRP_VERSION_STRING
>
>
> So somehow meson has failed to apply the default_library and werror
> options in
> the incremental build case.
>
>
Thanks for the detailed steps. It turns out that incremental build with
subprojects is broken with meson < 0.57.2 (
https://github.com/mesonbuild/meson/pull/8424).

Either we acknowledge that, or we fix the qemu meson.build for now with the
missing -lresolv for osx/bsd.

I am going to work on a patch for the second option, but leave the decision
open.





-- 
Marc-André Lureau

Reply via email to