[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] meson: Propagate gnutls dependency
From: |
Roman Bolshakov |
Subject: |
Re: [PATCH] meson: Propagate gnutls dependency |
Date: |
Thu, 7 Jan 2021 22:36:20 +0300 |
On Thu, Jan 07, 2021 at 07:22:06PM +0100, Paolo Bonzini wrote:
> On 07/01/21 19:18, Roman Bolshakov wrote:
> >
> > > The real issue is that Meson's implementation of link_whole for
> > > library-in-library makes sense for one use case (convenience library that
> > > is
> > > linked into another convenience library) but not for another (grouping
> > > code
> > > for subsystems). I cannot blame them for this because link_with is a more
> > > common case for the latter; OTOH QEMU is using link_whole a lot in order
> > > to
> > > support the *_init() construct.
> > >
> > > I really think the correct fix is for Meson to use objects instead of
> > > archives for link_whole, similar to how QEMU Makefiles used to do it. This
> > > would also remove the need for the special .fa suffix, so it would be an
> > > improvement all around.
> > >
> > Does it mean that we need a kind of object target in meson? Do you think
> > if this interface would work?
> >
> > crypto_objs = object_library(..., dependencies: public_deps +
> > [aninternaldep])
> > crypto = declare_dependency(link_with: crypto_objs, dependencies:
> > public_deps)
>
> No I think that Meson should simply explode link_whole libraries to their
> constituent objects. This way duplicates are avoided.
>
Ok. I've looked through related changes in meson and it flattens object
files implicitly for link_with/link_whole parameters of static_library:
https://github.com/mesonbuild/meson/pull/6030/files
But qemu adds dependencies to source set and populates dependencies
parameter of static_library and declare_dependency and we get duplicate
symbols:
https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg00411.html
Perhaps it's a bug then.
Regards,
Roman
- Re: [PATCH] meson: Propagate gnutls dependency, (continued)
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/02
- Re: [PATCH] meson: Propagate gnutls dependency, Roman Bolshakov, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Roman Bolshakov, 2021/01/05
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/05
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency, Roman Bolshakov, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency, Roman Bolshakov, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency,
Roman Bolshakov <=
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/07
- Re: [PATCH] meson: Propagate gnutls dependency, Roman Bolshakov, 2021/01/08
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/08
Re: [PATCH] meson: Propagate gnutls dependency, Daniel P . Berrangé, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Peter Maydell, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Peter Maydell, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Paolo Bonzini, 2021/01/04
- Re: [PATCH] meson: Propagate gnutls dependency, Peter Maydell, 2021/01/04