On Sat, Oct 3, 2020 at 3:50 PM Paolo Bonzini <
pbonzini@redhat.com> wrote:
>
> On 03/10/20 09:24, 罗勇刚(Yonggang Luo) wrote:
> >
> >
> > On Fri, Oct 2, 2020 at 9:11 PM Peter Maydell <
peter.maydell@linaro.org> > <mailto:
peter.maydell@linaro.org>> wrote:
> >>
> >> On Fri, 2 Oct 2020 at 14:05, Paolo Bonzini <
pbonzini@redhat.com> > <mailto:
pbonzini@redhat.com>> wrote:
> >> >
> >> > On 02/10/20 14:35, Peter Maydell wrote:
> >> > >
> >> > > It would be better to do the "see if a static library is present"
> >> > > test. This isn't too hard to do in configure (compare that
> >> > > six line fix to the detection of libgio). Hopefully it is
> >> > > not too hard to do in meson ?
> >> >
> >> > Yes, something like:
> >> >
> >> > if enable_static
> >> > skeleton = 'int main(void) { return 0; }'
> >> > if not cc.links(skeleton, dependencies: libudev)
> >> > if get_option('mpath').enabled()
> >> > error('Cannot link with libudev')
> >> > else
> >> > warning('Cannot link with libudev, disabling')
> >> > libudev = not_found
> >> > endif
> >> > endif
> >> > endif
> >> > endif
> >>
> >> This duplicates the information that the thing that depends
> >> on libudev is mpath. Can we put this in a wrapper around
> >> dependency() so that we could just say something like
> >> libudev = compile_checked_dependency('libudev',
> >> required: get_option('mpath').enabled(),
> >> static: enable_static)
> >>
> > Hi Bonzini,
> > This looks like a frequently used function, can we upstrem to meson?
>
> Yes, I think adding a "links" argument to dependency (similar to
> find_library's has_headers argument) makes sense. That would be written
>
> dependency('libudev',
> required: get_option('mpath').enabled(),
> static: enable_static,
> links: skeleton)
make sense, may also need extra cflags and link flags.
>
> But anyway that shouldn't be a blocker for more improvements to qemu's
> meson.build. Now that we have 5-10 dependencies converted we have a
> clearer idea of how to abstract the tests.
>
> Paolo
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo